
Я пытаюсь получить pandoc
(который преобразует Markdown в PDF с помощью LaTeX) для создания PDF-файлов, которые соответствуют французским правилам набора текста, касающимсянеразрывные пробелы.
Предложения здесьпохоже, не работают, например, pandoc test.md -V lang:fr-FR -o test.pdf
или pandoc test.md -M lang:fr-FR -o test.pdf
.
Что я упускаю? Я использую pandoc
2.7.3 на Ubuntu 16.04. Цель состоит в том, чтобы начать с файла Markdown, text.md
например, a;b
и получить на выходе файл PDF, показывающий, a ;b
где пробел неразрывный.
решение1
Шаблон по умолчанию pandoc
для вывода LaTeX, похоже, принудительно shorthands=off
вводит babel
параметры. Действительно, после запуска pandoc -D latex >default.latex
вы должны увидеть:
\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}
Эта shorthands=off
опция убивает нужную вам функцию. Вы можете исправить это следующим образом:
Получите шаблон LaTeX по умолчанию в файле с именем
mytemplate.latex
:pandoc -D latex >mytemplate.latex
В
mytemplate.latex
, используйте ваш любимый текстовый редактор, чтобы удалитьshorthands=off
параметр, переданныйbabel
.Компилировать с помощью:
pandoc -f markdown -t latex -M lang:fr-FR --template=mytemplate -o test.pdf test.md
Это должно работать, если mytemplate.latex
находится либо в текущем каталоге, либо в ~/.pandoc/templates
.