寻找一种简单的方法,在带下标的字母上使用宽条,但空间保持与使用\bar
as时相同的方式\overline
,产生较大的空间,即使条长度很好,看起来也不好看,而widebar
from\usepackage{mathabx}
减少了间隙,但条长度不那么宽(此外,我不想使用 mathabx 包,因为在某些版本中我遇到了与字体有关的编译错误)。
\documentclass[]{article}%
\usepackage{amsmath}
\usepackage{mathabx} %causes problems sometimes
\begin{document}
$\bar{V}_H$
$\overline{V}_H$
$\widebar{V}_H$
\end{document}
我看到了这个问题我可以不使用 mathabx 包来获得 \widebar 吗? 我尝试过(尽管我更喜欢更简单的解决方案)但我仍然看到如上所述的巨大空间差距。
问题是:有没有一种simple
Latex 方法可以将间距缩小到类似于使用 \bar 的水平,但字母上方仍留有宽条?就像下面显示的最后一张图片一样(使用我在 Windows 7 上使用 paint.exe 的高级技能制作,通过手动将字母H
向左移动到我想要的位置)
在 Linux mint 16 中使用 texlive 2013(如果可能的话,请给出一个简单的解决方案,不要太高级,因为我是 Latex 的新手)
答案1
在这种情况下,我最终通过重新定义成功解决了该问题\overline{}
,因此不需要辅助宏。
经过几次失败的尝试,终于找到了一个行之有效的方法,那就是将一个放置\overline
在第一个参数的幻影之上,并以左对齐的方式将其堆叠在零宽度项上。然后我接着使用#1
,否则就没有问题了。#1 位于先前的正下方\overline
,拾取下标和上标没有任何问题。
\documentclass[]{article}%
\usepackage{amsmath}
\usepackage{mathabx} %causes problems sometimes
\usepackage{stackengine}
\stackMath
\let\svoverline\overline
\def\overline#1{\stackengine{0pt}{}{\svoverline{\phantom{#1}}}{O}{l}{F}{T}{L}#1%
}
\begin{document}
$\bar{V}_H \bar{V}_H^2$ ~SHORT
$\widebar{V}_H$ ~~~~~SHORT
$\overline{V}_H \overline{V}_H^2 $ ~FIXED FOR V
$\overline{A}_H$ ~~~~FIXED FOR A
$\overline{c}_H$ ~~~~~WORKS FOR L.C.
\end{document}
请注意
\stackengine{0pt}{}{\svoverline{\phantom{#1}}}{O}{l}{F}{T}{L}%
功能上等同于以下四行:
\def\stackalignment{l}%
\def\stacktype{L}%
\def\useanchorwidth{T}%
\stackon[0pt]{}{\svoverline{\phantom{#1}}}%