Obtención de espacios automáticos en babel-french antes de la puntuación al utilizar pandoc

Obtención de espacios automáticos en babel-french antes de la puntuación al utilizar pandoc

Estoy tratando de lograr pandoc(que convierte Markdown a PDF usando LaTeX) producir archivos PDF que respeten las reglas de composición tipográfica francesas relativasespacios irrompibles.

Las sugerencias aquíno parecen funcionar, por ejemplo pandoc test.md -V lang:fr-FR -o test.pdfo pandoc test.md -M lang:fr-FR -o test.pdf.

¿Qué me estoy perdiendo? Estoy usando pandoc2.7.3 en Ubuntu 16.04. El objetivo es comenzar con un archivo Markdown text.mdcomo a;by obtener como resultado un archivo PDF que muestre a ;bdónde el espacio es irrompible.

Respuesta1

La pandocplantilla predeterminada para la salida LaTeX parece forzar shorthands=offlas babelopciones. De hecho, después de ejecutar pandoc -D latex >default.latex, deberías 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=offopción elimina la función que desea. Puedes solucionar esto de la siguiente manera:

  1. Obtenga la plantilla LaTeX predeterminada en un archivo llamado mytemplate.latex:

    pandoc -D latex >mytemplate.latex
    
  2. En mytemplate.latex, use su editor de texto favorito para eliminar la shorthands=offopción pasada a babel.

  3. Compilar con:

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

Esto debería funcionar si mytemplate.latexestá en el directorio actual o en ~/.pandoc/templates.

información relacionada