Asana Math
我喜欢在使用lualatex编译为pdf时使用。
但要使用Asana Math
我必须加载unicode-math
才能使用\setmathfont
命令来加载字体。
我注意到添加unicode-math
后空格就丢失了\mathit
。
当我注释掉它后unicode-math
,\setmathfont
空间又回来了。
为什么使用unicode-math
会使后面的空格\mathit
消失? 我使用这些包时是否有问题? 有没有解决方法,以便我可以使用 Asna math,但仍然保留后面的空格mathit
?
平均能量损失
\documentclass[12pt]{article}
\usepackage{unicode-math} %needed to use \setmathfont
\usepackage{amsmath}
\setmathfont{Asana Math}[Scale=MatchLowercase]
\begin{document}
\begin{equation}
\mathit{\_C1} {\rm e}^{3 x} \sin \left(2 x \right)+\mathit{\_C2} {\rm e}^{3 x} \cos \left(2 x \right)
\end{equation}
\end{document}
将上述代码替换为
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\mathit{\_C1} {\rm e}^{3 x} \sin \left(2 x \right)+\mathit{\_C2} {\rm e}^{3 x} \cos \left(2 x \right)
\end{equation}
\end{document}
空间比较大。
这张图片显示了差异
更新
这是包含以下答案建议的测试用例。
\documentclass[12pt]{article}
\usepackage[mathit=sym]{unicode-math}
\usepackage{amsmath}
\setmathfont{Asana Math}[Scale=MatchLowercase]
\begin{document}
\begin{equation}
\mathit{\_C1} {\rm e}^{3 x} \sin \left(2 x \right)
\end{equation}
\end{document}
和
\documentclass[12pt]{article}
\usepackage{unicode-math}
\usepackage{amsmath}
\setmathfont{Asana Math}[Scale=MatchLowercase]
\begin{document}
\begin{equation}
\symit{\_C1} {\rm e}^{3 x} \sin \left(2 x \right)
\end{equation}
\end{document}
使用 TL 2020。
ps. 上面公式里的代码是外部软件自动生成的,不是我自己写的。
答案1
当您加载 时unicode-math
,它会将\mathit
、\mathrm
等设置\mathbf
为主文本字体。这意味着,当您加载 时\mathit
,您会得到斜体校正。
如果您想插入一些额外的空间,您可以添加\,
或将术语包装在中\mathop
。
您还可以尝试更改\mathit
为\symit
,或unicode-math
使用包选项加载mathit=sym
,这两种方法都会从数学字体中加载斜体数学字母。但是,这些字母不包括下划线或数字。
您说的这种格式是机器生成的,非常糟糕。一方面,\rm
已经过时了,您可能希望使用\symup
或\mathrm
。另一方面,Asana Math 基于 Palatino,因此您可能希望将文本字体设置为 Palatino(或 Pagella)以匹配它,而不是使用默认的 Latin Modern。如果您要直立排版常量,则您可能正在使用 ISO 样式,并且可能还希望加载math-style=ISO
。\mathit
我根本不推荐在这里使用 。如果这些术语是程序变量,则它们可能是\mathtt
或\mathsf
。