Obtendo espaços automáticos babel-francês antes da pontuação ao usar o pandoc

Obtendo espaços automáticos babel-francês antes da pontuação ao usar o pandoc

Estou tentando fazer com que pandoc(que converte Markdown em PDF usando LaTeX) produza PDFs que respeitem as regras de composição tipográfica francesa relativasespaços inquebráveis.

As sugestões aquinão parecem funcionar, por exemplo, pandoc test.md -V lang:fr-FR -o test.pdfou pandoc test.md -M lang:fr-FR -o test.pdf.

o que estou perdendo? Estou usando pandoc2.7.3 no Ubuntu 16.04. O objetivo é começar com um arquivo Markdown text.mdcomo a;be obter na saída um arquivo PDF mostrando a ;bonde o espaço é inquebrável.

Responder1

O pandocmodelo padrão para saída LaTeX parece forçar shorthands=offas babelopções. Na verdade, depois de executar pandoc -D latex >default.latex, você deverá ver:

\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}

Esta shorthands=offopção elimina o recurso que você deseja. Você pode corrigir isso da seguinte maneira:

  1. Obtenha o modelo LaTeX padrão em um arquivo chamado mytemplate.latex:

    pandoc -D latex >mytemplate.latex
    
  2. Em mytemplate.latex, use seu editor de texto favorito para remover a shorthands=offopção passada para babel.

  3. Ajuntar com:

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

Isso deve funcionar se mytemplate.latexestiver no diretório atual ou no arquivo ~/.pandoc/templates.

informação relacionada