如何讓文字自動換行到該 LaTeX 表格的最後一行,如圖所示?

如何讓文字自動換行到該 LaTeX 表格的最後一行,如圖所示?

最後一行應如圖所示換行

\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指令來使表格材料適合文字塊的寬度。採用這種方法的結果如下表所示。

在這個主題的變體中,您可以決定沒有必要(甚至不需要)使所有列具有相同的寬度。相反,您可能會決定「最終質量」列的寬度應是「時間」列的三倍。這也可以透過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}

相關內容