Mathtools:与 ~ 结合使用时,数学符号前的自动斜体更正不起作用

Mathtools:与 ~ 结合使用时,数学符号前的自动斜体更正不起作用

在 中mathtools,我注意到与 结合使用时,数学前的自动斜体校正不起作用~。例如,在

\documentclass{article}

\usepackage{mathtools}

\begin{document}

\begin{quote}\itshape
Compare these lines: \par
\mathtoolsset{mathic} % or \mathtoolsset{mathic=true}
Subset of \(V\) and subset of \(A\). \par
Subset of~\(V\) and subset of~\(A\). \par
\mathtoolsset{mathic=false}
Subset of \(V\) and subset of \(A\).
\par
\end{quote}

\end{document}

您可以看到带有 's 的行在~数学斜体字母之前没有斜体校正:

结果快照

我通过电子邮件向mathtools团队通报了此事,他们说会将其列入待办事项清单,但与此同时我想看看这里是否有人知道如何修复它。也许需要使用?来重新定义\(in ?mathtools\sw@slant

答案1

在与比我更了解的人聊天后,我们得出以下结论:这总体来说很棘手

问题就在这里。斜体校正只能在字符或连字符后添加(请参阅 TeX by Topic,2007 年版,CTAN,第 4.3.3 节)。但~包含一个可以有效消除斜体校正的惩罚,因此\@italiccorr选项mathic插入的将为零。

你可以通过以下方式轻松看到效果

\itshape
f V

f\/ V

f\penalty0\/ V

在此处输入图片描述

我会在手册中添加注释。


编辑:因为我们知道该怎么~做,所以我们可以解决这个特殊的问题。

~执行惩罚加上空格,因此小心地添加 lastskip 和 lastpenalty 的存储以及一些 unskip 和 unpenalty 就可以了。

相关内容