答案1
这可能令人惊讶,但是如果下标字母的形状符合推荐条件,TeX 在“机器级别”不会在下标前插入负字距:这样的字距必须手动插入,例如
\tau_{\!X}
该\!
命令会插入一个负薄空间。更一般地,你可以这样写
\tau_{\mkern -4mu X}
并进行实验,直到找到放置在后面的正确值\mkern
。
但请注意,这两种结构之间的区别
\tau_{\!X}
和
\tau\!_{X}
它们的区别在于两个方面:首先,“薄空间”在“文本大小”(后一种选择)和“脚本大小”(前一种选择)中对应两个不同的绝对量;其次,在第一种情况下,下标实际上是附加在字符“tau”之后,但在第二种情况下,它变成了原子核为空的原子的下标。虽然这两个习语产生的输出乍一看可能几乎相同,但仔细一看就会发现并非如此。
这是一个最小的可编译示例;如果取消注释这两个\showlists
命令,终端上将显示一些跟踪信息,证明我们刚才所说的内容。
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{upgreek}
\showboxbreadth = 1000
\showboxdepth = 10
\tracingonline = 1
\begin{document}
Note that
\(
\tau_{\!X},\uptau_{\!X} \ne \tau\!_{X},\uptau\!_{X}
% \showlists
\).
% \showlists
Alternative: \( \tau_{\mkern -4mu X}, \uptau_{\mkern -3.5mu X} \).
\end{document}
以下是输出的重要部分的放大视图:
编辑
“TeX 没有规定……在下标前插入负字距”的说法可能会受到质疑,因为,例如,$P_{x}^{2}$
和$Q_{x}^{2}$
会产生不同的结果,所以让我在这里确切地解释一下我的意思。正如TeXbook说,“当下标跟在某些字母后面时,它会稍微‘塞进’”(第 129 页底部);关键在于,这种“塞进”的程度只取决于被下标的符号,而不取决于下标本身,而两个字符之间的字距调整量取决于两个都其中。事实上,给定一个具有非空下标的原子,其原子核只是一个字符,下标的水平位置由该字符的斜体校正控制;在用于排版数学的字体中,字符的斜体校正实际上仅用于此目的。