数学模式在上标后添加了额外的水平空间。我在 MWE 中列出了删除它的各种选项。我想知道是否有任何推荐的方法可以做到这一点amsmath
。
我现在正在考虑使用\negthickspace
。但是,我想知道这对于专业印刷工来说是否太紧了。由于我的论文有很多上标,这个小决定将对整个文档的外观和感觉产生很大的影响。
梅威瑟:
\documentclass[preview]{standalone}
\usepackage{amsmath}
\begin{document}
%\noindent
$R(u,x) = R(u^{*},x)$
$R(u,x) = R(u^{*}\!,x)$
$R(u,x) = R(u^{*}\negmedspace,x)$
$R(u,x) = R(u^{*}\negthickspace,x)$
$R(u,x) = R(u^{*}\!\!,x)$
\end{document}
编辑:$u^{*}\negmedspace \Sigma &= R(u^{*}\negmedspace,\Sigma)$
当您编写以下内容 时,LaTeX 的默认行为看起来更合理
因此,如果要编写全局宏来引入此负间距,则必须考虑上标后面的字符。我不知道这是否可行或可取。
答案1
下一个示例仅添加一些框以使间距更加明显:
\documentclass{article}
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{.1pt}
\begin{document}
$\fbox{$\fbox{$u$}^{\fbox{$\scriptstyle*$}}$}\mathpunct{\fbox{$,$}}\fbox{$x$}$
\end{document}
*
上标与逗号之间的间距,
有三个原因:
- TeX
\scriptspace
在上下标后添加。默认为LaTeX 和纯 TeX。它是周围的框与周围框0.5pt
之间的空间。*
*
在和 的框内,
有一些水平填充,称为侧边距。这是字体属性,在 TeX 中无法访问。- 上标和逗号的垂直距离相当大,因此不需要留出太多的水平空间来避免字形太近。如果将逗号向左移动,看起来确实会更好。
不过需要注意负间距,LaTeX 定义(伪代码):
\! = \mskip-\thinmuskip
\thinmuskip = 3mu
\medmuskip = 4mu plus 2mu minus 4mu
\thickmuskip = 5mu plus 5mu
并添加包amsmath
(伪代码):
\negmedspace = -\medmuskip
\negthickspace = -\thickmuskip
\thinmuskip
因此\!
不使用可拉伸性。但是,其他的都使用了。如果应用了拉伸/收缩,间距可能会变得非常难看。负号会产生相反的效果,使间距变得更糟:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\hbox{$u^*\negmedspace,x+y$}
\hbox spread -5pt{$u^*\negmedspace,x+y$}
\hbox spread 5pt{$u^*\negmedspace,x+y$}
\end{document}
为此,\!
可以使用。但是,应避免使用\negthickspace
和,因为它们会抵消和\negmedspace
的效果。 和\thickmuskip
\thinmuskip
\negthickspace
\negmedspace
以下宏使用来自和不来自拉伸和收缩组件的值在数学模式中\negmed
添加\negthick
负空间:\medmuskip
\thickmuskip
\def\negstrip#1 #2\relax{-#1}
\newcommand*{\negmed}{%
\mkern-\medmuskip
}
\newcommand*{\negthick}{%
\mkern-\thickmuskip
}
可以使用多少负间距的问题也部分取决于个人喜好。我倾向于使用介于\!
和之间的某个值\negmed
,也许\mkern-3.5mu\relax
。