使用 pandoc 时获取标点符号前的 babel-french 自动空格

使用 pandoc 时获取标点符号前的 babel-french 自动空格

我正在努力pandoc使用 LaTeX 将 Markdown 转换为 PDF 来生成符合法语排版规则的 PDF不可破坏的空间

这里的建议似乎不起作用,例如pandoc test.md -V lang:fr-FR -o test.pdfpandoc test.md -M lang:fr-FR -o test.pdf

我错过了什么?我在 Ubuntu 16.04 上使用pandoc2.7.3。目标是从 Markdown 文件开始,text.md例如a;b并在输出中获得一个 PDF 文件,显示a ;b空格不可中断的位置。

答案1

LaTeX 输出的默认pandoc模板似乎shorthands=offbabel选项中强制使用。事实上,运行后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

相关内容