![自动在数学上标中添加空格](https://linux22.com/image/283217/%E8%87%AA%E5%8A%A8%E5%9C%A8%E6%95%B0%E5%AD%A6%E4%B8%8A%E6%A0%87%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%A9%BA%E6%A0%BC.png)
我正在使用 mathspec,但数学模式下的上标有点拥挤。这是一个众所周知的问题,以至于该包定义了一个命令来在字符(双引号)周围添加空格。然而,这很费力,而且破坏了与 Latex 的兼容性。手动添加空格也是如此(例如,使用\,
)。
是否可以通过重新定义序言中的某些参数来自动增加字符和上标之间的间距?
下面是一个 MWE,展示了该问题和两个手动解决方案:
\documentclass[12pt]{article}
\usepackage{mathspec}
\setmainfont {Arno Pro}
\setmathsfont (Latin,Digits,Greek) {Arno Pro}
\begin{document}
No space: $ V^1 $.
Double quote: $ {"V}^{"1} $.
Manual space: $ V^{\,1} $.
\end{document}
答案1
我找到了一个似乎有效的解决方案:
\let\sp^
\catcode`\^=\active
\gdef^#1{\sp{\hspace{0.06em} #1}}