当我尝试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}