我有以下代码:
\begin{align}
& a+b+c+d+e+f = 15000 & \text{for } a = 1 ... 15 \\
& D_t=
\begin{cases}
\text{equation} , & \text{for } t = 1 ... 10 \\
\text{another equation} , & \text{for } t = 1 ... 10 \\
\end{cases}
\end{align}
但是,我希望案例中的“for”参数与对齐环境中的参数对齐,看起来像这样:
我想知道是否有一种方法可以自动完成此操作,而不是使用手动间距。我尝试过使用数组,但似乎无法解决问题。
谢谢。
答案1
保留\Centerstack
可设置但固定的基线跳跃。因此,使用\Centerstack
s 设置案例的方程式以及(分别)案例的条件将确保它们的基线跳跃兼容。
\documentclass{report}
\usepackage{amsmath}
\usepackage[usestackEOL]{stackengine}
\stackMath
\setstackgap{L}{1.2\normalbaselineskip}
\begin{document}
\begin{align}
& a+b+c+d+e+f = 15000 && \text{for } a = 1 ... 15 \\
& D_t= \left\{\Centerstack[l]{\text{equation} ,\\ \text{another equation}}\right.&&
\Centerstack{ \text{for } t = 1 ... 10 \\ \text{for } t = 1 ... 10}
\end{align}
\end{document}
答案2
获取方法如下:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{alignat}{2}
& a+b+c+d+e+f = 15000 &\quad & \text{for } a = 1 ... 15 \\
& D_t=
\begin{cases}
\text{equation} , \\
\text{another equation} ,
\end{cases} & & \begin{aligned}
\text{for } t = 1 ... 10 \\\text{for } t = 1 ... 10
\end{aligned}
\end{alignat}
\begin{alignat}{2}
& a+b+c+d+e+f = 15000 &\quad & \text{for } a = 1 ... 15 \\
& D_t=
\mathrlap{\begin{cases}
\text{equation} , & \text{for } t = 1 ... 10 \\
\text{another equation} ,\hspace{1.9em}& \text{for }t = 1 ... 10
\end{cases}}
\end{alignat}
\end{document}
答案3
如果我们强制每个等式的左边部分占据固定的宽度,这会很容易,例如使用\makebox[20em][l]{..}
。
\documentclass{report}
\usepackage{amsmath}
\begin{document}
\begin{align}
&\makebox[20em][l]{$a+b+c+d+e+f = 15000$} \text{for } a = 1 \dots 15 \\
&\makebox[20em][l]{$D_t=\begin{cases}
\text{equation}, \\
\text{another equation},
\end{cases}$} \begin{aligned}\text{for } t = 1 \dots 10\\
\text{for } t = 1 \dots 10\end{aligned}
\end{align}
\end{document}