包 amsmath 错误:\begin{multline} 仅在段落模式下允许

包 amsmath 错误:\begin{multline} 仅在段落模式下允许

当我尝试multline在案例中使用环境时,我收到一条错误消息。这是我的等式:

\begin{equation} \label{eq:SMSKIN_TU2009} 
    \begin{split}
        SM_{SKIN,Int} &= SM_{SKIN,Old} + INI - Q_M - EA_{SKIN} + SM_{SKIN,Upd} \\
        SM_{SKIN,New} &= 
        \begin{cases}
            FC_{SKIN}     & 
            \begin{multline}
                \quad \text{if } SM_{SKIN,Int} > FC_{SKIN}, \quad Q_{SKIN} = SM_{SKIN,Int} - \\ FC_{SKIN}
            \end{multline} \\
            0             & \quad \text{if } SM_{SKIN,Int} < 0,  \quad Q_{SKIN} = 0\\
            SM_{SKIN,Int} & \quad \text{otherwise },  \quad Q_{SKIN} = 0\\
        \end{cases}
    \end{split}
\end{equation}

如果我不使用该multline环境,则方程式会正确显示,但由于行不适合页面,编译器会发出警告。

感谢您的帮助。谢谢!

答案1

正如@GuM 所建议的,您可以加载mathtools包(包的超集amsmath)并使用其multlined环境而不是非法multline环境,但是,我认为最好使用简单方法\parbox来显示相关材料。

我还将使用\mathit它来排版多字母变量名称以及\mathrm排版下标中的首字母缩略词。

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools} % for 'dcases' env.
\begin{document}
\begin{equation} \label{eq:SMSKIN_TU2009} 
\begin{split}
\mathit{SM}_{\mathrm{SKIN},\mathrm{Int}} 
&= \mathit{SM}_{\mathrm{SKIN},\mathrm{Old}} + \mathit{INI} 
   - Q_M - \mathit{EA}_{\mathrm{SKIN}} 
   + \mathit{SM}_{\mathrm{SKIN},\mathrm{Upd}} \\
\mathit{SM}_{\mathrm{SKIN},\mathrm{New}} 
&= \begin{dcases}
      \mathit{FC}_{\mathrm{SKIN}} 
         %% set up a parbox with automatic hanging indentation from the 2nd line onward
         &\parbox[t]{6cm}{\raggedright\hangafter1\hangindent1em 
           if $\mathit{SM}_{\mathrm{SKIN},\mathrm{Int}} 
              > \mathit{FC}_{\mathrm{SKIN}}$, 
           $Q_{\mathrm{SKIN}} = 
              \mathit{SM}_{\mathrm{SKIN},\mathrm{Int}} 
              - \mathit{FC}_{\mathrm{SKIN}}$} \\
      0 & \text{if $\mathit{SM}_{\mathrm{SKIN},\mathrm{Int}} < 0$,   
         $Q_{\mathrm{SKIN}} = 0$}\\
      \mathit{SM}_{\mathrm{SKIN},\mathrm{Int}} 
         & \text{otherwise,  $Q_{\mathrm{SKIN}} = 0$}
   \end{dcases}
\end{split}
\end{equation}
\end{document}

相关内容