在 LaTeX 中使用中文着重号

因为在英文的标点符号中,没有着重号,因此我们必须引入特定的宏包,并使用 XeLaTeX 或 LuaLaTeX 进行编译。

1. XeLaTeX 下的解决方案

可以引用 xeCJKfntef 宏包,使用 \CJKunderdot 命令。

不过,xeCJKfntef 默认使用英文句点 . 作为着重号,显得特别小,看上去不太协调,stone-zeng[1] 提供了一种解决办法,可以用间隔号 · 替代:

1
2
3
\usepackage{xeCJKfntef}
\xeCJKsetup{underdot/symbol={\normalfont^^b7}}
\newcommand{\dotemph}[1]{\CJKunderdot{#1}}

2. LuaLaTeX 下的解决方案

开始,在中文资料中没有找到对应的资料。后来,想到在日文中,经常见到上标的振假名[2],可能会有相关的解决办法,于是顺势找到了 luatexja-ruby 宏包,可以处理上下标。

我们可以定义:

1
2
3
\usepackage{luatexja-ruby}
\newcommand{\dotemph}[1]{%
\kenten[intergap=-1.3, kenten={\normalfont\textbullet}]{#1}}

这样就可以使用 \dotemph 给中文加着重号了。


  1. https://www.zhihu.com/question/362123706/answer/944620713 ↩︎

  2. https://zh.wikipedia.org/wiki/振假名 ↩︎