xelatex(pandoc)无法显示UTF-8字符

xelatex(pandoc)无法显示UTF-8字符

我使用 XeLaTeXpandoc从 markdown 文件生成 PDF:但“⇒”字符 (UTF8) 无法正确生成(它未显示在输出文件中)。是否可以在不使用的情况下将“⇒”字符从 markdown 转换为 PDF $\Rightarrow$

(我已经在使用xunicodexlxstra包)

答案1

Pandoc 正确转换了文件。如果你用文本编辑器打开生成的文件,你会看到 ⇒ 符号,这意味着 pandoc 做得很好。

问题在于您使用的文本字体(可能是 Latin Modern)不包含 ⇒ 字符。如果您将字体更改为包含 ⇒ 符号的其他字体(例如 iwona),它将按预期显示。

如果您想继续使用 Latin Modern 作为正文字体,这里有一个小技巧,它从数学字体中获取 ⇒ 符号(这是一个普通的 TeX 解决方案,也许 LaTeX 提供了一些很好的抽象):将以下代码放入fixRightarrow.tex

\catcode`\⇒\active
\def⇒{$\Rightarrow$}

并使用参数调用 pandoc --include-before-body

pandoc \
  --include-before-body=fixRightarrow.tex \
  --to=latex                              \
  --output=output.tex                     \
  input.md

相关内容