我正在尝试让 LaTeX 识别数学公式中的 Unicode 字符。使用的符号已经存在于原始 Computer Modern 字体中并且完全标准(例如 \alpha、\Gamma、\times、\bigotimes、\biguplus),因此字体不是问题,唯一的问题是如何让 LaTeX 识别相应的 Unicode 字符。
我只对在标准未修改的 TeX 引擎上运行的 LaTeX 感兴趣,没有任何扩展,例如 XeTeX、LuaTeX、pdfTeX 等。
这是我迄今为止尝试过的:
\documentclass{article}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}
\begin{document}
$α⨯Γ+⨂_i A_i = ⨄_j C_j$
\end{document}
目的是公式应该扩展为
$\alpha \times \Gamma + \bigotimes_i A_i = \biguplus_j C_j$
inputenc
正如您所看到的,我已经尝试了带有选项的包utf8
,以及utf8x
选项,以及ucs
带有mathletters
选项的包。
后者至少似乎支持 α 和 Γ,但一些来源声称ucs
和utf8x
已过时。这些包似乎都不支持 \times、\bigotimes 或 \biguplus。所有这些都相当令人困惑,因为建议的非过时utf8
选项似乎不支持上述任何符号。
我自己使用的是纯 TeX,在这里,定义所有 UTF-8 字符的宏与纯 TeX 提供的数学符号相对应,这很简单,这正是我在自己的宏包适用于纯 TeX。但是,我的同事经常需要使用 LaTeX,因此我也在寻找合适的 LaTeX 解决方案。
在未修改的 TeX 引擎上运行的 LaTeX 中,在数学公式中启用 Unicode 字符的当前首选方法是什么?
我只对纯 TeX 中已经存在的最标准的数学符号子集感兴趣。据推测,至少这些标准符号受 LaTeX 支持,这将产生一种比通过命令\DeclareUnicodeCharacter
或定义文档中使用的每个 Unicode 字符更有效的解决方案\newunicodechar
。
我再次强调,我只寻找使用标准未修改的 TeX 引擎的解决方案,该引擎由预期应用程序(向数学期刊提交文章)决定。请不要建议或提及需要 XeTeX、LuaTeX、pdfTeX 等的解决方案,这些完全没用。类似unicode-math
或fontspec
无法在未修改的 TeX 引擎上运行的软件包,请不要建议它们。
答案1
我只对纯 TeX 中已经存在的最标准的数学符号子集感兴趣。据推测,至少这些标准符号是受 LaTeX 支持的,这将产生一种比通过命令定义文档中使用的每个 Unicode 字符更有效的解决方案
\DeclareUnicodeCharacter
LaTeX 默认支持 UTF-8 解码(在旧版本中,您可以使用\usepackage[utf8]{inputenc}
它来启用它,但单个字符没有为数学设置,因此您需要使用例如来定义它们
\DeclareUnicodeCharacter{03B1}{\alpha}
所以
\documentclass{article}
\usepackage[T1]{fontenc}
\DeclareUnicodeCharacter{03B1}{\alpha}
\DeclareUnicodeCharacter{2A2F}{\times}% not the standard mapping
\DeclareUnicodeCharacter{0393}{\Gamma}
\DeclareUnicodeCharacter{2A02}{\bigotimes}
\DeclareUnicodeCharacter{2A04}{\biguplus}
\begin{document}
$α⨯Γ+⨂_i A_i = ⨄_j C_j$
\end{document}