使用 hphantom 等号对齐时出现轻微错位

使用 hphantom 等号对齐时出现轻微错位

我试图精确对齐积分符号,同时仍保留等号周围的正确间距。为什么以下代码不能完全正确?

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

在此处输入图片描述

答案1

另一种方法是根据关系来设置间距=。因此,使用\mathrel{\phantom{=}}\hphantom不是真正需要的):

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}

\begin{document}

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

\end{document}

答案2

让我们首先分析一下数学原子及其之间的间距:

& = \int

环境在列的开头align添加了一个不可见的空子公式:{}

{} = \int

子公式的作用是\mathord。下面一行显示了数学原子及其下标位置的类型:

{} =顺序 关系\int

Donald E. Knuth 的《The TeXbook》中有一个表格,或者在书中的“23.6.1 胶水分类mu”部分中有一个表格“按主题分类的 TeX”来自 Victor Eijkhout,显示数学原子之间的间距。间距信息放在数学原子之间的上标位置:

{}ord thick =rel \intop \intop

同样的分析

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

产量:

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

充当\hphantom{...}子公式。可以看出,和后面的运算符\thinmuskip之间有一个额外的细空格() 。\hphantom{...}

可以通过以下方式取消此空间\!

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

\!否定了细间距,它在 LaTeX 中定义为:

\def\!{\mskip-\thinmuskip}

另一种方法是删除中的空子公式,\hphantom并将转换\hphantom为可见的 rel 原子=

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

分析:

{}ord 厚度 { =rel 厚度op} \int

示例文件增加了内容\thinmuskip以更清楚地显示间距问题:

\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}

结果

相关内容