Получение babel-french автоматических пробелов перед знаками препинания при использовании pandoc

Получение babel-french автоматических пробелов перед знаками препинания при использовании pandoc

Я пытаюсь получить 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.

Что я упускаю? Я использую pandoc2.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опция убивает нужную вам функцию. Вы можете исправить это следующим образом:

  1. Получите шаблон LaTeX по умолчанию в файле с именем mytemplate.latex:

    pandoc -D latex >mytemplate.latex
    
  2. В mytemplate.latex, используйте ваш любимый текстовый редактор, чтобы удалить shorthands=offпараметр, переданный babel.

  3. Компилировать с помощью:

    pandoc -f markdown -t latex -M lang:fr-FR --template=mytemplate -o test.pdf test.md
    

Это должно работать, если mytemplate.latexнаходится либо в текущем каталоге, либо в ~/.pandoc/templates.

Связанный контент