5

I am attempting to align the integral signs precisely, whilst still retaining the correct spacing around the equals signs. Why doesn't the following code get it exactly right?

\begin{align}
    & \hphantom{{}={}} \int \\
    & = \int \\
    & = F
\end{align}

enter image description here

6

An alternative approach would be to set the spacing based on the fact that = is a relation. Therefore, use \mathrel{\phantom{=}} (\hphantom is not really needed):

enter image description here

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{align}
   a & \mathrel{\hphantom{=}} \int \\
   b & = \int \\
   c & = F
\end{align}

\end{document}
  • Thanks, that seems like a good option. I thought that \hphantom{{}={}} should effectively be telling LaTeX the same information as \mathrel, but I guess not. – bdforbes May 28 '15 at 6:02
10

Let's start with an analysis of math atoms and spacings between them:

& = \int

The align environment adds an invisible empty subformula {} at the start of the column:

{} = \int

A subformula is acts as \mathord. The following line shows the math atoms with their type in the subscript position:

{}ord =rel \intop

There is a table in "The TeXbook" from Donald E. Knuth or in section "23.6.1 Classification of mu glue" in book "TeX by Topic" from Victor Eijkhout, which shows the spacing between math atoms. The spacing information is put in the superscript position between the math atoms:

{}ord thick =rel thick \intop thin \intop

The same analysis for

& \hphantom{{}={}} \int

yields:

{}ord none { {}ord thick =rel thick {}ord }ord thin \intop

The \hphantom{...} acts as subformula. As can be seen, there is an additional thin space (\thinmuskip) between \hphantom{...} and the following operator.

This space can be canceled by \!:

& \hphantom{{}={}} \! \int

Macro \! negates the thin space, it is defined in LaTeX as:

\def\!{\mskip-\thinmuskip}

An alternative is to remove the empty subformulas in \hphantom and convert the \hphantom to a rel atom as a visible = would have been:

& \mathrel{\hphantom{=}} \int

Analysis:

{}ord thick { =rel }rel thick \intop

Example file with increased \thinmuskip to show the spacing problem more clearly:

\documentclass[a5paper]{article}

\usepackage{amsmath}

\begin{document}

\thinmuskip=40mu

\begin{align}
 \texttt{\detokenize{& = \int}}\colon
 & = \int \\
 \texttt{\detokenize{& \hphantom{{}={}} \int}}\colon
 & \hphantom{{}={}} \int \\
 \texttt{\detokenize{& \hphantom{{}={}} \! \int}}\colon
 & \hphantom{{}={}} \! \int \\
 \texttt{\detokenize{& \mathrel{\hphantom{=}} \int}}\colon
 & \mathrel{\hphantom{=}} \int
\end{align}
\end{document}

Result

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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