所以我需要这样的结局:
这是我使用的代码:
\documentclass[10pt,a4paper,5p,twocolumn,preprint,review,authoryear]{elsarticle}
\usepackage[english]{babel}
\usepackage[fleqn]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry}
\usepackage{fleqn}
\usepackage{txfonts}
\begin{document}
\begin{equation} \label{eq:piece_pipe_case}
\hspace{-0.045\textwidth}h_{J3} - h_{J4} =
\begin{cases}
m_{P2,1} q_{P2} + c_{P2,1}, & \hspace{-0.045\textwidth}\text{if } q_{lim \, 1} \leq q_{P2} \leq q_{lim \,2} \\
m_{P2,2} q_{P2} + c_{P2,2}, & \hspace{-0.045\textwidth}\text{if } q_{lim \, 2} \leq q_{P2} \leq q_{lim \,3} \hdots \\
m_{P2,N_{piece}} q_{P2} + c_{P2,N_{piece}}, &
\end{cases}
%M(\lambda_{1,i,j} -1) &\leq& h_{k1,j} - h_{k2,j} - m_{1,i} q - c_{1,i} &\leq M(1-\lambda_{1,i,j})& \\
%M(\lambda_{2,i,j} -1) &\leq& h_{k1,j} - h_{k2,j} - m_{2,i} q - c_{2,i} &\leq M(1-\lambda_{2,i,j})&\ldots
\end{equation}
\hspace{0.2\textwidth}
$\text{if } q_{lim N_{piece}-1} \leq q_{P2} \leq q_{lim \, N_{piece}} $
\end{document}
一切都很好,但现在公式和最后一行之间有一个分页符/分栏符,所以一切都搞砸了。我试过 vpace 等。现在的问题是我不想使用其他软件包,因为这种格式是期刊批准的,我想避免在这篇文章发表后再做同样的事情。
有想法该怎么解决这个吗?
我不喜欢把箱子做得更大,因为支架看起来很可笑,而且对齐如果我精心捏造的那些东西又会破损。
我知道 parbox 等的解决方案,我认为我已经解决了这个问题,但是现在那里有一个换行符,我被堵住了。
相关问题:多行方程中的多行文本和别的。
答案1
通过在 的第 3 行(第 2 列)下堆叠来完成case
。用户可以进行的关键调整是20pt
堆叠基线跳过,它作为 的参数出现\stackengine
;和\hspace{1in}
,它用于 的第 3 行,case
以设置下置堆栈的右对齐。
方法 1:
已编辑,使用 a\rule
而不是 a\vspace
来校正\smash
ed 堆栈,这样页面底部边距就不会受到不利影响。在这里,我将深度设置\rule
为3\baselineskip
,这适用于此,但如果深度改变,case
则需要进行调整。case
\documentclass[10pt,a4paper,5p,twocolumn,preprint,review,authoryear]{elsarticle}
\usepackage[english]{babel}
\usepackage[fleqn]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry}
\usepackage{fleqn}
\usepackage{txfonts}
\usepackage{stackengine}
\stackMath
\begin{document}
\begin{equation} \label{eq:piece_pipe_case}
\hspace{-0.045\textwidth}h_{J3} - h_{J4} =
\begin{cases}
m_{P2,1} q_{P2} + c_{P2,1}, & \hspace{-0.045\textwidth}\text{if } q_{lim \, 1} \leq q_{P2} \leq q_{lim \,2} \\
m_{P2,2} q_{P2} + c_{P2,2}, & \hspace{-0.045\textwidth}\text{if } q_{lim \, 2} \leq q_{P2} \leq q_{lim \,3} \hdots \\
m_{P2,N_{piece}} q_{P2} + c_{P2,N_{piece}}, &
%M(\lambda_{1,i,j} -1) &\leq& h_{k1,j} - h_{k2,j} - m_{1,i} q - c_{1,i} &\leq M(1-\lambda_{1,i,j})& \\
%M(\lambda_{2,i,j} -1) &\leq& h_{k1,j} - h_{k2,j} - m_{2,i} q - c_{2,i} &\leq M(1-\lambda_{2,i,j})&\ldots
\smash{\stackengine{20pt}{\hspace{1in}}{%
\text{if } q_{lim N_{piece}-1} \leq q_{P2} \leq q_{lim \, N_{piece}}
}{U}{r}{F}{T}{L}}
\end{cases}\rule[-3\baselineskip]{0pt}{1pt}
\end{equation}
\end{document}
方法 2
或者,如果想要case
将最后的限定符括起来,只需从方法 1 中删除\smash
和(即方法 2 更容易):\rule
\documentclass[10pt,a4paper,5p,twocolumn,preprint,review,authoryear]{elsarticle}
\usepackage[english]{babel}
\usepackage[fleqn]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry}
\usepackage{fleqn}
\usepackage{txfonts}
\usepackage{stackengine}
\stackMath
\begin{document}
\begin{equation} \label{eq:piece_pipe_case}
\hspace{-0.045\textwidth}h_{J3} - h_{J4} =
\begin{cases}
m_{P2,1} q_{P2} + c_{P2,1}, & \hspace{-0.045\textwidth}\text{if } q_{lim \, 1} \leq q_{P2} \leq q_{lim \,2} \\
m_{P2,2} q_{P2} + c_{P2,2}, & \hspace{-0.045\textwidth}\text{if } q_{lim \, 2} \leq q_{P2} \leq q_{lim \,3} \hdots \\
m_{P2,N_{piece}} q_{P2} + c_{P2,N_{piece}}, &
%M(\lambda_{1,i,j} -1) &\leq& h_{k1,j} - h_{k2,j} - m_{1,i} q - c_{1,i} &\leq M(1-\lambda_{1,i,j})& \\
%M(\lambda_{2,i,j} -1) &\leq& h_{k1,j} - h_{k2,j} - m_{2,i} q - c_{2,i} &\leq M(1-\lambda_{2,i,j})&\ldots
\stackengine{20pt}{\hspace{1in}}{%
\text{if } q_{lim N_{piece}-1} \leq q_{P2} \leq q_{lim \, N_{piece}}
}{U}{r}{F}{T}{L}
\end{cases}
\end{equation}
\end{document}
答案2
由于它不太适合该列,我将重新格式化整个内容:
% arara: pdflatex
\documentclass[10pt,a4paper,5p,twocolumn,preprint,review,authoryear]{elsarticle}
\usepackage[english]{babel}
%\usepackage{microtype} % for the secreenshot... can't test your font setup.
\usepackage{mathtools}
\usepackage{blindtext}
\newcommand*{\limit}{\text{lim}}
%\usepackage{txfonts} % does not work for me
\begin{document}
\blindtext[3]
\begin{equation}\label{eq:piece_pipe_case}
h_{J3} - h_{J4} =
\begin{cases}
\begin{aligned}q_{P2}&m_{P2,1} + c_{P2,1},\\[-2\jot]&\text{if } q_{\limit 1} \leq q_{P2} \leq q_{\limit 2}\end{aligned} \\
\begin{aligned}q_{P2}&m_{P2,2} + c_{P2,2},\\[-2\jot]&\text{if } q_{\limit 2} \leq q_{P2} \leq q_{\limit 3}\end{aligned}\\
\begin{aligned}q_{P2}&m_{P2,N_\text{piece}} + c_{P2,N_\text{piece}},\\[-2\jot]&\text{if } q_{\limit N_\text{piece}-1} \leq q_{P2} \leq q_{\limit N_\text{piece}}\end{aligned}
\end{cases}
\end{equation}
\end{document}
当然,您可以在此处写 6 个案例,但这将占用外线上方和下方的更多垂直空间。我认为,在这里输入这么多是值得的。
我放弃了(双重加载)fleqn
选项,因为我觉得它与 不太协调elsarticle
。如果你真的需要它,你可以把它放回去。
答案3
空间很狭小,因此定制array
似乎是最好的方法:
\documentclass[10pt,a4paper,5p,twocolumn,preprint,review,authoryear]{elsarticle}
\usepackage[english]{babel}
\usepackage[fleqn]{amsmath}
\usepackage{newtxtext,newtxmath}
\usepackage{amssymb}
\usepackage{array}
\newcommand{\ts}[1]{\mathrm{#1}}
\begin{document}
\begin{equation} \label{eq:piece_pipe_case}
h_{J3} - h_{J4} =
\left\{
\begin{array}{@{}l >{$}l<{$} @{}}
m_{P2,1} q_{P2} + c_{P2,1}, & if $q_{\ts{lim}\,1} \leq q_{P2} \leq q_{\ts{lim}\,2}$ \\[1ex]
m_{P2,2} q_{P2} + c_{P2,2}, & if $q_{\ts{lim}\,2} \leq q_{P2} \leq q_{\ts{lim}\,3}$ \\
\qquad\dots\\
\multicolumn{2}{@{}l@{}}{m_{P2,N_{\ts{piece}}} q_{P2} + c_{P2,N_{\ts{piece}}},} \\
\multicolumn{2}{@{}>{$}r<{$}@{}}{%
if $q_{\ts{lim}\,N_{\ts{piece}}-1} \leq q_{P2} \leq q_{\ts{lim}\,N_{\ts{piece}}}$%
}
\end{array}
\right.\kern-\nulldelimiterspace
\end{equation}
\end{document}
请注意,我使用了newtxtext
和 ,虽然它们基于相同的字体,但newtxmath
效果比 更好。还请注意,下标中的单词片段应直立排版。txfonts
一种可能的替代方案是,所有条件都如下行所示,
\documentclass[10pt,a4paper,5p,twocolumn,preprint,review,authoryear]{elsarticle}
\usepackage[english]{babel}
\usepackage[fleqn]{amsmath}
\usepackage{newtxtext,newtxmath}
\usepackage{amssymb}
\usepackage{array}
\newcommand{\ts}[1]{\mathrm{#1}}
\begin{document}
\begin{equation} \label{eq:piece_pipe_case}
h_{J3} - h_{J4} =
\left\{
\begin{array}{@{}l@{}}
m_{P2,1} q_{P2} + c_{P2,1}, \\
\qquad\text{if $q_{\ts{lim}\,1} \leq q_{P2} \leq q_{\ts{lim}\,2}$} \\[1ex]
m_{P2,2} q_{P2} + c_{P2,2}, \\
\qquad\text{if $q_{\ts{lim}\,2} \leq q_{P2} \leq q_{\ts{lim}\,3}$} \\
\quad\dots \\
m_{P2,N_{\ts{piece}}} q_{P2} + c_{P2,N_{\ts{piece}}}, \\
\qquad\text{%
if $q_{\ts{lim}\,N_{\ts{piece}}-1} \leq q_{P2} \leq q_{\ts{lim}\,N_{\ts{piece}}}$%
}
\end{array}
\right.\kern-\nulldelimiterspace
\end{equation}
\end{document}