如何在案例环境中将案例分成几行

如何在案例环境中将案例分成几行

我需要将某些案例的条件和方程部分都分成几行,因为这些案例不适合文本宽度。我读了一些类似的问题,但看不出这能解决我的问题。给出了 MWE。

\documentclass[11pt,a4paper]{article}
\usepackage[paperheight=22.9cm, paperwidth=8.1cm, margin=0.1cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{authblk}
\usepackage{amsmath}
\usepackage{bm}

\title{The Title}
\author{Somebody}

\begin{document}
\maketitle


\begin{equation}\label{eq:carcost}
c = \begin{cases} 
0           & \mbox{if aaaa bbbb ssssss ddddd fffff ssssss} \\
t(\psi_2-\psi_1)+t_p(\psi_3-\psi1)   & \mbox{if aaaa bbbb ssssss ddddd fffff ssssss}\\
t(\psi_4-\psi_1)+t_p(\psi_5-\psi_1) & \mbox{if if aaaa bbbb ssssss ddddd fffff ssssss}\\
t(\psi_4-\psi_1)+t|\psi_2-\psi_4|+t|\psi_2-\psi_6|+t_p|\psi_3+\psi_5-\psi_1|& \mbox{if if aaaa bbbb ssssss ddddd fffff ssssss}
\end{cases} 
\end{equation}

\end{document}

答案1

可能按照您的演示要求进行操作:

在此处输入图片描述

\documentclass{article}
\usepackage[textwidth=15cm,showframe]{geometry}
\usepackage{amsmath}

\newcommand{\casestext}[2][2in]{\parbox[t]{#1}{\strut\ignorespace #2\strut}}
\begin{document}

\begin{equation}\label{eq:carcost}
c = \begin{cases} 
0 & \casestext{if aaaa bbbb ssssss ddddd fffff ssssss} \\
t(\psi_2 - \psi_1) + t_p(\psi_3 - \psi_1) & \casestext{if aaaa bbbb ssssss ddddd fffff ssssss} \\
t(\psi_4 - \psi_1) + t_p(\psi_5 - \psi_1) & \casestext[2.5in]{if if aaaa bbbb ssssss ddddd fffff ssssss} \\
\parbox[t]{2.2in}{%
  $t(\psi_4 - \psi_1) + t|\psi_2 - \psi_4|$ \\
  \null\hfill${} + t|\psi_2-\psi_6|+t_p|\psi_3+\psi_5-\psi_1|$} & \casestext{if if aaaa bbbb ssssss ddddd fffff ssssss} \\
\end{cases} 
\end{equation}

\end{document}

\casestext[<width>]{<stuff>}在 a 中设置操作对齐且宽度为 的\parbox内容。使用 时默认为,但每次使用时都可以通过在可选参数中指定不同的长度来调整它(如在第 3 种情况下所做的那样)。确保元素之间有适当的垂直间距。[t]<width>2in\casestext{<stuff>}\strut

在第四种情况下设置\parbox[t]{2.2in}方程式是为了给它一种多线的感觉,而无需借助太多的杂技。

我已经调整了geometry在本例中布局更加合理。

答案2

您可以使用表格来表示条件和aligned公式:无需猜测长度,因为您正在决定在哪里分割。

\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{bm}

\newcommand{\splitcond}[1]{%
  \begin{tabular}[t]{@{}l@{}}#1\end{tabular}%
}

\title{The Title}
\author{Somebody}

\begin{document}
\maketitle

\begin{equation}\label{eq:carcost}
c = \begin{cases} 
0 & 
 \splitcond{if aaaa bbbb ssssss \\ ddddd fffff ssssss} \\[4ex]
t(\psi_2-\psi_1)+t_p(\psi_3-\psi1) &
  \splitcond{if aaaa bbbb ssssss \\ ddddd fffff ssssss} \\[4ex]
t(\psi_4-\psi_1)+t_p(\psi_5-\psi_1) &
  \splitcond{if if aaaa bbbb ssssss \\ ddddd fffff ssssss} \\[4ex]
\!\begin{aligned}[t]
  &t(\psi_4-\psi_1)+t|\psi_2-\psi_4|\\
  &\quad+t|\psi_2-\psi_6|+t_p|\psi_3+\psi_5-\psi_1|
\end{aligned} & 
  \splitcond{if if aaaa bbbb ssssss \\ ddddd fffff ssssss}
\end{cases} 
\end{equation}

\end{document}

额外的间距是为了在条件之间做出更好的视觉区分。

在此处输入图片描述

答案3

这是一个解决方案,它使材料符合 OP 指定的非常狭窄的尺度。我放弃了环境cases,并用环境组array(用于数学内容)和tabular环境组(用于文本内容)代替。

在此处输入图片描述

\documentclass[11pt,a4paper]{article}
\usepackage[paperheight=22.9cm, paperwidth=8.1cm, margin=0.1cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{bm}
\begin{document}

\begin{equation}\label{eq:carcost}
c = \left\{
\begin{array}{@{}ll@{}} 
0           
& \begin{tabular}[t]{@{}l@{}}
if aaaa bbbb ssssss \\
\ \ ddddd fffff ssssss
\end{tabular} \\[4ex]
\begin{array}[t]{@{}l@{}}
t(\psi_2-\psi_1)\\
\ \ {}+t_p(\psi_3-\psi1)  
\end{array} 
& \begin{tabular}[t]{@{}l@{}}
if aaaa bbbb ssssss \\
\ \ ddddd fffff ssssss
\end{tabular}\\[4ex]
\begin{array}[t]{@{}l@{}}
t(\psi_4-\psi_1)\\
\ \ {}+t_p(\psi_5-\psi_1)
\end{array} 
& \begin{tabular}[t]{@{}l@{}}
if aaaa bbbb ssssss \\
\ \ ddddd fffff ssssss
\end{tabular}\\[4ex]
\begin{array}[t]{@{}l@{}}
t(\psi_4-\psi_1)\\
\ \ {}+t|\psi_2-\psi_4|\\
\ \ {}+t|\psi_2-\psi_6|\\
\ \ {}+t_p|\psi_3+\psi_5-\psi_1|
\end{array}
& \begin{tabular}[t]{@{}l@{}}
if aaaa bbbb \\
\ \ ssssss ddddd \\
\ \ fffff ssssss
\end{tabular}
\end{array}
\right.
\end{equation}
\end{document}

答案4

您可能会发现另一种解决方案比以前的一些解决方案更清晰。

它使用包mathtools,该包提供了我在这里使用的两个环境:

  1. dcases*,这应该是一种改进cases,通常会省去你在这种情况下切换到文本模式的麻烦,并且

  2. multlined,将数学公式拆分成多行。

我使用固定长度parbox的条件和两个宏\shoveright(用于最后一行)和\shoveleft(用于内行)来使其看起来更好。此外,我还设置了\multlinegap控制缩进的长度。

\documentclass[11pt]{article}
\usepackage[paperheight=22.9cm,paperwidth=8.1cm,margin=0.1cm]{geometry}
\usepackage{mathtools}
\begin{document}
\begin{equation}
\setlength{\multlinegap}{0.5em}
c = \begin{dcases*}
  0
& \parbox[t]{2.25cm}{%
    if aaaa bbbb \\
    ssssss ddddd \\
    fffff ssssss
  }
\\[3pt]
  \begin{multlined}[t]
    t(\psi_2-\psi_1)+ \\
    \shoveright{t_p(\psi_3-\psi1)}
  \end{multlined}
& \parbox[t]{2.25cm}{%
    if aaaa bbbb \\
    ssssss ddddd \\
    fffff ssssss
  }
\\[3pt]
  \begin{multlined}[t]
    t(\psi_4-\psi_1)+ \\
    \shoveright{t_p(\psi_5-\psi_1)}
  \end{multlined}
& \parbox[t]{2.25cm}{%
    if aaaa bbbb \\
    ssssss ddddd \\
    fffff ssssss
  }
\\[3pt]
  \begin{multlined}[t]
    t(\psi_4-\psi_1)+ \\
    \shoveleft[\multlinegap]{t|\psi_2-\psi_4|+} \\
    \shoveleft[\multlinegap]{t|\psi_2-\psi_6|+} \\
    \shoveright{t_p|\psi_3+\psi_5-\psi_1|}
  \end{multlined}
& \parbox[t]{2.25cm}{%
    if aaaa bbbb \\
    ssssss ddddd \\
    fffff ssssss
  }
\end{dcases*}
\end{equation}
\end{document}

不用说,我不喜欢这个结果,但这是你想要的。

结果

相关内容