![寻找一篇关于使用 LaTeX 对数学表达式进行水平对齐的*综合论文*](https://linux22.com/image/451329/%E5%AF%BB%E6%89%BE%E4%B8%80%E7%AF%87%E5%85%B3%E4%BA%8E%E4%BD%BF%E7%94%A8%20LaTeX%20%E5%AF%B9%E6%95%B0%E5%AD%A6%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%BF%9B%E8%A1%8C%E6%B0%B4%E5%B9%B3%E5%AF%B9%E9%BD%90%E7%9A%84*%E7%BB%BC%E5%90%88%E8%AE%BA%E6%96%87*.png)
注意:在这篇文章的原始版本中,我错误地使用了“垂直对齐”,而我实际上应该使用“水平对齐”。现在我已经彻底纠正了这个错误。然而,经过这次纠正后,我再也不能说我在这篇文章中描述的内容确实成立了。我的垂直/水平混淆很容易解释我在这个主题上遇到的所有困难。
正如我在其他地方解释过的1,掌握 LaTeX 是我职业生涯中最大的失败。
和,之内而 LaTeX 的主题,即多行数学表达式的水平对齐的子主题,则占据了荣誉的位置,因为大多数的时间都浪费在了徒劳无功和沮丧之中。
我认为,部分原因可能是,解决问题的方法似乎无穷无尽(包括“vanilla LaTeX”指令、包、配方、黑客等)。一些范围非常狭窄的亚变体水平对齐问题。因此,每次我尝试解决某个特定的水平对齐问题时,我的在线搜索都会出现大量方法,这些方法彼此完全不同,并且没有一种适合我想要做的事情2。
因此,我认为我需要做的是研究综合的论文:探讨解决水平对齐问题的最大可能方法数(3) 。
有人知道这样的论文吗?如果有,请告诉我。
编辑:如果需要我所指的一个例子,下面是我必须做的事情,以便在两个数学表达式的各个元素之间进行水平对齐,方法我觉得正确的是:
\begin{align*}
\hspace{3cm}&\exists\,w\,&&\hspace{-1.4cm}[\,w&\hspace{-1.3cm}\in{P}\;&\wedge&&\hspace{-1.3cm}wTy\,&\hspace{-1.4cm}]\;&\text{,\hspace{10pt}and}\\
\hspace{3cm}&\exists\,z\,&&\hspace{-1.4cm}[\,z&\hspace{-1.3cm}\in{P}\;&\wedge&&\hspace{-1.3cm}xTz\,&\hspace{-1.4cm}]\;&.
\end{align*}
搞清楚\hspace
's 的值这个愚蠢的游戏花了我大约 1 个小时。我希望这能足够清楚地说明“可悲的失败”。
当然,上述经验会让任何人都清楚,尽管这种方法中“对齐”一词非常突出,\begin{align*}...\end{align*}
它并不是正确的对于这个特殊问题。我继续使用它的唯一借口是“你认识的魔鬼比你不知道的 10K 个天使崇拜者要好。”
2显然,后一种描述有些夸张。我写的“都不适合”是指“在我的体力范围内都不适合”。我确信在前 100 个搜索结果中,我可能能够找到一个满足我需求的解决方案,但在与前 6 或 7 个搜索结果中提出的配方徒劳无功地斗争之后,我开始精疲力竭了。
3再次,我为了简单起见而夸大了。我意识到,从某人开始撰写此类论文到其发表,数十种全新的水平对齐方法已经问世,因此,尽管无法实现,但全面性的目标应该被视为值得努力追求的理想。
附言: @DavidCarlisle 是对的,作为例子,我发布的是(仍然) 毫无帮助。我这样做有我自己的痛苦理由。不幸的是,正如人们所说,这很复杂。如果有人想知道这些繁琐的细节,请参见下文。
总结:我发布的例子本身就是一个好意的例子,但恶名昭彰地铺就了通往地狱之路……你看,最初,我希望我的问题的答案是指向学习材料的指针我读了之后终于明白了尽可能普遍地使用 LaTeX 在多行数学表达式中定位元素以使其垂直排列的问题。
鉴于这个相当明确的初始目标,在我的帖子的原始版本中,我有意识地克制举例子,因为我知道,无论我的帖子其余部分如何清楚明确地描述了我的目标,有这样的例子会立即发出非常强烈的,但完全适得其反,信号,即我的帖子并不是请求有关 LaTeX 的学习材料,而是有关如何解决示例所示的问题。
然而,根据我的经验,很多读者通常都不喜欢提出像我的帖子原始版本那样笼统的问题,因此,当我看到在我发布问题后不久就出现了对这样一个例子的请求时,我并不感到惊讶。
对于这个特殊情况来说,更糟糕的是,我在原始版本中使用的术语完全是倒着的(或者说是正交的
答案1
如果在单个表达式中使用多个对齐点,通常最好使用alignat
而不是,align
因为后者用于对齐多列方程并增加额外的空间。
另外,避免添加显式空格,如果确实需要添加空格,请使用与数学间距兼容的数学空格,例如\,
或\mspace{5mu}
。使用固定单位,例如cm
通常会导致布局不佳和过度打印,如片段所示。
这里我只使用左对齐的列alignat
(因此&&
跳过右对齐的单元格)
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{align*}
\hspace{3cm}&\exists\,w\,&&\hspace{-1.4cm}[\,w&\hspace{-1.3cm}\in{P}\;&\wedge&&\hspace{-1.3cm}wTy\,&\hspace{-1.4cm}]\;&\text{,\hspace{10pt}and}\\
\hspace{3cm}&\exists\,z\,&&\hspace{-1.4cm}[\,z&\hspace{-1.3cm}\in{P}\;&\wedge&&\hspace{-1.3cm}xTz\,&\hspace{-1.4cm}]\;&.
\end{align*}
\begin{alignat*}{-1}
\exists w &\,[ w\in P &&\wedge w &&\mathbin{T}y &&]&&\text{, and} \\
\exists z &\,[ z\in P &&\wedge w &&\mathbin{T}z &&]&&\text{.}
\end{alignat*}
\end{document}