在对齐环境中,强制在 \lim 参数内换行

在对齐环境中,强制在 \lim 参数内换行

align环境中,我有\lim两个变量,它们应该显示在两行中:

\begin{align}
...
f & = \lim _ {a \rightarrow -\infty \linebreak b \rightarrow \infty} ... \\
...
\end{align}

目前,我想要换行的地方没有换行符;它显示在一行中。我该如何强制换行?\linebreak被忽略并\\破坏了align环境。

答案1

用于substack指定两个变量。

正如 egreg 指出的那样,您还可以使用subarry提供的最后两个解决方案。最后一个解决方案还考虑到和a占用b的空间大小不同,并创建一个宽度为的框,x并将ab置于该空间内。

在此处输入图片描述

此外,在这种情况下最好使用\to而不是,\rightarrow因为这更好地代表了这里的数学意义。

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\newcommand*{\AlignChar}[1]{\makebox[1ex][c]{\ensuremath{\scriptstyle#1}}}%
\begin{align}
 \lim _{\substack{a \to -\infty \\ b \to \infty}} =
 \lim _{\begin{subarray}{l} a \to -\infty \\ b \to \infty \end{subarray}} =
 \lim _{\begin{subarray}{l} \AlignChar{a}  \to -\infty \\ \AlignChar{b} \to \infty \end{subarray}}
 \end{align}
\end{document}

根据 egreg 的评论,你也可以写:

\newcommand*{\AlignChar}[1]{\makebox[1ex][c]{$\scriptstyle#1$}}%

这样会使该宏更易于阅读,但我个人更喜欢使用,\ensuremath因为对我来说,这明确地捕捉到了它可以在模式下使用的事实。在这种情况下,这样$...$做没问题的原因是\makebox进入文本模式,因此您可以在其中使用$..$或。\ensuremath

答案2

这里有一个可能不太有吸引力的替代方法,即使用以下方法来堆叠运算符限制\mathop

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align}
f & = \mathop{\lim_{a\rightarrow-\infty}}_{b\rightarrow\infty}
\end{align}
\end{document}​

相关内容