数学模式:上标后的间距

数学模式:上标后的间距

数学模式在上标后添加了额外的水平空间。我在 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

相关内容