我已经潜水很久了,但发现了一个问题,在这个讨论板上找不到答案。我创建了一个自定义的 alignedat 环境,其唯一目的是使用 \setstretch 减少行间距。
如下所示,在自定义环境中使用 \setstretch 时似乎有多余的空间,而在常规 alignedat 环境之前则没有。有人能告诉我在自定义环境中可以输入什么代码来纠正这个问题吗?任何关于为什么会发生这种情况的信息都将不胜感激。
\documentclass{article}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{mathtools}
\usepackage{setspace}
\let\tempalignedat\alignedat
\let\endtempalignedat\endalignedat
\renewenvironment{alignedat}{
\setstretch{.5}
\tempalignedat}{\endtempalignedat}
\begin{document}
Here is some filler text to demonstrate the spacing issue.
\[\begin{alignedat}[t]{4}
&\text{max}\quad & z = 5x_1 & {}-{} & x_2 \\
&\text{s.t.} & x_1 & {}-{} & 3x_2 & {}\le{} & 1, \\
& & x_1 & {}-{} & 4x_2 & {}\le{} & 3, \\
& & & & \mathllap{x_1, x_2} & {}\ge{} & 0.
\end{alignedat}\]
Here the spacing issue has been fixed.
\[\setstretch{.5}
\begin{alignedat}[t]{4}
&\text{max}\quad & z = 5x_1 & {}-{} & x_2 \\
&\text{s.t.} & x_1 & {}-{} & 3x_2 & {}\le{} & 1, \\
& & x_1 & {}-{} & 4x_2 & {}\le{} & 3, \\
& & & & \mathllap{x_1, x_2} & {}\ge{} & 0.
\end{alignedat}\]
\end{document}
编辑:我指的额外垂直空间出现在文本之后但在方程式之前。