Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

My own answer is provided below, but feel free to add your own improvement as well.

The \utilde command from the undertilde.sty package places different amounts of vertical space between the accent and the nucleus, depending on whether the equation is typeset in a single-line environment, (i.e., inline math, equation, or displaymath) or a multiple-line environment (i.e., align, gather, multline, and their associated *-ed environments).

In a single-line environment, the accent is given the proper amount of space, but in a multiple-line environment, the accent is too far away.

Below is an example: Undertilde spacing issue

share|improve this question
1  
Have a look at my accents package. –  Javier Bezos Jul 9 '12 at 16:57
add comment

1 Answer

Answering myself because it took me a while to discover the cause for this, and I think this would prove useful to others.

This is a bug in the undertilde.sty package, explained as follows:

Vertical spacing in *TeX is controlled by two glues and one dimension: \baselineskip, \lineskip, and \lineskiplimit.

\baselineskip controls the distance from the baseline of one line to the baseline of the following line -- to oversimplify, the bottom-to-bottom distance. If this value is small enough relative to the typeset text, there may be collisions between lines. To avoid this, the distance from the bottom of the upper line to the top of the lower line is monitored as well, and if the desired value of \baselineskip causes this bottom-to-top distance to be less than \lineskiplimit, then the \lineskip glue is substituted instead, which provides an absolute bottom-to-top interline separation.

The \utilde command from undertilde.sty creates the accent by creating a \widetilde over an empty box the width of the nucleus, then stacking the nucleus and the accented empty box in a \vtop command. To achieve the proper spacing, the package includes the line:

\baselineskip=1pt\relax

which tightens up the space between the accent and the nucleus. However, this setting would cause the lines to be set atop one another, so at this point, the \lineskip setting takes over instead. In a single-line environment, we have \lineskiplimit=0pt and \lineskip=1pt, which gives the proper spacing. However, a multiple-line environment has, by default, \lineskiplimit=3pt and \lineskip=4pt. This means that the tilde is separated from the nucleus by 1/24th of an inch more in a multiple-line environment than it is in a single-line environment.

A fix to this would be to update the undertilde.sty file to replace the aforementioned line with the following:

\baselineskip=\z@\relax
\lineskiplimit=\z@\relax
\lineskip=1pt\relax

which would set the proper distance for all math environments.

share|improve this answer
    
Very thorough! It seems the package hasn't been updated in 12 years; you can find the documentation on CTAN though the package isn't in TeX Live, so if you are lucky, writing the author is an option. If not, you can try adopting the package :) –  Ryan Reich Jul 9 '12 at 16:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.