我的设置适用于 UTF-8 或转义的 LaTex 印刷字符,我应该使用其中一个吗?

我的设置适用于 UTF-8 或转义的 LaTex 印刷字符,我应该使用其中一个吗?

我在用着潘多克将 Markdown 文件初步转换为 LaTex。我有两个问题:

  1. 我在所有文档中都使用 UTF-8,没有任何问题,并且可以从 LaTeX 输出带有 UTF-8 和转义字符的 PDF(请参阅下面的示例输入和输出)。当上面的等效 UTF-8 字符在输出中显示正常时,是否有理由在我的 LaTex 源文本中使用转义字符?

  2. 生成 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}

相关内容