我在用着潘多克将 Markdown 文件初步转换为 LaTex。我有两个问题:
我在所有文档中都使用 UTF-8,没有任何问题,并且可以从 LaTeX 输出带有 UTF-8 和转义字符的 PDF(请参阅下面的示例输入和输出)。当上面的等效 UTF-8 字符在输出中显示正常时,是否有理由在我的 LaTex 源文本中使用转义字符?
生成 LaTeX 时,Pandoc 会将我的 Markdown 中的所有 UTF-8 字符转换为 LaTeX 转义字符。我尝试过独立
-s
标志,但无济于事。如果其他使用 Pandoc Markdown 到 LaTeX 转换的人知道如何防止这种情况发生,我将不胜感激(但请参阅下面的更新)。
我希望此测试输入在 .text 输出文件中保持未转换状态:
Some UTF-8 ‘characters’ in “this document” are ellipsis… plus—emdash—and en–dash.
但 Pandoc 输出给我:
Some UTF-8 `characters' in ``this document'' are ellipsis\ldots{} plus---emdash---and en--dash.
更新: 这Pandoc-smart
扩展处理除之外的所有内容…
,但仍会生成\ldots{}
:
Some UTF-8 ‘characters’ in “this document” are ellipsis\ldots{} plus—emdash—and en–dash.
答案1
它与乳胶没有太大区别。
本质上,如果您使用 pdflatex,则 unicode 字符将扩展为经典的 ascii 标记,如果您使用 lulatex 或 xelatex,则经典的 ascii 标记将扩展为 unicode 字符,因此无论哪种方式,它们最终都是相同的。
当然不是全部latex 中的命令会扩展为 Unicode 字符,但您可以查看列表,其中tex/latex/base/tuenc.def
显示了大约 500 个默认定义的重音和复合词命令,例如:\c{c}
由于ç
\DeclareUnicodeComposite{\c} {c}{"00E7}
相反,并非所有的 unicode 都映射到 pdflatex 中的命令,但大多数常见的欧洲口音都映射到命令,您可以根据需要添加更多。由于在 pdflatex 中的定义,因此ç
扩展为\c{c}
utf8enc.dfu
\DeclareUnicodeCharacter{00E7}{\c c}