带有上划线和下标的符号会导致字距错误

带有上划线和下标的符号会导致字距错误

我偶然发现了一个问题,我认为这应该很常见,但我找不到令人满意的答案(例如都不是我想要的)


我想在符号上加一条上划线,但不在下标上加一条上划线。虽然这没有问题,但分组会破坏下标的字距。请考虑以下示例:

在此处输入图片描述

我怎样才能使上划线刚好f位于第二行上方,但字距与第一行下标一致?

当然,我可以使用负间距手动调整它,但我想知道是否有更通用的解决方案。

平均能量损失

\documentclass{article}

\usepackage{amsmath}
\usepackage{helvet}
\usepackage{sansmathfonts}

\begin{document}

without overline:
\[f_t\]
with overline and subscript outside:
\[\overline{f}_t\]
with overline and subscript inside:
\[\overline{f_t}\]

\end{document}

答案1

您可以使用\bar或调整空间后\overline

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}
\usepackage{helvet}
\usepackage{sansmathfonts}

\begin{document}

without overline:
\[f_t\]
with overline and subscript outside:
\[\overline{f}_t\]
with overline and subscript inside:
\[\overline{f_t}\]
with bar and subscript outside:
\[\bar{f}_t\]
with adjusted overline
\setbox0\hbox{$f_t$}
\setbox2\hbox{$\overline{f}_t$}
\[\overline{f}\kern\dimexpr\wd0-\wd2\relax_t\]
\end{document}

如果你需要这个不止一次,比如

\newcommand\mean[2][]{%
  \overline{#2}%
   \ifx\relax#1\relax\else
   \sbox0{$#2_{#1}$}%
   \sbox2{$\overline{#2}_{#1}$}%
   \kern\dimexpr\wd0-\wd2\relax_{#1}%
   \fi}

with macro
\[\mean[t]{f}\]

相关内容