在 LaTeX 中输入 Unicode 字符

在 LaTeX 中输入 Unicode 字符

如何在 LaTeX 中输入 Unicode 字符?我需要安装哪些软件包以及输入哪些转义序列才能在 ASCII 源文件中指定 Unicode 字符?

答案1

您是否考虑过使用特克斯? 这是 TeX 的改编版,添加了 Unicode 支持,并包含在最新的TeX 直播微特克斯分布。这维基百科文章给出了很好的介绍。

答案2

在此上下文中,“Unicode”可能表示在输入中或在输出中。我假设您希望将“©”之类的内容插入到源中并使其发挥有意义的作用。

要获得对 unicode 输入和 unicode 字体的全面支持,请查看 XeTeX;它很容易上手 — 只需选择合适的字体,输入中的 unicode 字符就会直接排版为输出中的 unicode 字形。不过,切换引擎并不总是可行的,有时你会希望坚持使用 pdfTeX 以获得其他有用的功能。

常规 LaTeX(即基于现代发行版中的 pdfTeX)所能做的最好的事情是识别文本中的 UTF-8 序列并根据它所看到的内容扩展宏。加载包inputenc以选择 UTF-8 输入编码:

\usepackage[utf8]{inputenc}

请注意,生成的输入文件开头不能有字节顺序标记 (BOM),否则将无法编译。(您也可以使用[utf8x]覆盖范围更广但支持程度较低的选项。我没有使用此选项的经验。)

要定义 unicode 字符的行为,请使用\DeclareUnicodeCharacter随后定义的命令。以下是将控制序列绑定到输入字符“—”的示例\dash;即源代码中的文字长破折号 U+2014:

\DeclareUnicodeCharacter{2014}{\dash}

\dash然后可以按照通常的方式定义;我使用:

\DeclareRobustCommand\dash{%
  \unskip\nobreak\thinspace\textemdash\allowbreak\thinspace\ignorespaces}

这定义了一个破折号,其两边都有一个小空格,并且只允许换行它。

答案3

这是一个最小的例子,它最终在我不使用 XeTeX 的情况下起作用了:

\documentclass{article}
\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}

\begin{document}
    The vorticity $ω$ is defined as $ω = ∇ × u$.
\end{document}

答案4

如果有人对任何答案都不满意:我刚刚遇到了同样的问题,并想出了自己的小解决方案。我不想深入研究其他发行版,而是继续使用 pdflatex。所以我在墨景,放入字符,裁剪,并保存为 pdf。您可以像这样将 pdf 包含在您的文档中:

\includegraphics[width=1em]{symbol.pdf}

相关内容