2013-11-25 14 views
5

Djangoテンプレートを使用してPDFファイルを作成するために、ラテックスを使用したいと考えています。Djangoテンプレートとラテックス

しかし、PDFファイルを生成するとき、いくつかの文字は、特に '(アポストロフィ):いいえ、エンコードされません:ラテックスはコンパイルを停止し、エラーを無視すると、出力は&#39です。

私はフランス語ですので、私のPythonファイルはUTF-8です。私のデータベースUTF8-general-CIと私はこれらのパッケージをLatexに使用しています:[utf8] {inputenc} [T1] {fonntc} [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} 

例えばタイトル= Visite D'アダムた場合、出力は

オブジェになります。ビジターd &#39アダム

ここ

はログです:

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

答えて

8

これは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 %} 
+0

10分で答えることができます!ありがとう@ルドウィック。 – lebastidien09