LaTeX 多行公式对齐在等号处对不齐,& 放错了哪里
更新于
LaTeX 多行公式对齐已经用了 align,等号却还不在一列,先检查每行的结构是否相同。对齐由标记的位置决定,不由源码中看起来有多少空格决定。以下从标记前后不一致、漏掉分行、多组对齐点和内外环境四种现场排查,示例用 aligned 展示可独立预览的内部结构。
同一个关系符号,两行标记必须放在同侧
一种常见错误是第一行写 x&=a+b,第二行写 y=&c。两行把等号放进不同的区域,视觉上自然难以对齐。修改时不要再补空格,应把第二行改为 y&=c,让两行共享同一种左右划分。
\begin{aligned}
x&=a+b\\
y&=c
\end{aligned}
这段例子里左边分别是 x 和 y,右边都从等号开始。换成更长的左侧表达式,等号依然有共同对齐点。若原稿同时出现约等于号和等号,也应按希望对齐的关系位置安排,而不是看到字符宽度不同就改用手工空格。
先将所有行的左侧简化为单个变量测试,能对齐后再放回长内容。如果短式子正常,说明环境起作用,继续查看实际表达式里是否还有额外的对齐标记。不要把排版问题一律归因于软件没有刷新。
源码换了行,不等于数学内容已经分行
第二种错误是编辑器里按了回车,却没有写环境所需的行分隔。像 x&=a+b 后直接接 y&=c,处理时可能被当成同一行的更多列。应在第一行末补上 \\,再开始下一行,而不是只让源码视觉上分成两行。
检查时从第一行向下逐条确认分隔,尤其是从其他文稿复制来的片段。少一个分隔,后面的对齐标记就可能被解释到前一行;多一个分隔则可能增加空行。不要连续按回车猜测位置,先确定每条数学行在哪个记号结束。

这类错误可以用两行内容复现并修正。确认分隔有效后,再把其余行逐一加回,能看清是从哪一行开始变形。完整文档中也应遵循所属环境的分行规则,源码排版整齐并不能替代这些结构记号。

多个对齐点要按同一列方案安排
第三种现场是在第一行写了 x&=a & y&=b,第二行却只写 u&=c,结果右侧留出意外空白。这不是一个等号的位置问题,而是两行采用了不同列结构。若只需一组推导,删除多余列;若确实需要两组并排,就把每行对应区域安排完整。
修改前先在纸上标记每行有几组关系,再决定保留几个对齐点。不要把用于表达数学与号的字符误当作列标记,也不要把真正的对齐点全部转义成可见符号。列数相同后,再核对每列中关系符号的前后位置。

外层管编号,内层管一条公式里的排列
第四种情况是把 aligned 放进完整文档的 equation,却又在内部嵌入另一个独立显示环境。例如在 equation 内再套一整段 align,容易造成环境使用冲突。需要一个整体编号时,可由外层 equation 管理编号,内层采用 aligned 组织各行,避免重复建立独立显示区。
在本站只预览公式片段时,先使用本篇这样的内部结构,不把整篇文档设置一起粘入。本站不能替你验证论文上下文中的编号与引用;完成结构检查后,仍需回到原文档编译并查看实际布局。若要导出文件,应在「可视化」模式执行,并按登录与会员条件操作。
排查结束后重新加入正式变量,从第一行读到最后一行:每一步变换是否成立,每个关系符号是否正确,等号对齐只是版面验收的一部分。不能为了把列排直而误删原式中的一项。
延伸阅读
- LaTeX 公式代码大全:保留带使用说明的对齐片段。
- LaTeX 长公式换行:按运算层次决定分行位置。
常见问题
- LaTeX 多行公式对齐时 & 应该放在等号前还是后?
- 对齐等号的常用做法是各行统一放在等号之前,形成相同的左右结构。关键是所有行一致,不能一行在前另一行在后,也不要用空格代替对齐标记。
- 只想对齐不想每行编号该用哪个环境?
- 单条公式内部的多行内容可使用 aligned;完整文档中也可按需要使用不编号的对齐环境。是否编号还取决于外层文档环境,不能只看内部有对齐标记。