1 votos

Problema de pandoc con unicode

En MacOS 12.6.9, intento convertir un archivo Markdown a PDF. Para esto, estoy usando pandoc 3.1.2, instalado con Homebrew. Hay problemas al convertir los caracteres y , los cuales uso para expresar fórmulas lógicas. Por ejemplo, con este archivo utf.md

X  Y  Z

que en hexadecimal (xxd utf.md) sería

5820 e288 a720 5920 e288 a820 5a0a 0a

y con LANG configurado en en_GB.UTF-8, el comando pandoc -s -o utf.pdf utf.md produce el mensaje de error

Error producing PDF.
! LaTeX Error: Unicode character  (U+2227)
           not set up for use with LaTeX.

Buscando en Google sobre el problema, encontré la sugerencia de usar xelatex como motor de LaTeX. Así que intenté

pandoc -s --pdf-engine=xelatex -o utf.pdf utf.md

Esto resultó en

[ADVERTENCIA] Carácter faltante: No hay  (U+2227) (U+2227) en la fuente [lmroman10-regular]:mapping=t
[ADVERTENCIA] Carácter faltante: No hay  (U+2228) (U+2228) en la fuente [lmroman10-regular]:mapping=t

y, como era de esperar, el archivo pdf generado no incluía esos dos caracteres. Concluyo que la fuente (lmroman10-regular) no incluye glifos para estos caracteres.

Ahora mi pregunta es: ¿Qué fuente sería adecuada aquí, y cómo especifico esa fuente para pandoc?

ACTUALIZACIÓN

Sobre la fuente reportada por Pandoc (lmroman10): Miré las fuentes instaladas en mi Mac (usando la aplicación Font Book), y no hay una fuente llamada lmroman, así que me pregunto de dónde obtiene pandoc esta fuente.

1voto

Yoan Puntos 1

Debes intentar actualizar tus paquetes de brew con brew upgrade - esto será útil para una versión más nueva de pandoc, ya que, a partir de mayo de 2022 en Markdown, puedes insertar expresiones en línea con $ $ o expresiones de bloque con $$ $$. En lugar de los símbolos utf utilizados por ti, intenta usar los símbolos LaTeX \lor y \land para expresiones lógicas, por lo que tu expresión matemática debería ser $ X \land Y \lor Z $.

En cuanto a las fuentes, asumo que tienes LaTeX instalado, por lo que las fuentes Latin modern están en por ejemplo /usr/local/texlive/2022/texmf-dist/fonts/opentype/public/lm.

La expresión anterior rendereada en .pdf:

enter image description here

Deberías revisar la versión de pandoc (la mía es 3.1.7 en Ventura). Por favor ten en cuenta que no elegí/configuré ninguna fuente LaTeX - lo que ves es el trabajo de pandoc. Esto se logra con katex o mathjax en la etapa de exportación. Además, la exportación a html es fácil, con este comando: --from=markdown --to=html5 --standalone --katex --template=elegant_bootstrap_menu.html (elige una plantilla html propia) El resultado:

enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X