在未修改的 TeX 引擎上运行的 LaTeX 中,在数学公式中启用 Unicode 字符的当前首选方法是什么?

在未修改的 TeX 引擎上运行的 LaTeX 中,在数学公式中启用 Unicode 字符的当前首选方法是什么?

我正在尝试让 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选项的包。

后者至少似乎支持 α 和 Γ,但一些来源声称ucsutf8x已过时。这些包似乎都不支持 \times、\bigotimes 或 \biguplus。所有这些都相当令人困惑,因为建议的非过时utf8选项似乎不支持上述任何符号。

我自己使用的是纯 TeX,在这里,定义所有 UTF-8 字符的宏与纯 TeX 提供的数学符号相对应,这很简单,这正是我在自己的宏包适用于纯 TeX。但是,我的同事经常需要使用 LaTeX,因此我也在寻找合适的 LaTeX 解决方案。

在未修改的 TeX 引擎上运行的 LaTeX 中,在数学公式中启用 Unicode 字符的当前首选方法是什么?

我只对纯 TeX 中已经存在的最标准的数学符号子集感兴趣。据推测,至少这些标准符号受 LaTeX 支持,这将产生一种比通过命令\DeclareUnicodeCharacter或定义文档中使用的每个 Unicode 字符更有效的解决方案\newunicodechar

我再次强调,我只寻找使用标准未修改的 TeX 引擎的解决方案,该引擎由预期应用程序(向数学期刊提交文章)决定。请不要建议或提及需要 XeTeX、LuaTeX、pdfTeX 等的解决方案,这些完全没用。类似unicode-mathfontspec无法在未修改的 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}

相关内容