我发现了有关该主题的各种讨论/问题,但没有找到能够以易于理解的方式回答我的问题的讨论/问题。
如何对齐多个分段方程的条件?
即:在下面的代码中,如何在单个环境中对齐&
各个环境中的 -symbols ?我认为这并不重要,但方程式是在环境中的。dcases
align
subequations
请解释一下您的解决方案是如何工作的,这样我才能更好地理解 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}
可以将更多内容放入新命令中,但它有效。请注意注释。