dcases(或cases)环境之间的条件对齐

dcases(或cases)环境之间的条件对齐

我发现了有关该主题的各种讨论/问题,但没有找到能够以易于理解的方式回答我的问题的讨论/问题。

如何对齐多个分段方程的条件?

即:在下面的代码中,如何在单个环境中对齐&各个环境中的 -symbols ?我认为这并不重要,但方程式是在环境中的。dcasesalignsubequations

请解释一下您的解决方案是如何工作的,这样我才能更好地理解 LaTeX 如何使用您的代码对齐数学部分。谢谢!

\documentclass{article}
\usepackage{mathtools}
\begin{document}
    \begin{subequations}
        \begin{align}
            \frac{\partial f(x)}{\partial MPO} &= 1, \quad &\forall x, \\
            \frac{\partial f(x)}{\partial L_1} &= 
            \begin{dcases}
                \frac{1}{\rho} - 1, \quad & x<L_1 \\
                0, \quad & \text{otherwise,}
            \end{dcases} \\
            \frac{\partial f(x)}{\partial L_2} &= 
            \begin{dcases}
                -\frac{1}{\rho}, \quad & x<L_2 \\
                0, \quad & \text{otherwise,}
            \end{dcases}\\
            \frac{\partial f(x)}{\partial \rho} &=
            \begin{dcases}
                \frac{L_2-L_2}{\rho^2}, \quad & x<L_1 \\
                \frac{L_2-x}{\rho^2}, \quad & L_1\leq x<L_2\\
                0, \quad & \text{otherwise.}
            \end{dcases}
        \end{align}
    \end{subequations}
\end{document}

答案1

这是 MWE 的答案:

\documentclass{article}
\usepackage{mathtools}
\begin{document}
    \newcommand{\cl}{.2\textwidth} % cl: custom length for the makemathboxes
    \begin{align}
        x & =
        \begin{dcases}
            \mathmakebox[\cl][l]{
                y,
                }
                \text{foo,} \\
            \mathmakebox[\cl][l]{
                y + z,
                }
                \text{foobar,}
        \end{dcases} \\
        y -z & =
        \begin{dcases}
            \mathmakebox[\cl][l]{
                123,
                }
                \text{foofoobar,} \\
            \mathmakebox[\cl][l]{
                9876543210,
                }
                a<b,
        \end{dcases} \\
        x - y + z & =
        % \smash{
        % \phantom{\begin{dcases}\null\\\null\end{dcases}} % without this, the \sin{\phi} doesn't indent to the dcases environments
        % }
        % the 3 lines above or the following line have more or less the same effect (the line below is better)
        \mkern15mu
        \mathmakebox[\cl][l]{
        \sin(\phi),
        }
        \phi\geq\theta. % note this looks minimally disaligned with the dcases environments
    \end{align}
\end{document}

可以将更多内容放入新命令中,但它有效。请注意注释。

相关内容