сначала верстают простенькие формулы, потом простенькие таблички, потом учатся в шапочку добавлять какие-то команды и пакеты, чтобы что-то работало как надо, а потом... makeatletter, @-макросы и
Фишечки и фенечки для оформления диссертации в Латех<...>
19. Как сделать черту над словом покороче?Так:
\newcommand{\overbar}[1]{\mkern 3mu\overline{\mkern-3mu#1\mkern-3mu}\mkern 3mu}
Или так – так выглядит сама команда,
\newcommand{\overl}[1]\xoverline[0.8]{#1}
А это её определение:
Код:
\makeatletter
\newsavebox\myboxA
\newsavebox\myboxB
\newlength\mylenA
\newcommand*\xoverline[2][0.75]{%
\sbox{\myboxA}{[math]$\m@th#2$[/math]}%
\setbox\myboxB\null% Phantom box
\ht\myboxB=\ht\myboxA%
\dp\myboxB=\dp\myboxA%
\wd\myboxB=#1\wd\myboxA% Scale phantom
\sbox\myboxB{[math]$\m@th\overline{\copy\myboxB}$[/math]}% Overlined phantom
\setlength\mylenA{\the\wd\myboxA}% calc width diff
\addtolength\mylenA{-\the\wd\myboxB}%
\ifdim\wd\myboxB<\wd\myboxA%
\rlap{\hskip 0.5\mylenA\usebox\myboxB}{\usebox\myboxA}%
\else
\hskip -0.5\mylenA\rlap{\usebox\myboxA}{\hskip 0.5\mylenA\usebox\myboxB}%
\fi}
\makeatother