我试图精确对齐积分符号,同时仍保留等号周围的正确间距。为什么以下代码不能完全正确?
\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 厚 \int
op 薄 \int
op
同样的分析
& \hphantom{{}={}} \int
产量:
{}
ord 无
{
{}
ord 厚 =
rel 厚
{}
ord }
ord
薄 \int
op
充当\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}