使用\documentclass[a4paper, 10pt, conference]{ieeeconf}
下面的代码,强制文本移动得比列的宽度更宽,并且不会移动到下一行。
\begin{equation}
\normalsize
J_i(G)=\begin{cases}
+\infty, & \text{if $j$ gives the very high return and has the slope of the curve inward towards other peak points.} \\
0, & \text{if $j$ gives the very high return and has the slope of the curve outward towards other peak points.}\\
-\infty, & \text{otherwise},
\end{cases}
\label{eq:eq:mylabel}
\end{equation}
这是我得到的输出。
我尝试了各种方法,包括在后面添加 \\,of
但都不起作用。此外,\linebreak
在同一个位置添加也不会强制移动到新行。
答案1
第二列cases
是在数学模式下排版的,通常是一种简短的情况;当涉及文本时\text
可以使用,但这不会将副本拆分到多行。
你可以用 来实现\parbox
。但结果并不理想。我建议使用可以在等式下方解释的简写形式。
\documentclass[a4paper, 10pt, conference]{IEEEconf}
\usepackage{amsmath} % for 'cases' environment
\usepackage{lipsum} % just for the example
\begin{document}
\lipsum[1][1-2]
\begin{equation}\label{eq:mylabel}
J_i(G)=
\begin{cases}
+\infty, & \parbox[t]{0.5\linewidth}{
if $i$ gives the very high return and has the slope
of the curve inward towards other peak points;
} \\
0, & \parbox[t]{0.5\linewidth}{
if $i$ gives the very high return and has the slope
of the curve outward towards other peak points;
} \\
-\infty, & \text{otherwise.}
\end{cases}
\end{equation}
\lipsum[1][3-4]
\begin{equation}\label{eq:mylabel-new}
J_i(G)=
\begin{cases}
+\infty, & \text{inward case for $i$;} \\
0, & \text{outward case for $i$;} \\
-\infty, & \text{other cases for $i$.}
\end{cases}
\end{equation}
In the above equation, `inward' and `outward' case refer to when $i$ gives the
very high return and has the slope of the curve inward or, respectively, outward
towards other peak point.
\lipsum[2-10]
\end{document}
的使用\lipsum
仅仅是为了给公式提供背景。
答案2
正如您(重新)发现的那样,cases
环境不会自动换行较长的解释。作为补救措施,我建议您将cases
环境的内容放在允许换行的自定义array
环境中。请注意,没有必要\text
对解释性文本材料使用指令。
[由于某种原因,我无法上传以下代码生成的输出截图。我会稍后再试,也就是几个小时后。]
一般性评论:我认为,如果您能找到一种更简洁的方式来表述“如果 $j$ 给出非常高的回报,并且曲线的斜率向内指向其他峰值点”和“如果 $j$ 给出非常高的回报,并且曲线的斜率向外指向其他峰值点”这两个子句,您的读者将受益匪浅,尤其是因为这些子句仅在一个词上有所不同:第一个子句中的“向内”,而第二个子句中的“向外”。
\documentclass[a4paper, 10pt, conference]{IEEEconf}
\usepackage{amsmath} % for 'cases' environment
\usepackage{array} % for '\newcolumntype' macro
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
\newenvironment{myarray}{%
\begin{array}{@{} l P{0.5\columnwidth} @{}}%
}{%
\end{array}}
\begin{document}
\begin{equation}\label{eq:eq:mylabel}
J_i(G)=
\begin{cases}
\begin{myarray}
+\infty, & if $j$ gives the very high return and has the slope of the curve inward towards other peak points; \\
0, & if $j$ gives the very high return and has the slope of the curve outward towards other peak points;\\
-\infty, & otherwise.
\end{myarray}
\end{cases}
\end{equation}
\end{document}