
\documentclass[a4paper,headsepline,12pt,toc=index,
toc=bibliography,ngerman]{scrreprt}
\usepackage{multirow}
\usepackage{graphicx}
\begin{document}
{
\renewcommand{\arraystretch}{2}
\begin{table}[htbp]
\centering
\caption{My caption}
\label{my-label}
\resizebox{\textwidth}{!}{%
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
\multirow{2}{*}{\textbf{Method}} & \multicolumn{2}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}Non-frictional Parallelepiped\end{tabular}}} & \multicolumn{2}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}Non-frictional Knight\end{tabular}}} & \multicolumn{2}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}Frictional Knight\end{tabular}}} \\ \cline{2-7}
& \multicolumn{2}{c|}{1880 Experimental Cases} & \multicolumn{2}{c|}{21357 Experimental Cases} & \multicolumn{2}{c|}{21357 Experimental Cases} \\ \hline
\multirow{2}{*}{\begin{tabular}[c]{@{}c@{}}Modified NEW Method \end{tabular}} & Final Quality & Time (s) & Final Quality & Time (s) & Final Quality & Time (s) \\ \cline{2-7}
& \begin{tabular}[c]{@{}c@{}}0.200 in 30 samples with pop size 400\end{tabular} & 35.0 & \begin{tabular}[c]{@{}c@{}}0.126 in 20 samples with pop. size 200\end{tabular} & 63.8 & \begin{tabular}[c]{@{}c@{}}0.146 in 20 samples with pop. size 200\end{tabular} & 368.8 \\ \hline
\end{tabular}%
}
\end{table}
}
\end{document}
решение1
Я хотел бы предложить вам использовать tabularx
среду с 7 столбцами одинаковой ширины. Это позволяет вам обойтись без всех этих внутренних tabular
сред. Этот подход также избавляет от необходимости в \resizebox
инструкции, чтобы просто вписать табличный материал в ширину текстового блока. Результат использования этого подхода показан в первой таблице ниже.
В вариации на эту тему вы можете решить, что не обязательно (или даже желательно) делать все столбцы одинаковой ширины. Вместо этого вы можете решить, скажем, что столбцы «Final Quality» должны быть в три раза шире столбцов «Time». Это тоже можно сделать с помощью среды tabularx
, как показано во второй таблице ниже. Вторая tabularx
среда отличается от первой только строкой настройки. Тогда как первая определяется через
\begin{tabularx}{\textwidth}{|*{7}{C|}}
второе имеет следующее, более сложное определение:
\begin{tabularx}{\textwidth}{|C|*{3}{>{\hsize=1.5\hsize}C|>{\hsize=0.5\hsize}C|}}
В сочетании с переходом на \footnotesize
этот подход, по-видимому, позволяет достичь желаемого формата.
Любой из этих подходов кажется намного лучше, чем использование \resizebox
и получение в итоге сверхмаленьких букв; см. третью таблицу, которая показывает результат вашего исходного кода.
\documentclass[a4paper,headsepline,12pt,toc=index,
toc=bibliography,ngerman]{scrreprt}
\usepackage{tabularx,graphicx,multirow}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}[htbp]
\renewcommand{\arraystretch}{1.5}
\setlength\tabcolsep{3pt}
\caption{Equal-width columns, \texttt{\string\normalsize}} \label{label-one}
\begin{tabularx}{\textwidth}{|*{7}{C|}}
\hline
\textbf{Method}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{\bfseries Non-frictional Parallelepiped}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{\bfseries Non-frictional Knight}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{\bfseries Frictional Knight} \\
\cline{2-7}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{1880 Experimental Cases}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{21357 Experimental Cases}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{21357 Experimental Cases} \\
\hline
Mod.\ new Method
& Final Quality & Time (s)
& Final Quality & Time (s)
& Final Quality & Time (s) \\
\cline{2-7}
& 0.200 in 30~samples with pop.\ size 400 & 35.0
& 0.126 in 20~samples with pop.\ size 200 & 63.8
& 0.146 in 20~samples with pop.\ size 200 & 368.8 \\
\hline
\end{tabularx}
\bigskip
\footnotesize
\caption{Unequal-width columns, \texttt{\string\footnotesize}} \label{label-two}
\begin{tabularx}{\textwidth}{|C|
*{3}{>{\hsize=1.5\hsize}C|>{\hsize=0.5\hsize}C|}}
\hline
\textbf{Method}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{\bfseries Non-frictional Parallelepiped}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{\bfseries Non-frictional Knight}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{\bfseries Frictional Knight} \\
\cline{2-7}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{1880 Experimental Cases}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{21357 Experimental Cases}
& \multicolumn{2}{>{\hsize=2\hsize}C|}{21357 Experimental Cases} \\
\hline
Mod.\ new Method
& Final Quality & Time (s)
& Final Quality & Time (s)
& Final Quality & Time (s) \\
\cline{2-7}
& 0.200 in 30~samples with pop.\ size 400 & 35.0
& 0.126 in 20~samples with pop.\ size 200 & 63.8
& 0.146 in 20~samples with pop.\ size 200 & 368.8 \\
\hline
\end{tabularx}
\bigskip
\normalsize
\renewcommand{\arraystretch}{2}
\caption{Original solution, with \texttt{\string\resizebox}}\label{label-three}
\resizebox{\textwidth}{!}{%
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
\multirow{2}{*}{\textbf{Method}}
& \multicolumn{2}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}Non-frictional Parallelepiped\end{tabular}}}
& \multicolumn{2}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}Non-frictional Knight\end{tabular}}}
& \multicolumn{2}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}Frictional Knight\end{tabular}}} \\
\cline{2-7}
& \multicolumn{2}{c|}{1880 Experimental Cases}
& \multicolumn{2}{c|}{21357 Experimental Cases}
& \multicolumn{2}{c|}{21357 Experimental Cases}
\\ \hline
\multirow{2}{*}{\begin{tabular}[c]{@{}c@{}}Modified NEW Method \end{tabular}}
& Final Quality & Time (s)
& Final Quality & Time (s)
& Final Quality & Time (s) \\
\cline{2-7}
& \begin{tabular}[c]{@{}c@{}}0.200 in 30 samples with pop size 400\end{tabular} & 35.0
& \begin{tabular}[c]{@{}c@{}}0.126 in 20 samples with pop. size 200\end{tabular} & 63.8
& \begin{tabular}[c]{@{}c@{}}0.146 in 20 samples with pop. size 200\end{tabular} & 368.8 \\
\hline
\end{tabular}%
}
\end{table}
\end{document}