\bar and \overline

The slanting makes the correct length of the bar a little more complicate. The following example measures the width of an upright X and uses this for the length of the bar. The solution also works for different math styles:

\documentclass{article}
\usepackage{amsmath,amsfonts,mathtools}

\makeatletter
\newcommand*{\Xbar}{}%
\DeclareRobustCommand*{\Xbar}{%
  \mathpalette\@Xbar{}%
}
\newcommand*{\@Xbar}[2]{%
  % #1: math style
  % #2: unused (empty)
  \sbox0{$#1\mathrm{X}\m@th$}%
  \sbox2{$#1X\m@th$}%
  \rlap{%
    \hbox to\wd2{%
      \hfill
      $\overline{%
        \vrule width 0pt height\ht0 %
        \kern\wd0 %
      }$%
    }%
  }%
  \copy2 %
}
\makeatother

\begin{document}

$\bar{X}$ $\overline{X}$

$\Xbar\scriptstyle\Xbar\scriptscriptstyle\Xbar$

\end{document}

Result


I need a bit shorter overlines for variables in boolean algebra to make clear that variables are separately inverted. I defined the following command:

\newcommand{\olsi}[1]{\,\overline{\!{#1}}} % overline short italic

It is special designed for variables that are typeset in italic, so it is not only above but rather above right. So upright characters need a different definition:

\newcommand{\ols}[1]{\mskip.5\thinmuskip\overline{\mskip-.5\thinmuskip {#1} \mskip-.5\thinmuskip}\mskip.5\thinmuskip} % overline short

Example:

$ \olsi{x+y} = \olsi{x}\olsi{y} $

is rendered as:

example of short overlines

I hope that helps.

Tags:

Math Mode