编辑

编辑

我正试图$\uptau$从底部得到一个右勾拳:

\documentclass{article}
\usepackage{upgreek}
\begin{document}
   $\tau_X$
   $\uptau_X$
\end{document}

不幸的是,似乎没有任何字距调整$\uptau$和以下下标:

在此处输入图片描述

想知道是否有一个简单的解决方案,或者用户只是容忍这种情况。

答案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 页底部);关键在于,这种“塞进”的程度只取决于被下标的符号,而不取决于下标本身,而两个字符之间的字距调整量取决于两个都其中。事实上,给定一个具有非空下标的原子,其原子核只是一个字符,下标的水平位置由该字符的斜体校正控制;在用于排版数学的字体中,字符的斜体校正实际上仅用于此目的。

相关内容