【问题标题】:Django template and latexDjango模板和乳胶
【发布时间】:2013-11-25 13:47:56
【问题描述】:

我想使用 Latex 和我的 Django 模板创建 PDF 文件。

但是,当它生成 PDF 文件时,某些字符的编码方式不正确,尤其是 '(撇号):Latex 停止编译,如果我忽略该错误,则输出为 '。

我是法国人,所以我的 Python 文件是 UTF-8,我的数据库是 UTF8-general-CI,我将这些包用于 Latex:[utf8]{inputenc} [T1]{fontenc} [francais] {babel} {lmodern}

所有法语口音都生成了,不知道问题出在哪里?

有什么想法吗?

这是我的看法:

# -*- coding: utf-8 -*-
...
def results_contact(request, checkup_id):
    ...
    title = get_object_or_404(Checkup, pk=checkup_id).name
    ...

    template_file = 'activities/results.tex'

    t = loader.get_template(template_file)
    context = Context({
              ...
              "title":    title,
              ...
              })

    ...
    f.write(smart_str(t.render(context)))
    ...
    return HttpResponseRedirect('/download_file/upload/checkups/%s.pdf' % basename)

还有我的模板:

\documentclass[11pt]{lettre}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{lmodern}
...

\begin{document}
\begin{letter}{...}
\name{My name}
\address{My address}
\lieu{My city}
...
\conc{ {{ title }} } %here is my variable
...
\end{letter}
\end{document}

例如,如果title=Visite d'Adam,输出将是

对象:访问 d'Adam

这是日志:

! Misplaced alignment tab character &.
<argument> Visite d&
                        ##39;embauche
l.35 \conc{ Visite d&#39;Adam }
?

【问题讨论】:

    标签: django templates latex


    【解决方案1】:

    这是automatic HTML escaping 的结果。由于您没有生成 HTML,您可以turn this feature off:

    {% autoescape off %}
        \documentclass[11pt]{lettre}
        \usepackage[utf8]{inputenc}
        \usepackage[T1]{fontenc}
        \usepackage[francais]{babel}
        \usepackage{lmodern}
        ...
    
        \begin{document}
            \begin{letter}{...}
                \name{My name}
                \address{My address}
                \lieu{My city}
                ...
                \conc{ {{ title }} }
            ...
            \end{letter}
        \end{document}
    {% endautoescape %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多