
Ich versuche, pandoc
(das Markdown mit LaTeX in PDF konvertiert) PDFs zu erstellen, die die französischen Satzregeln einhalten, in Bezug aufgeschützte Leerzeichen.
Die Vorschläge hierscheinen nicht zu funktionieren, zB pandoc test.md -V lang:fr-FR -o test.pdf
oder pandoc test.md -M lang:fr-FR -o test.pdf
.
Was übersehe ich? Ich verwende pandoc
2.7.3 auf Ubuntu 16.04. Das Ziel ist, mit einer Markdown-Datei text.md
wie zu beginnen a;b
und als Ausgabe eine PDF-Datei zu erhalten, die zeigt, a ;b
wo der Leerraum nicht umbrechbar ist.
Antwort1
Die Standardvorlage pandoc
für die LaTeX-Ausgabe scheint shorthands=off
die babel
Optionen zu erzwingen. Tatsächlich pandoc -D latex >default.latex
sollten Sie nach dem Ausführen Folgendes sehen:
\PassOptionsToPackage{unicode=true}{hyperref} % options for packages loaded elsewhere
(...)
$if(lang)$
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
$if(babel-newcommands)$
$babel-newcommands$
$endif$
\else
(...)
\end{document}
Diese shorthands=off
Option deaktiviert die gewünschte Funktion. Sie können dies folgendermaßen beheben:
Holen Sie sich die Standard-LaTeX-Vorlage in einer Datei mit dem Namen
mytemplate.latex
:pandoc -D latex >mytemplate.latex
Verwenden Sie in
mytemplate.latex
Ihren bevorzugten Texteditor, um dieshorthands=off
an übergebene Option zu entfernenbabel
.Kompilieren mit:
pandoc -f markdown -t latex -M lang:fr-FR --template=mytemplate -o test.pdf test.md
Dies sollte funktionieren, wenn mytemplate.latex
es sich entweder im aktuellen Verzeichnis oder in befindet ~/.pandoc/templates
.