我尝试在 XeLaTeX 中将 CJK 字符显示为数学公式的一部分,但效果不佳。我尝试了许多选项,但都失败了:
- 通过然后使用定义
\jp
字体命令。这给了我一个未定义的控制序列错误。fontspec
\text{\jp{character}}
- 使用
fontspec
。\setmathfont
这也给了我一个未定义的控制序列错误。 - 使用
unicode-math
带有\setmathfont[range="4E00-"2FA1F]{font}
- 根据范围的包,CJK 字符要么仍然显示为“不可用字符”框,要么直接消失
一个最小的失败示例:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\newfontfamily\jp{TakaoPGothic}
\usepackage{unicode-math}
\setmathfont[range="96E2]{TakaoPGothic} % the code for this particular character
\setmathfont{CMU Serif}
\begin{document}
$離$
\jp{離}
\end{document}
这会在第一行产生一个缺失字符框,并在第二行正确输出 離。
有什么好方法可以做到这一点吗?
答案1
通常,您不应使用unicode-math
包来指定非预定义 unicode 块的字体。该包不旨在为数学公式设置 CJK 字体。此外,您不应将其用作CMU Serif
数学字体,因为它缺少大多数数学字形和 opentype 数学表。
要在 XeTeX 中排版日文,最好使用基于xeCJK
以下包或包:zxjatype
xeCJK
。另请参阅如何用 LaTeX 写日语?。
数学公式中的日语实际上是一些文本。在 LaTeX 中,我们使用\text
fromamsmath
包来排版数学中的文本。比如说,你应该使用:
\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\usepackage{xeCJK}
\setCJKmainfont{IPAexMincho} % or some other Japanese font
\begin{document}
$\text{離}$
離
\end{document}
\text
如果启用CJKmath
以下选项,也可以在数学公式中使用日语字符xeCJK
:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\usepackage{xeCJK}
\xeCJKsetup{CJKmath=true}
\setCJKmainfont{IPAexMincho} % or some other Japanese font
\begin{document}
$離$
離
\end{document}