咖啡馆中的é,Gauß中的ß,señor中的ñ。西方文本充满了位于字母上方或下方的重音(变音符号)。 LaTeX可以用命令来设置它们:为ó写\'{o},或为ñ写\~{n}。本页列出了文本模式重音命令,然后涵盖了一个关键的现代点 - 使用今天的LaTeX,您通常可以直接键入 é 或 ñ - 以及使重音词表现出行为的 fontenc 设置。
重音命令如何工作
文本模式重音采用单字符命令的形式,并将要重音的字母作为其参数。例如,锐音符是\',其参数是{o},因此\'{o} 给出ó。当参数是单个字母时,大括号是可选的 - \'o 也可以 - 但明确地包裹它,如\'{o},消除了参数结束位置的任何歧义,并且是更安全的习惯。
有两种。有些以 标点符号本身 命名 - \'、` \ `、\^、\~、\" - 有些以 ** 单字母 ** 命名,例如\c、\v、\u、\H。因为第二种是字母,所以您必须在其后跟 **space**,如 \c c(c → ç 上的变音符号),或者使用大括号;否则 \cc 读取为不同的命令。用大括号编写 \c{c}` 完全避免了这个问题。
请注意,这些都是仅限文本模式。要在*数学*中的符号上添加标记,可以使用数学重音 \hat{x}、\tilde{x}、\bar{x} 等(在“上方/下方装饰”页面中介绍)。文本\^ 和数学\hat 是不同的东西——不要混淆它们。
重音命令
以下是主要的文本模式重音命令,每个命令都有示例和标记名称。每行以命令本身开头(例如锐音符号是\'),后面是将其应用于{o}(等)的结果以及变音符号的名称。
| 命令 | 示例 | 姓名 |
|---|---|---|
\' | ó | 急性 |
\` | ò | 坟墓 |
\^ | ô | Circumflex(帽子) |
\" | ö | 元音变音 / 分音符 |
\~ | ñ | 波浪线 |
\= | ō | 马克龙 |
\. | ů | 点过 |
\u | ŏ | 布雷夫 |
\v | č | 卡隆/háček |
\H | ő | 双锐音(匈牙利变音符号) |
\c | ç | 塞迪拉(下) |
\k | ą | 奥戈内克(下) |
\r | å | 响铃结束 |
\b | o̲ | 酒吧下 |
\d | ọ | 下的点 |
\t | o͡o | 后缀(跨两个字母) |
最后三个有点特别。 \b 是下面的横线,\d 是下面的点——两者都位于字母的下方。 \t 是一个跨越两个字母的领带,因此采用 两个字符 参数,如 \t{oo}(例如,用于罗马化西里尔字母)。下面的标记或其他不寻常的标记 — \c、\k、\b、\d、\t — 在加载 T1 fontenc 编码(如下)时最可靠。
无点 i 和 j
在 i 或 j 上加重音需要一个额外的步骤。这些字母的顶部已经带有一个点,因此在其上方堆叠重音符号会与该点发生冲突。为此,LaTeX 提供了 无点 i \i (ı) 和 无点 j \j (ş);你把重音放在这些上面。
例如,带尖音符号的 i 写作 \'{\i} 并产生 í (而 \'{i} 将位于点的顶部)。这里命令的参数本身就是命令\i。相反,如果您在现代 LaTeX 中直接键入 í ,则引擎会为您处理该点,并且这种担忧就会消失(下一节)。
% accenting i and j: use the dotless forms
Na\'{\i}ve, \^{\j} % gives Naíve and ĵ
% compare: plain \'{i} would stack on the dot现代LaTeX,只需键入它
这是最重要的一点。 现代 LaTeX 默认为 UTF-8 (自 TeX Live 2018 起),因此,如果您直接 直接在源文件中键入 é、ñ、ö 或 ß,它们会按原样排版。您通常根本不需要记住重音命令——只需从键盘或输入法输入字符即可。 2018 年之前,您必须显式编写 \usepackage[utf8]{inputenc};今天这是不必要的(尽管如果存在的话也是无害的)。
但是,当您使用pdfLaTeX 时,强烈建议加载\usepackage[T1]{fontenc},原因有两个。首先,默认的 OT1 编码没有作为单个字形的重音字母,因此它们是用 \accent 构建的 - 并且使用这种构建的重音的任何单词不会被连字符(在行尾正确断开)。对于T1,重音字母是单个字形并正确连接。其次,因为它是作为一个字形发出的,所以生成的 PDF 中的复制粘贴和搜索会按预期运行。
相比之下,LuaLaTeX 和XeLaTeX 从一开始就假定 Unicode 和系统字体,因此基本上不需要 fontenc — 选择带有 fontspec 和重音字符的字体就可以了。有关日语与西方文本混合的大图,请参阅“TeX/LaTeX 和日语”。简而言之:用pdfLaTeX,加载T1;使用Lua/XeLaTeX,不用担心。
\documentclass{article}
\usepackage[T1]{fontenc} % pdfLaTeX: glyphs + hyphenation
% (UTF-8 input is the default since 2018; no inputenc needed)
\begin{document}
Un café à Montréal, señor Gauß.
\end{document}特定语言的字母
有些标记不是放在字母上的重音符号,而是字母本身。这些命令不带任何参数——命令本身就是字符。以下是常见的。
| 命令 | 信 | 用于 |
|---|---|---|
\oe | – | 法语连字 (cœur) |
\ae | æ | 拉丁语/北欧连字 |
\o | ø | 丹麦语 / 挪威语 |
\aa | å | 斯堪的纳维亚 |
\ss | ß | 德国 eszett |
\l | ł | 波兰禁止L |
大写字母为 \OE (Œ)、\AE (Æ)、\O (Ø)、\AA (Å)、\L (Ł)。加载 T1(或其他合适的 fontenc 编码)后,您还可以获得冰岛语、克罗地亚语等的 \dh (ð)、\th (þ)、\dj (đ) 和 \ng (ŋ) 等字母(这些在默认 OT1 中不可用)。这里的快捷方式也是相同的:在 UTF-8 源中,只需直接键入 œ 或 ß。
工作示例
让我们设置一些带有重音命令的单词。命令形式在左侧,注释显示输出。在可以直接输入的情况下,只需编写 résumé、naïve、Gauß 即可得到相同的结果。
r\'{e}sum\'{e} % résumé
na\"{\i}ve % naïve (dotless i under the dieresis)
se\~{n}or % señor
G\"{o}del, Gau\ss{} % Gödel, Gauß
\^{a}ge, \c{c}a va % âge, ça va
\H{o}r\'{a}n % őrán (Hungarian double acute)总之:通过将字母作为命令的参数传递来在字母上打上标记(对 i 和 j 使用无点 \i/\j); 使用独立字母的专用命令(\ss等);最重要的是,在现代 LaTeX 中,直接输入是最短路径 - 只需记住 \usepackage[T1]{fontenc} 和 pdfLaTeX 即可。这就是你在实践中所需要的。
重音文本的团队策略
在带有参考文献、作者姓名和地名的手稿中,尽早决定如何输入重音文本。直接 UTF-8 输入是当今最短路径,但旧的 BibTeX 样式、发布者处理和协作者环境可能会留下与 \'{e} 混合的源。两者都可以正确排版,但混合使用它们会使搜索、替换和重复检查变得更加困难,因此每个项目选择一项策略。
- 默认在正文中直接使用UTF-8。使用LuaLaTeX / XeLaTeX尤其自然,现代LaTeX通常也在pdfLaTeX下读取它。
- 检查pdfLaTeX下的T1。 加载
\usepackage[T1]{fontenc}以进行西文连字、复制粘贴和搜索。 - 将
.bib文件与地点进行匹配。 如果发布者要求使用 ASCII 宏表示法,请将名称标准化为G\"{o}del和类似形式。 - 注意 i 和 j 的命令表示法。 编写重音命令时,请使用无点字母(例如
na\"{\i}ve)以避免堆叠点。
检查姓名和参考书目数据
重音错误最明显的表现不是在正文中,而是在参考书目中。如果像 García、Gödel 和 Kovář 这样的名字在一个 .bib 条目中显示为直接 UTF-8,在另一个条目中显示为 G\'{a}rcia 等命令符号,并且在第三个条目中没有重音符号,则重复检测和排序会变得更加困难。在项目早期,仅打印一次参考书目并规范数据库中的名称拼写。还要检查 BibTeX 生成的 .bbl,这样您就可以发现源正确但打印的参考书目丢失重音的情况。
- 对同一名称使用一种输入样式。 选择直接 UTF-8 或命令表示法,并避免在项目中混合使用两者。
- 在pdfLaTeX 下,使用T1 进行测试。 检查连字符、PDF 搜索以及复制粘贴重音单词。
- 检查场地的处理系统。 如果较旧的发布者工作流程要求 ASCII 命令表示法,请将
.bib文件与该策略对齐。