2013-11-25 3 views
5

Ich möchte Latex verwenden, um PDF-Dateien mit meinen Django-Vorlagen zu erstellen.Django Vorlage und Latex

Aber, wenn es die PDF-Datei erzeugt, sind einige Zeichen nicht auf eine gute Weise codiert, vor allem die '(Apostroph): Latex stoppt die Kompilierung und wenn ich den Fehler ignoriere, ist die Ausgabe & # 39.

ich Französisch bin, so meine Python-Dateien sind UTF8, meine Datenbank UTF8-general-CI und ich verwende diese Pakete für Latex: [utf8] {inputenc} [T1] {fontenc} [francais] { babel} {lmodern}

Alle französischen Akzenten werden erzeugt, also weiß ich nicht, wo das Problem ist?

Irgendeine Idee?

Hier ist meine Ansicht:

# -*- 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) 

Und meine Vorlage:

\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} 

Zum Beispiel, wenn title = Visite d'Adam, wird der Ausgang

Objet sein: Visite d & # 39Adam

Hier ist das Protokoll:

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

Antwort

8

Dies ist ein Ergebnis von automatic HTML escaping. Da Sie kein HTML erzeugen, können Sie 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

Beantwortet in 10 Minuten ... und es funktioniert! Danke @Ludwik. – lebastidien09