我正在寻找一种方法来对齐单独的行,但始终相对于前一行中的某个标记。我的用例是以特定方式对齐数学环境中的方程式,但出于演示目的,让我首先使用以下几行来展示它:
----a----
a------b
c--b
d---c
e--d
在这种情况下,我希望将每一行相对于前一行对齐,以使字母匹配:
----a----
a------b
c--b
d---c
e--d
我确信使用表格可以做到这一点。但要使用表格来实现这一点,在我看来,您需要提前知道需要多少列(当您想要添加更多行时,这可能会发生变化),而我正在寻找一种灵活的解决方案,因为每一行都只需要参考前一行进行对齐。
或者我是否遗漏了有关表格的某些功能,而这些功能无法通过这种方式解决我的问题?
为了更具体一点,下面是我想用到的一个实例。代码如下:
\documentclass{article}
\begin{document}
$$
\phi(G\,a\,n)
\\ \phi \circ g (~\phi (a) [\overline n] ~)
\\ \phi (a) [\overline n]
\\ \phi \circ g (\, \forall y. \, \phi(d)[z,y] \to \varphi[y] \, ) [\overline n]
\\ (\forall y. \, \phi(d)[z,y] \to \varphi[y] \, )[\overline n]
\\ \forall y. \, \phi(d)[\overline n,y] \to \varphi[y]
\\ \forall y. \, \overline{\Delta \,n} = y \to \varphi[y]
\\ \varphi[\overline{\Delta \,n}]
\\ \varphi[\overline{G \,n \,n}]
$$
\end{document}
外观:
我希望它看起来是这样的:
答案1
- 正如我在评论中提到的,尝试使用
amsmath
环境align
和/或alignat
:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
With \verb+align+ and insert spaces before last two rows:
\begin{align*}
& \phi(G\,a\,n) \\
& \phi \circ g (~\phi (a) [\bar{n}]) \\
& \phi (a) [\overline n] \\
\phi \circ g (\, \forall y. \, \phi(d)[z,y]
& \to \varphi[y] \, ) [\bar{n}] \\
(\forall y. \, \phi(d)[z,y]
& \to \varphi[y] \, )[\bar{n}] \\
\forall y. \, \phi(d)[\bar{n},y]
& \to \varphi[y]\quad \\
\forall y. \, \overline{\Delta \,n} = y
& \to \varphi[y]\ \\
&\quad\ \varphi[\overline{\Delta \,n}] \\
&\quad\ \varphi[\overline{G \,n \,n}]
\end{align*}
or with \verb+alignat+
\begin{alignat*}{3}
& \mathrlap{\phi(G\,a\,n)} \\
& \mathrlap{\phi \circ g (~\phi (a) [\bar{n}])} \\
& \mathrlap{\phi (a) [\overline n]} \\
\phi \circ g (\, \forall y. \, \phi(d)[z,y]
& \to && \varphi[y] \, ) [\bar{n}] \\
(\forall y. \, \phi(d)[z,y]
& \to {} && \varphi[y] \, ) [\bar{n}] \\
\forall y. \, \phi(d)[\bar{n},y]
& \to && \varphi[y]\quad \\
\forall y. \, \overline{\Delta \,n} = y
& \to && \varphi[y]\ \\
&&& \varphi[\overline{\Delta \,n}] \\
&&& \varphi[\overline{G \,n \,n}]
\end{alignat*}
\end{document}
- 因为
mathrlap
你需要加载mathtools
包 - 在 LaTeX 文档中不要使用 $$` 作为数学分隔符