两列对齐环境,一行横跨两列

两列对齐环境,一行横跨两列

是否有一个好的/正确的方法来制作一行跨越多列的对齐环境?

目前,我正在使用类似以下的破解方法,但我觉得这可能不是最好的方法。

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

事实证明,它比我最初想象的要复杂得多。

相关内容