amsmath:将多行公式系统与描述对齐

amsmath:将多行公式系统与描述对齐

我有一个多行公式系统,这些公式被分组并在之后进行简要描述。我正在使用该amsmath包。不知何故,右侧文本(描述)的对齐方式不起作用。

以下是代码/MWE:

\documentclass{scrartcl}
\usepackage{amsmath}

\begin{document}
\begin{flalign*}
&\text{positive constants}      & &\begin{alignedat}{2}
&k_1, k_2               &\text{\emph{catalysis}}\\
&k_{dT_1}, k_{dT_2}, k_{dRP}    &\text{\emph{degredation}}\\
&\alpha, \gamma             &\text{\emph{decision thresholds}}\end{alignedat}\\
\hline
&\text{state variables}         & &\begin{alignedat}{2}
&C_1, C_2               &\text{\emph{substrates}}\\
&T_1, T_2, RP               &\text{\emph{products}}\\
&L_1, L_2               &\text{\emph{boolean decision variables}}\end{alignedat}\\
\hline
&\text{init}                & &\begin{alignedat}{2}
&C_1 > 0, C_2 > 0           &\text{\emph{positive substrates}}\\
&T_1 = 0, T_2 = 0, RP = 0   &\text{\emph{zero products}}\\
&L_1 \geq 0,  L_2 \geq 0        &\text{\emph{non-negative booleans}}\\
&k_i, k_{d_i}, \alpha, \gamma   &\text{\emph{positive constants}}\end{alignedat}\\
\hline
&\text{ODE system}          & &\begin{aligned}
C_1'    &= -k_1 \cdot L_1                                       & \\
C_2'    &= -k_2 \cdot L_2                                       & \\
T_1'    &= \frac{L_1 \cdot k_1 + L_2 \cdot k_2}{1 + L_1 + L_2}          &- k_{dT_1} \\
T_2'    &= \frac{L_1 \cdot k_1 + L_2 \cdot k_2}{1 + L_1 + L_2} \cdot L_2    &- k_{dT_2} \\
RP'     &= \frac{L_1 \cdot k_1 + L_2 \cdot k_2}{1 + L_1 + L_2} \cdot L_1    &- k_{dRP}  
\end{aligned}\\
\end{flalign*}

\end{document}

并且它以这种方式对齐。但意图是“催化,...,正常数”全部向右对齐。

在此处输入图片描述

答案1

我会使用一个tabular*环境。

\documentclass{scrartcl}
\usepackage{amsmath,mathtools}
\usepackage{array,booktabs}

\newcommand{\RP}{\mathit{RP}}

\begin{document}

\begin{center}
\begin{tabular*}{\textwidth}{
  @{\extracolsep{\fill}}
  l
  >{$}l<{$}
  >{\itshape}l
  @{}
}
\toprule
positive constants
  & k_1, k_2                       & catalysis \\
  & k_{dT_1}, k_{dT_2}, k_{d\RP}   & degredation \\
  & \alpha, \gamma                 & decision thresholds \\
\midrule
state variables
  & C_1, C_2                       & substrates \\
  & T_1, T_2, \RP                  & products \\
  & L_1, L_2                       & boolean decision variables \\
\midrule
init 
  & C_1 > 0, C_2 > 0               & positive substrates \\
  & T_1 = 0, T_2 = 0, \RP = 0      & zero products \\
  & L_1 \geq 0,  L_2 \geq 0        & non-negative booleans \\
  & k_i, k_{d_i}, \alpha, \gamma   & positive constants \\
\midrule
ODE system
& \multicolumn{2}{l@{}}{%
    $\begin{aligned}[t]
      C_1' &= -k_1 L_1 \\
      C_2' &= -k_2 L_2 \\
      T_1' &= \frac{L_1 k_1 + L_2 k_2}{1 + L_1 + L_2} - k_{dT_1} \\
      T_2' &= \frac{L_1 k_1 + L_2 k_2}{1 + L_1 + L_2} L_2 - k_{dT_2} \\
 \mathllap{\RP'} &= \frac{L_1 k_1 + L_2 k_2}{1 + L_1 + L_2} L_1 - k_{d\RP}  
    \end{aligned}$%
   } \\
\bottomrule
\end{tabular*}
\end{center}

\end{document}

注意一些变化:因为反相被视为单个变量,最好使用,\mathit以便字母之间的间距更短;我删除了所有\cdot,这似乎没有必要。

在最后一行,long 变量被设置为稍微靠左,这样顶部的变量就会与前面的行对齐。

整个物体可能应该放在一个table环境里面以使其漂浮。

我不会将左列的标签移动到块的垂直中心:左上角的位置最适合避免歧义,并且规则明确表明这些标签指的是整个块。

multirow不同意的话可以看一下包裹。

在此处输入图片描述

相关内容