如何仅在下标格式的文本中部分文本上划线

如何仅在下标格式的文本中部分文本上划线

我可以h_y使用命令进行格式化$\overline{h_y}$,但我想在下标的h_y,max位置输入y,max,但上划线的水平线仅覆盖h_y

谢谢

答案1

虽然我认为这种表示法可能会让读者感到困惑,但这里有一个解决方案,它max通过使用 使该部分具有零宽度\mathrlap。下面\hphantom将(几乎)相同数量的空间放回去。

\documentclass{article}
\usepackage{mathtools}

\begin{document}
$\overline{h_{y,\mathrm{max}}} = 1$
\medskip

$\overline{h_{y\mathrlap{,\mathrm{max}}}}_{\hphantom{,\mathrm{max}}} = 1$
\end{document}

在此处输入图片描述

答案2

\documentclass{article}
\usepackage{mathtools}
\begin{document}

$\overline{h_{y\mathrlap{,\max}}}$ \qquad foo

\end{document}

在此处输入图片描述

答案3

最简单的策略是添加具有所需宽度的上划线(但不占用水平空间),然后将符号排版为部分上划线。

\documentclass{article}
\usepackage{mathtools}

\newcommand{\partialoverline}[1]{%
  \mathrlap{\overline{\phantom{#1}}}%
}

\begin{document}

$\partialoverline{h_y}h_{y,\max}$

\end{document}

在此处输入图片描述

答案4

我的建议是使用一个名为 的斯巴达宏\oversize

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\newcommand{\oversize}[1]{\mkern-1.5mu\overline{\mkern-1.5mu#1\mkern-28mu}\mkern30mu}
\begin{document}
$\oversize{h_{y,\mathrm{max}}}= 1$
\end{document}

\mkern改变其中两个的值\overline{\mkern0mu#1\mkern-10mu}可以增加的长度\overline。最后一个\mkern10mu只是为了使代码更接近相等和 1。请参见下面的示例。

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
    \newcommand{\oversize}[1]{\mkern-1.5mu\overline{\mkern0mu#1\mkern-10mu}\mkern10mu}
    \begin{document}
    $\oversize{h_{y,\mathrm{max}}}= 1$
    \end{document}

相关内容