最近,我发现了一个unicode-math
允许在数学环境中插入 unicode 字符的软件包。即使在其基本配置中,这也允许在源文件中直接使用所有希腊字母和大多数数学运算符,从而减少方程式中的代码量,例如、、\alpha
等,从而使即使是复杂的方程式也可以直接在代码中读取。在我看来,这显然是一个巨大的优势\gg
\leq
但它是否没有任何风险和弊端?
我想到的风险是将一个字符与另一个非常相似的字符混淆。虽然使用宏不会出现这种情况,但直接输入它可能会出错。
我想到的一个缺点是符号是固定的,也就是说它的外观与语义含义紧密相关。如果可能的话,通常应该尽量避免这种情况。例如,amsmath
包给了我们六个不同的点(\dots
,\dotsc
,\dotso
,\dotsb
,\dotsi
)\dotsm
,它们具有相同的外观但不同的语义含义,我们可以改变一个语义含义的符号的外观而不影响其他语义含义。
也许我写错了什么,或者关于这个话题还有更多要说的,但我的问题仍然存在:使用 是一种不好的做法吗unicode-math
?如果不是,那么最好的使用方法是什么?有风险吗?如果有,风险是什么?有缺点吗?如果有,缺点是什么?
我知道该讨论应该发布在 meta 上,但这是有关软件包的讨论,所以我认为最好将其发布在这里。如果这里不适合提出此类问题,请将问题移至其他地方或在评论中写下我应该将其发布在哪里。
编辑: 正如 Ulrike Fischer 在她的回答,我完全错过了关于unicode-math的整个情况。但我的问题仍然存在,即使它应该被重新表述成这样:在数学中使用 unicode 而不是 LaTeX 宏的优缺点是什么?
正如评论中指出的那样,这可以理解为基于意见的问题,但事实并非如此。我不是在问您认为哪种解决方案最好。我是在问在数学中使用 unicode 而不是 LaTeX 提供的传统宏的优缺点是什么。
答案1
Unicode 输入和 unicode-math 并不像您声称的那样相关。您也可以将直接 unicode 输入与 pdflatex 一起使用:
\documentclass[]{article}
\usepackage[utf8]{inputenc} %not needed with texlive 2018/current miktex
\DeclareUnicodeCharacter{03B1}{\alpha}
\DeclareUnicodeCharacter{222B}{\int}
\begin{document}
$
α = ∫
$
\end{document}
并且您可以使用带有unicode-math的命令:
\documentclass[]{article}
\usepackage{unicode-math}
\begin{document}
$
\alpha = \int
$
\end{document}
unicode-math 的要点是它使用一种开放类型的数学字体(这里是拉丁现代数学)而不是一堆像 pdflatex 的字体。