在align
环境中,我有\lim
两个变量,它们应该显示在两行中:
\begin{align}
...
f & = \lim _ {a \rightarrow -\infty \linebreak b \rightarrow \infty} ... \\
...
\end{align}
目前,我想要换行的地方没有换行符;它显示在一行中。我该如何强制换行?\linebreak
被忽略并\\
破坏了align
环境。
答案1
用于substack
指定两个变量。
正如 egreg 指出的那样,您还可以使用subarry
提供的最后两个解决方案。最后一个解决方案还考虑到和a
占用b
的空间大小不同,并创建一个宽度为的框,x
并将a
和b
置于该空间内。
此外,在这种情况下最好使用\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}