Я хочу использовать латекс для создания PDF-файлов с помощью шаблонов Django.Django template and latex
Но, когда он генерирует PDF-файл, некоторые символы не кодируются в хорошем смысле, особенно в «апострофе»: латекс останавливает компиляцию и, если я игнорирую ошибку, вывод & # 39.
Я французский, поэтому мои файлы Python - это UTF-8, моя база данных UTF8-general-CI, и я использую эти пакеты для латекса: [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}
Например, если название = Visite d'Adam, выход будет
Objet: Visite d & # 39Adam
Вот лог:
! Misplaced alignment tab character &.
<argument> Visite d&
##39;embauche
l.35 \conc{ Visite d'Adam }
?
Ответил в 10 минут ... и он работает! Спасибо @ Ludwik. – lebastidien09