如何对齐 {align*} 下的某些行

如何对齐 {align*} 下的某些行

我通常使用\begin{align*}\end{align*}来对齐一些文本。这里有一个我想实现的特殊情况:

abcdefghijklmn
   hijklmn
opqrstuvwxyz
   hijklmn

有 2 条规则:

1)我想左调整第一行和第三行

2)我想将第2行和第4行的开头调整到第1行的特殊位置(例如在“d”下)。

有人能帮忙吗?非常感谢。

答案1

它更常用tabular于文本。 amsmathalign*环境及其相关工具用于方程式(详细信息这里)。

\documentclass{minimal}
\usepackage{amsmath}
\begin{document}
\setlength{\tabcolsep}{0pt} %Probably needed in document classes other than minimal.
\begin{tabular}{ll}
abc&defghijklmn \\
&hijklmn     \\
\multicolumn{2}{l}{opqrstuvwxyz}   \\
&hijklmn
\end{tabular}
%                                                                               
\begin{align*}
\textrm{abc}&\textrm{defghijklmn} \\
            &\textrm{hijklmn}     \\
\textrm{opq}&\textrm{rstuvwxyz}   \\
            &\textrm{hijklmn}
\end{align*}
\end{document}

您可以在表格中找到更多详细信息LaTeX 入门指南

答案2

\documentclass{article}
\usepackage{mathtools} % first solution
\usepackage{array} % second solution
\begin{document}

\begin{alignat*}{2}
&abc&&defghijklmn \\
   &&&hijklmn     \\
&\mathrlap{opqrstuvwxyz} \\
&&&hijklmn
\end{alignat*}

\[\setlength{\arraycolsep}{0pt}
\begin{array}{*{2}{>{\displaystyle}l}}
abc&defghijklmn \\
   &hijklmn     \\
\multicolumn{2}{l}{opqrstuvwxyz} \\
   &hijklmn
\end{array}
\]

\end{document}

然而,现实生活中的例子会更好,特别是如果有间距的话。

答案3

我知道这不会是您所期望的,因为您想要处理数学模式材料(您应该重新表述您的问题以使其清楚),但是使用您的公式中给出的数据的一个非常简单的方法只是:

\documentclass{minimal}
\begin{document}
\noindent abcdefghijklmn\\
\phantom{abc}hijklmn\\
opqrstuvwxyz\\
\phantom{abc}hijklmn
\end{document}

对于显示数学中的内容,您应该查看 amsldoc.pdf 文件,其中记录了 amsmath 提供的环境。

相关内容