![两列对齐环境,一行横跨两列](https://linux22.com/image/236309/%E4%B8%A4%E5%88%97%E5%AF%B9%E9%BD%90%E7%8E%AF%E5%A2%83%EF%BC%8C%E4%B8%80%E8%A1%8C%E6%A8%AA%E8%B7%A8%E4%B8%A4%E5%88%97.png)
是否有一个好的/正确的方法来制作一行跨越多列的对齐环境?
目前,我正在使用类似以下的破解方法,但我觉得这可能不是最好的方法。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
L1C1 &= 1234 \,,& L1C2 &= abcd \,,\\
L2C1 &= 1234 \,,& L2C2 &= efgh \,,\\
L3 &= 1234567890abcdefghijklmnop \ . \hspace{-30cm}
\end{align}
\end{document}
答案1
这也是一种黑客攻击,但它会产生预期的结果。
用于\rlap
“隐藏”过长线的宽度。对于给出的示例,我将对最后一行执行此操作:
L3 &= 1234567890\rlap{$abcdefghijklmnop \ .$}
您甚至可能希望在其后添加一些额外的空间以获得所需的分离;只需查看输出即可了解所需的内容。
大多数数学线都包含合理的位置,在这些位置上可以断开而不会造成损坏。
更新:
在评论中,@user2478 建议使用\mathrlap
;requires mathtools
。(是的,这比普通的 更好\rlap
。)
答案2
要跨越,您可以使用\span
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
L1C1 &= 1234 \,,& L1C2 &= abcd \,,\\
L2C1 &= 1234 \,,& L2C2 &= efgh \,,\\
L3 &= {}\span\omit$1234567890abcdefghijklmnop$\ .\hidewidth
\end{align}
\end{document}
事实证明,它比我最初想象的要复杂得多。