
Die Tabelle ist zu breit und ich möchte sie schmaler machen, indem ich das Second
unter das umschließe First
. Wie erreiche ich dies?
Der Latex-Code sieht derzeit folgendermaßen aus:
\begin{table*}[t]
\centering
\caption{Add caption}
\begin{tabular}{|c|c|c|c|c|}
\hline
\multirow{2}[4]{*}{Case Study} & \multirow{2}[4]{*}{5} & \multicolumn{3}{c|}{IBEA} \bigstrut\\
\cline{3-5} & & FD & P & U \bigstrut\\
\hline
\multirow{3}[6]{*}{First Second} & Run (c.) & 6090 & 6605 & 7976\bigstrut\\
\cline{2-5} & Run (nc.) & 6665 & 6187 & 6609 \bigstrut\\
\cline{2-5} & \#Missed & 39332 & 46001 & 46765 \bigstrut\\
\hline
\multirow{3}[6]{*}{First Second} & Run (c.) & 4418 & 4459 & 4513 \bigstrut\\
\cline{2-5} & Run (nc.) & 4480 & 4384 & 443 \bigstrut\\
\cline{2-5} & \#Missed & 21081 & 21897 & 21613\bigstrut\\
\hline
\multirow{3}[6]{*}{First Second} & Run (c.) & 4163 & 4251 & 4282 \bigstrut\\
\cline{2-5} & Run (nc.) & 4241 & 4186 & 4302\bigstrut\\
\cline{2-5} & \#Missed & 1217 & 1456 & 2524 \bigstrut\\
\hline
\end{tabular}%
\label{tab:addlabel}%
\end{table*}%
Antwort1
Dies kann beispielsweise durch eine verschachtelte Tabelle erreicht werden:
\documentclass{article}
\usepackage{multirow,bigstrut}
% The optional argument specifies the horizontal alignment:
% l = left aligned
% c = centered
% r = right aligned
\newcommand*{\tab}[2][c]{%
\begin{tabular}{@{}#1@{}}%
#2%
\end{tabular}%
}
\begin{document}
\begin{table*}[t]
\centering
\caption{Add caption}
\begin{tabular}{|c|c|c|c|c|}
\hline
\multirow{2}[4]{*}{\tab{Case\\Study}} & \multirow{2}[4]{*}{5} & \multicolumn{3}{c|}{IBEA} \bigstrut\\
\cline{3-5} & & FD & P & U \bigstrut\\
\hline
\multirow{3}[6]{*}{\tab{First\\Second}} & Run (c.) & 6090 & 6605 & 7976\bigstrut\\
\cline{2-5} & Run (nc.) & 6665 & 6187 & 6609 \bigstrut\\
\cline{2-5} & \#Missed & 39332 & 46001 & 46765 \bigstrut\\
\hline
\multirow{3}[6]{*}{\tab{First\\Second}} & Run (c.) & 4418 & 4459 & 4513 \bigstrut\\
\cline{2-5} & Run (nc.) & 4480 & 4384 & 443 \bigstrut\\
\cline{2-5} & \#Missed & 21081 & 21897 & 21613\bigstrut\\
\hline
\multirow{3}[6]{*}{\tab{First\\Second}} & Run (c.) & 4163 & 4251 & 4282 \bigstrut\\
\cline{2-5} & Run (nc.) & 4241 & 4186 & 4302\bigstrut\\
\cline{2-5} & \#Missed & 1217 & 1456 & 2524 \bigstrut\\
\hline
\end{tabular}%
\label{tab:addlabel}%
\end{table*}%
\end{document}
Antwort2
Ich habe einfach die Spalteneinträge, die gestapelt werden mussten, in Stapel gelegt. Die Stapelausrichtung wird mit einem optionalen Argument für den Stapel gesteuert: [l]
, [c]
, oder [r]
. Außerdem habe ich den vertikalen Stapelabstand in der Präambel mit festgelegt \setstackgap{S}{length}
.
\documentclass{article}
\usepackage{multirow, bigstrut}
\usepackage{stackengine}
\setstackgap{S}{8pt}
\begin{document}
\begin{table*}[t]
\centering
\caption{Add caption}
\begin{tabular}{|c|c|c|c|c|}
\hline
\multirow{2}[4]{*}{\Shortunderstack{Case Study}} & \multirow{2}[4]{*}{5} & \multicolumn{3}{c|}{IBEA} \bigstrut\\
\cline{3-5} & & FD & P & U \bigstrut\\
\hline
\multirow{3}[6]{*}{\Shortunderstack{First Second}} & Run (c.) & 6090 & 6605 & 7976\bigstrut\\
\cline{2-5} & Run (nc.) & 6665 & 6187 & 6609 \bigstrut\\
\cline{2-5} & \#Missed & 39332 & 46001 & 46765 \bigstrut\\
\hline
\multirow{3}[6]{*}{\Shortunderstack{First Second}} & Run (c.) & 4418 & 4459 & 4513 \bigstrut\\
\cline{2-5} & Run (nc.) & 4480 & 4384 & 443 \bigstrut\\
\cline{2-5} & \#Missed & 21081 & 21897 & 21613\bigstrut\\
\hline
\multirow{3}[6]{*}{\Shortunderstack{First Second}} & Run (c.) & 4163 & 4251 & 4282 \bigstrut\\
\cline{2-5} & Run (nc.) & 4241 & 4186 & 4302\bigstrut\\
\cline{2-5} & \#Missed & 1217 & 1456 & 2524 \bigstrut\\
\hline
\end{tabular}%
\label{tab:addlabel}%
\end{table*}%
\end{document}
Antwort3
Eine Lösung, die das makecell
Paket verwendet: Sein Ziel ist speziell, mehrere Zellen zuzulassen, und es verfügt über einen \multirowcell
Befehl mit einer Syntax, die sich leicht von der von unterscheidet . Ich schlage außerdem vor, das Paket durch die Option „cellspace \cellspacetoplimit \cellspacebottomlimit math“ \multirow
zu ersetzen .bigstrut
; this package allows to define a minimal distance between the top of a row and the bottom of the row above (
) and symmetrically a
. In order to make this setting effective, one has to prefix the alignment parameter of the columns with the letter S. It works in math mode with the
\documentclass{article}
\usepackage{array, makecell, multirow, bigstrut}
\usepackage{cellspace}
\cellspacetoplimit = 4pt
\cellspacebottomlimit = 4pt
\begin{document}
\begin{table*}[t]
\centering
\caption{Add caption}
\begin{tabular}{|Sc|Sc|Sc|Sc|Sc|}
\hline
\multirow{2}[4]{*}{Case Study} & \multirow{2}[4]{*}{5} & \multicolumn{3}{Sc|}{IBEA} \\%
\cline{3-5} & & FD & P & U \\%
\hline
\multirowcell{3}[-4pt]{First \\[6pt] Second} & Run (c.) & 6090 & 6605 & 7976 \\%
\cline{2-5} & Run (nc.) & 6665 & 6187 & 6609 \\%\
\cline{2-5} & \#Missed & 39332 & 46001 & 46765 \\%
\hline
\multirowcell{3}[-4pt]{First \\[6pt] Second} & Run (c.) & 4418 & 4459 & 4513 \\%
\cline{2-5} & Run (nc.) & 4480 & 4384 & 443 \\%
\cline{2-5} & \#Missed & 21081 & 21897 & 21613 \\%
\hline
\multirowcell{3}[-4pt]{First \\[6pt] Second} & Run (c.) & 4163 & 4251 & 4282 \\%
\cline{2-5} & Run (nc.) & 4241 & 4186 & 4302 \\%
\cline{2-5} & \#Missed & 1217 & 1456 & 2524 \\%
\hline
\end{tabular}%
\label{tab:addlabel}%
\end{table*}%
\end{document}