在正文(text mode)中,有时需要输入 ©、®、™、€、‰、°、•、§ 这样的符号,或复选标记、品牌图标。它们不属于数学模式,而是由几个包分工处理。核心有四类:标准 LaTeX 的 TS1(textcomp) 符号、用编号调用 Zapf Dingbats 的 pifont、按名称调用数千个图标的 fontawesome5,以及处理日文圆圈数字和异体字的 otf 系列。本页整理它们分别适合什么场景、可用于哪些引擎,并汇总成便于查找的表格。
文本符号的概念
首先要记住:这里的符号是 在正文中使用,而不是在数学模式中使用。像 \alpha 这样的希腊字母和 \times 这样的运算符应放在数学模式($ ... $)里,但版权标记 © 或温度符号 ℃ 是句子的一部分,直接放在正文中。因此这里的命令大多以 text 开头,例如 \textcopyright 和 \textdegree。
第二点也很重要:能用哪些符号取决于引擎。textcomp 的符号和 pifont 在 任何引擎 下都可用,包括 pdfLaTeX。fontawesome5 在 pdfLaTeX 下可使用免费图标,但若要完整使用所有图标和不同字重,需要 XeLaTeX 或 LuaLaTeX(Unicode 引擎)。日文 otf 包 仅适用于 pLaTeX / upLaTeX,不能在 pdfLaTeX 下运行(LuaLaTeX 使用 luatexja-otf,XeLaTeX 使用 zxotf 承担同样角色)。表格最后一列会标明这些对应关系。
textcomp(TS1)符号
“正文中出现的符号”——© ® ™ € ‰ ° ℃ • ¶ § ¥ ¢ £——集中在 TS1(Text Companion)编码 中。过去要使用它们需要 \usepackage{textcomp},但 2020-02-02 发布的 LaTeX 内核已将 textcomp 符号并入内核本身,所以 \textcopyright 等命令现在无需额外包即可使用(为了兼容旧环境或写得明确,保留 \usepackage{textcomp} 也无害)。这些命令都可以直接放在正文里。
% TS1 はカーネルに含まれる(textcomp の明示読み込みは任意)
% \usepackage{textcomp}
Foo\textregistered{} is a trademark of Bar Inc.\texttrademark
\copyright\ 2026 / \textcopyright\ 2026. % どちらも ©
40\textperthousand, \quad 25\textcelsius, \quad 90\textdegree要注意符号后的空格。像 \textregistered 这样的控制词会吞掉后面的空格;如果在词中使用,可写成带空花括号的 \textregistered{},或加入 \ ,避免它和后面的字符粘在一起。另请注意,\copyright(©)和 \pounds(£)也在标准 LaTeX 中定义,独立于 TS1,并输出与 \textcopyright、\textsterling 相同的字形。
| 命令 | 符号 | 含义 / 备注 |
|---|---|---|
\textcopyright | © | 版权(与 \copyright 相同) |
\textregistered | ® | 注册商标 |
\texttrademark | ™ | 商标 |
\textservicemark | ℠ | 服务标志 |
\texteuro | € | 欧元(另见下文 eurosym) |
\textcent | ¢ | 分 |
\textsterling | £ | 英镑(与 \pounds 相同) |
\textyen | ¥ | 日元 / 人民币 |
\textperthousand | ‰ | 千分号(千分率) |
\textdegree | ° | 度(角度 / 温度) |
\textcelsius | ℃ | 摄氏度(℃ 连字) |
\textbullet | • | 项目符号 |
\textsection | § | 章节符号(与 \S 相同) |
\textparagraph | ¶ | 段落符号(与 \P 相同) |
\textbrokenbar | ¦ | 断开的竖线 |
\textmusicalnote | ♪ | 音符 |
\textestimated | ℮ | 估量符号(包装上的 “e” 标记) |
一个常见混淆是:\textbackslash(字面量 \)、\textasciitilde(字面量 ~)和 \textbar(字面量 |)常被归到 TS1 一类。实际上它们是 LaTeX 核心命令,不是 TS1,是否使用 textcomp 都不影响。由于 \、~、| 在 LaTeX 中有特殊含义,要把它们作为普通字符打印,需要使用这些命令;这是另一个话题(详见“特殊字符”页)。
对于欧元符号 €,除了 \texteuro(TS1)之外,还有专用包 eurosym。使用 \usepackage{eurosym} 后可用 \euro,其字形接近欧盟委员会的官方设计(可用 official、gen 等选项选择字形)。如果正文字体中的 € 已经足够,使用 \texteuro;如果想要更整洁、更像标志的 €,就使用 eurosym。
pifont(Zapf Dingbats)
装饰性图符,如复选标记、剪刀、箭头、星号,集中在 Zapf Dingbats 字体中。LaTeX 通过 pifont 包调用它们:在 \usepackage{pifont} 之后,用 \ding{NN} 按编号指定字形。例如 \ding{52} 是复选标记,\ding{56} 是 ballot X(叉号)。编号和字形的对应关系是该字体特有的,因此要从表中查号使用。
\usepackage{pifont}
% ...
\ding{52}\ % チェック
\ding{56}\ % バツ
\dingline{56} % その記号で 1 行ぶんの罫を引く
\begin{dinglist}{43} % 各項目の先頭をその記号にした箇条書き
\item りんご
\item みかん
\end{dinglist}除了 \ding,pifont 还提供一些方便命令。\dingline{NN} 会把该符号横向排成一整行装饰线,\dingfill{NN} 会用该符号填满行内剩余空间。dinglist 环境是以 dingbat 作为项目标记的列表;dingautolist 环境会让编号逐项加一,从而排出连续编号的字形。更一般地,Zapf Dingbats 以外的 Pi 字体也可用 \Pisymbol{font}{number} 以同样方式调用。
| 写法 | 输出内容 | 备注 |
|---|---|---|
\ding{52} | ✓(复选标记) | 编号 52 |
\ding{55} | ✕(乘号 X) | 编号 55 |
\ding{56} | ✗(ballot X) | 编号 56 |
\ding{43} | ☞(指向右方的手) | 编号 43 |
\ding{170} | ★(黑星) | 编号 170 |
\dingline{NN} | 由该符号组成的装饰线 | 按编号选择符号 |
\dingfill{NN} | 用该符号填满一行 | \hfill 的符号版 |
dinglist (環境) | 使用 dingbat 标记的列表 | \begin{dinglist}{NN} |
\Pisymbol{psy}{NN} | Symbol 字体中的字形 | 通用 Pi 字体调用 |
fontawesome5(图标)
如果想在正文中放入 GitHub 或 Twitter 标志,或齿轮、信封、电话这样的 UI 图标,fontawesome5 包很方便。加载 \usepackage{fontawesome5} 后即可使用数千种图标。调用方式有两种:一种是把图标名 转成驼峰式并加上 fa 前缀 的专用命令(\faGithub、\faTwitter、\faAddressBook);另一种是 把官方名称放进花括号 的通用命令 \faIcon{github}。
\usepackage{fontawesome5}
% ...
Source: \faGithub\ github.com/example \quad \faTwitter\ @example
\faIcon{envelope}\ mail \qquad \faIcon[regular]{heart} % 線画スタイル
\faPython \quad \faIcon{rocket}图标有 solid(默认填充)、regular(线框)和 brands(标志) 三种样式;可像 \faIcon[regular]{heart} 这样用可选参数选择样式(品牌标志会自动按 brands 处理)。还要注意引擎:pdfLaTeX 可使用免费集(Font Awesome 5 Free),这足以覆盖大多数用途。但 若要完整使用全部图标和所有样式,或使用付费 Pro 集,则需要 XeLaTeX 或 LuaLaTeX(Unicode 引擎)。
| 命令 | 输出内容 | 样式 / 备注 |
|---|---|---|
\faIcon{name} | 按官方名称调用图标的通用命令 | 可指定 [solid]/[regular]/[brands] |
\faGithub | GitHub 标志 | brands |
\faTwitter | Twitter 标志 | brands |
\faPython | Python 标志 | brands |
\faEnvelope | 信封(邮件) | solid;与 \faIcon{envelope} 相同 |
\faCog | 齿轮(设置) | solid |
\faCheck | 复选标记 | solid |
\faIcon[regular]{heart} | 心形(线框) | regular 样式示例 |
日文符号:otf 包
日文排版常会需要圆圈数字 ①②③、其他圈框数字、罗马数字 Ⅰ Ⅱ Ⅲ,以及同一汉字的异体字(如 﨑 或 髙)。负责这些的是 otf(japanese-otf)包。加载 \usepackage{otf} 后,可以使用一组调用 Adobe-Japan1 字形的命令。不过要注意,otf 仅适用于 pLaTeX / upLaTeX(经由 DVI 并使用 dvipdfmx);在 LuaLaTeX 下使用 luatexja-otf,在 XeLaTeX 下使用 zxotf。
圆圈和方框数字通过把数字作为参数来生成。\ajMaru{3} 得到圆圈数字 ③,\ajKaku{3} 得到方框数字,\ajKuroMaru{3} 得到黑底反白圆圈数字。罗马数字中,\ajRoman{3} 得到大写 Ⅲ,\ajroman{3} 得到小写 ⅲ,带圆括号的数字可用 \ajKakko{3} 得到类似 (3) 的形式。参数是数字,会选取对应的圈框数字字形。
对于异体字,或没有专用命令的任何字形,关键是 \UTF{XXXX},它会 按 Unicode 码位直接调用字形。例如 \UTF{FA11} 是 﨑(崎 的异体字)。参数是 4 到 5 位十六进制数。还可以用 \CID{number} 直接指定 Adobe-Japan1 CID。当需要正确输出人名异体字(﨑、髙、𠮷 等)时,通常先尝试 \UTF。otf 包还提供 deluxe(多字重)、expert(竖排和横排字形变化)和 jis2004(JIS 2004 字形)等选项。
% pLaTeX / upLaTeX 専用(dvipdfmx で PDF 化)
\documentclass{ujarticle}
\usepackage[deluxe]{otf}
\begin{document}
手順は \ajMaru{1}\ajMaru{2}\ajMaru{3} の順に進める。
第 \ajRoman{3}\ 章。\quad 注 \ajKakko{1}
山\UTF{FA11}\ さん(﨑), \ 髙\UTF{9AD9} 橋。 % 異体字を符号位置で
\end{document}| 命令 | 输出内容 | 备注 |
|---|---|---|
\ajMaru{3} | ③(圆圈数字) | 数字参数 |
\ajKuroMaru{3} | ❸(黑圆圈数字) | 反白 |
\ajKaku{3} | 该数字的方框版 | 方框中的数字 |
\ajRoman{3} | Ⅲ(大写罗马数字) | \ajroman 得到小写 ⅲ |
\ajKakko{3} | (3)(带圆括号的数字) | 圆括号形式 |
\UTF{FA11} | 﨑(异体字) | 4 到 5 位十六进制码位 |
\CID{13706} | 指定 CID 的字形 | Adobe-Japan1 CID 编号 |
简言之:西文符号(© ® ™ €…)来自 textcomp(即标准 LaTeX),图符来自 pifont 的 \ding,UI 和品牌图标来自 fontawesome5 的 \faIcon,日文圆圈数字和异体字来自 otf 的 \ajMaru / \UTF。只要不要弄错引擎依赖即可:textcomp 和 pifont 哪里都能用,fontawesome5 若要完整功能需要 Unicode 引擎,otf 则是 pLaTeX / upLaTeX。