如何在 LaTeX 中输入 Unicode 字符?我需要安装哪些软件包以及输入哪些转义序列才能在 ASCII 源文件中指定 Unicode 字符?
答案1
答案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}