\documentclass[10pt,a4paper]{article}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage[width=18.5cm, height=26cm]{geometry}
\begin{document}
\begin{table}
\centering
\begin{tabular}{p{4cm} p{4cm} p{4cm} p{4cm}}
\hline \hline
\bf{ssssssss} & \bf{sssssssssss} & \bf{ssssssssss}& \bf{sssssss} \\
\midrule
\multirow{1}{*}{equation} & alooo & pyaaaaz&
\[
%l=
\begin{cases}
a &\text{when sth }\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
\] \\
\multirow{1}{*}{xxxxxxx}&yyyyyyy&zzzzzz&
\[
%l=
\begin{cases}
a &\text{when sth }\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
\] \\
\multirow{1}{*}{xxxxxxx}&
\[
%l=
\begin{cases}
a &\text{when sth }\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
\]&yyyyyyy&zzzzzz \\
\hline \hline
\end{tabular}
\end{table}
\end{document}
为此,我使用 \begin{cases} 得到了一个表格,但不是一个完美的表格(附在此处)。
我想要一个带有 \begin{cases} 的完美表格,如 table2(附于此处)。
我不知道什么地方出了问题。
答案1
您不能\[...\]
在未声明为p
列的表格单元格中使用。但您不需要它,它还需要猜测宽度:只需在l
列中使用简单的内联数学模式即可。
该\multirow
声明根本没有任何作用(或者可能造成伤害)。 也\bf
已被弃用了大约 30 年,并且绝不采取了争论。
避免双重规则并注意虚假空间。
最后,我添加了一些来\addlinespace
更好地分隔那些高行。
\documentclass[10pt,a4paper]{article}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage[
width=18.5cm,
height=26cm,
heightrounded
]{geometry}
\begin{document}
\begin{table}[htp]
\centering
\begin{tabular}{@{} l l l l @{}}
\toprule
\textbf{ssssssss} & \textbf{sssssssssss} & \textbf{ssssssssss}& \textbf{sssssss} \\
\midrule
equation & alooo & pyaaaaz &
$
%l=
\begin{cases}
a &\text{when sth}\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
$
\\ \addlinespace
xxxxxxx & yyyyyyy & zzzzzz &
$
%l=
\begin{cases}
a &\text{when sth}\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
$
\\ \addlinespace
xxxxxxx &
$
%l=
\begin{cases}
a &\text{when sth}\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
$
& yyyyyyy & zzzzzz
\\
\bottomrule
\end{tabular}
\caption{Please add a caption}
\end{table}
\end{document}
如果您不需要标题,那么您也不需要table
:如果您希望它处于固定位置,只需将其放置tabular
在center
环境中(但最好让它浮动并添加标题)。
答案2
您正在使用 displaymath 环境\[Displayed math\]
,该环境将内容置于一行的中心。这就是您看到的间距。
用内联数学代替$inline math$
\documentclass[10pt,a4paper]{article}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage[width=18.5cm, height=26cm]{geometry}
\begin{document}
\begin{table}
\centering
\begin{tabular}{p{4cm} p{4cm} p{4cm} p{4cm}}
\toprule \toprule
\bf{ssssssss} & \bf{sssssssssss} & \bf{ssssssssss}& \bf{sssssss} \\
\midrule
equation & alooo & pyaaaaz&
$
%l=
\begin{cases}
a &\text{when sth }\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
$ \\
xxxxxxx&yyyyyyy&zzzzzz&
$
%l=
\begin{cases}
a &\text{when sth }\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
$ \\
xxxxxxx&
$
%l=
\begin{cases}
a &\text{when sth }\\
b &\text{when sth else} \\
c &\text{when elsewhere;}
\end{cases}
$&yyyyyyy&zzzzzz \\
\bottomrule \bottomrule
\end{tabular}
\end{table}
\end{document}
我删除了该multirow
命令,因为他们没有在表中添加任何内容。