为什么 \Cline 会增加我的方程式中的字体大小?

为什么 \Cline 会增加我的方程式中的字体大小?

问题

当我\Cline在公式中为符号加下划线时,该符号的字体大小会增加。编辑:我不希望发生这种情况,相反,我希望所有下标都具有相同的大小,无论它们是否加下划线。

最小工作示例

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{xcolor}
\newsavebox\MBox
\newcommand\Cline[2][red]{{\sbox\MBox{$#2$}%
\rlap{\usebox\MBox}\color{#1}\rule[-1.2\dp\MBox]{\wd\MBox}{0.85pt}}}

\begin{document}
\begin{equation}    
\bar{\nabla}_{\!\mu}h_{\Cline{\rho\sigma}}
\end{equation}    
\end{document}

编辑-后续问题:锦上添花

是否有可能实现下图右侧的效果?

在此处输入图片描述

目前,egreg 的代码(见下文)将给出代码的左侧输出

\begin{equation}
\bar{R}_{\tau\Cline{\sigma}\nu\Cline{\rho}}
\end{equation}

这比上面的 MWE 输出的外观有了显著的改进。不过,我认为如果所有线条Cline都“在眼睛的同一水平”,看起来会更好。

答案1

您可以利用\text该功能来选择正确的字体大小:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{xcolor}
\newsavebox\MBox
\newcommand\Cline[2][red]{%
  \text{% We use \text so the size will be the right one
        \sbox\MBox{$#2$}% We typeset the argument
        \rlap{\color{#1}\rule[-\dimexpr\dp\MBox+1pt\relax]{\wd\MBox}{0.85pt}}% the rule
        \usebox{\MBox}% the text
        }% end of \text
}

\begin{document}
\begin{equation}
\bar{\nabla}_{\!\mu}h_{\Cline{\rho\sigma}}
\end{equation}
\end{document}

通过设置规则的深度,\dimexpr我们可以确保文本不会被覆盖,因为文本和规则之间会有 0.15pt。

在此处输入图片描述


不进行任何测量的不同实现方式:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{xcolor}

\newcommand{\Cline}[2][red]{%
  \text{%                
    \oalign{$#2$\cr\color{#1}\leaders\hrule height 0.85pt\hfil\cr}%
  }%
}

\begin{document}
\begin{equation}
\bar{\nabla}_{\!\mu}h_{\Cline{\rho\sigma}}
\end{equation}
\end{document}

您可以通过添加合适的

\noalign{\vskip-??pt}

(其中??是某个数字)就在第一个之后\cr

在此处输入图片描述


使用固定规则厚度可能被视为错误的;因此这里有一个不同的规范:

\newcommand{\Cline}[2][red]{%
  \text{%
    \oalign{$#2$\cr\color{#1}\leaders\hrule height 0.2ex\hfil\cr}%
  }%
}

在 10pt 大小下,0.2ex 为 0.86pt,因此这与您的设置相同;但下标会略小;

\begin{equation}
\bar{\nabla}_{\!\mu}h_{\Cline{\sigma}}\Cline{aaa}
\end{equation}

我们将得到更好的输出1

在此处输入图片描述

1感谢 David Carlisle 坚持推荐这种可变厚度作为优选。

相关内容