文本符号与图标

在正文(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} 也无害)。这些命令都可以直接放在正文里。

latex
% 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,其字形接近欧盟委员会的官方设计(可用 officialgen 等选项选择字形)。如果正文字体中的 € 已经足够,使用 \texteuro;如果想要更整洁、更像标志的 €,就使用 eurosym

pifont(Zapf Dingbats)

装饰性图符,如复选标记、剪刀、箭头、星号,集中在 Zapf Dingbats 字体中。LaTeX 通过 pifont 包调用它们:在 \usepackage{pifont} 之后,用 \ding{NN} 按编号指定字形。例如 \ding{52} 是复选标记,\ding{56} 是 ballot X(叉号)。编号和字形的对应关系是该字体特有的,因此要从表中查号使用。

latex
\usepackage{pifont}
% ...
\ding{52}\ % チェック
\ding{56}\ % バツ
\dingline{56}        % その記号で 1 行ぶんの罫を引く
\begin{dinglist}{43} % 各項目の先頭をその記号にした箇条書き
  \item りんご
  \item みかん
\end{dinglist}

除了 \dingpifont 还提供一些方便命令。\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}

latex
\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]
\faGithubGitHub 标志brands
\faTwitterTwitter 标志brands
\faPythonPython 标志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。当需要正确输出人名异体字(﨑、髙、𠮷 等)时,通常先尝试 \UTFotf 包还提供 deluxe(多字重)、expert(竖排和横排字形变化)和 jis2004(JIS 2004 字形)等选项。

document.tex
% 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。只要不要弄错引擎依赖即可:textcomppifont 哪里都能用,fontawesome5 若要完整功能需要 Unicode 引擎,otf 则是 pLaTeX / upLaTeX。