在 中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 就可以了。