协调案例环境中的条件

协调案例环境中的条件

我有一个包含三个“部分”的分段函数。我希望所有三个条件都与变量 x 对齐。我该如何实现?以下是我目前拥有的代码:

\[
f(x) = \begin{cases} 
                mx^2 +nx +1, & x \le -1 \\ 
                2m e^{|x|-1} + \sin \pi x - 3n, & -1 < x < 1 \\ 
                3x^2 - (m+n)x, & x \ge 1 
           \end{cases}
\]

答案1

另一种解决方案,它扩展了cases环境。它添加了一个可选参数来定义数组列选项。标准cases行为是默认行为,因此如果没有可选参数,它就像普通 amsmath 的情况一样。

\documentclass{article}
\usepackage{amsmath}
\makeatletter
\renewcommand{\env@cases}[1][@{}l@{\quad}l@{}]{%
  \let\@ifnextchar\new@ifnextchar
  \left\lbrace
  \def\arraystretch{1.2}%
  \array{#1}%
}
\makeatother
\begin{document}
\[
  f(x) = \begin{cases}[@{}l@{\quad}r@{}l@{}]
    mx^2 +nx +1, & &x \le -1 \\
    2m e^{|x|-1} + \sin \pi x - 3n, & -1 < {} &x < 1 \\
    3x^2 - (m+n)x, & &x \ge 1
  \end{cases}
\]
\end{document}

重新定义具有不同对齐方式的案例环境

答案2

您也可以使用alignedat左边的大括号来在多个地方进行对齐:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
  f(x) = \left\{\begin{alignedat}{2}
    & mx^2 +nx +1, && x \le -1 \\
    & 2m e^{|x|-1} + \sin \pi x - 3n, \qquad  & -1 < {}&x < 1 \\
    & 3x^2 - (m+n)x, && x \ge 1
  \end{alignedat}\right.
\]
\end{document}

用括号对齐

答案3

这种方法重新使用了其他答案中的想法,但方式不同:

\[
f(x) = \begin{cases} 
         mx^2 +nx +1, & x \le -1 \\ 
         2m e^{|x|-1} + \sin \pi x - 3n,\kern4em & \llap{$-1 < {}$} x < 1 \\ 
         3x^2 - (m+n)x, & x \ge 1 
       \end{cases}
\]

\qquad没有在第二行留下足够的空间,因此将其加倍为\kern4em{}中的小于号后面的\llap确保它与后面的“x”之间的正确间距。最后,由于\llap会将您置于水平模式,因此$...$需要恢复数学模式。

结果:

右侧调整后的案例

答案4

我建议使用\phantom{-1 <{}}来实现适当的间距。这将保留 所占用的尽可能多的空间-1 <(加上{}以获得 右侧的适当间距<):

在此处输入图片描述

如果您还希望1在右侧对齐,您可以\phantom{-}在之前添加1以获得:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}

\newcommand*{\Phantom}{\phantom{-1 <{}}}%
\begin{document}
\[
f(x) = \begin{cases} 
    mx^2 +nx +1,                    & \Phantom x \le           -1 \\ 
    2m e^{|x|-1} + \sin \pi x - 3n, & -1     < x <   \phantom{-}1 \\ 
    3x^2 - (m+n)x,                  & \Phantom x \ge \phantom{-}1 
\end{cases}
\]
\end{document}

相关内容