2016-07-26 110 views
0

我有以下代碼:如何在LaTeX中將單元格與多行合併?

\begin{table}[ht] 

\begin{center} 
\begin{tabular}{ | l | l | l | l | l | l | l | } 
\hline 
    \multirow{2}{*}{Oprava} & \multirow{2}{*}{zkratka} & \multirow{2}{*}{alg.} & chybovost \% & & & \\ \hline 
    & & & MAE & RSE & RMSE & RRSE \\ \hline 
    velikosti & vel. & NBM & & & & \\ \hline 
    & & c4.5 & & & & \\ \hline 
    & & kNN & & & & \\ \hline 
    & & SMO & & & & \\ \hline 
    bilateralne & bilat. & NBM & & & & \\ \hline 
    & & c4.5 & & & & \\ \hline 
    & & kNN & & & & \\ \hline 
    & & SMO & & & & \\ \hline 
    oprava & zkratka & NBM & & & & \\ \hline 
    & & c4.5 & & & & \\ \hline 
    & & kNN & & & & \\ \hline 
    & & SMO & & & & \\ \hline 
    oprava & zkratka & NBM & & & & \\ \hline 
    & & c4.5 & & & & \\ \hline 
    & & kNN & & & & \\ \hline 
    & & SMO & & & & \\ \hline 
\end{tabular} 
\end{center} 

\caption{Multi-row table} 
\label{tab:multicol} 
\end{table} 

而我所得到的是這樣的: LaTeX output

我需要合併的單元格,使文本不劃掉。對於具有重複算法名稱的行也是如此 - NBM,kNN等.....他們應該合併並居中。請幫助。

謝謝

回答

1

解決您的問題非常簡單。您應該使用\cline{4-7}而不是\hline。即\hline在表格的整個寬度上生成一條水平線,而\cline{4-7}只會在第4列至7之間生成一條水平線,因此不會跨越第一個。

要讓重複單詞前面的文字居中併合並,可以使用multirow{}{},再次與\cline{}組合使用。有關這些命令的更多信息,請參閱此link

代碼的例子在下面給出:

\begin{table}[] 
\centering 
\caption{My caption} 
\label{my-label} 
\begin{tabular}{|l|l|l|l|l|l|l|} 
\hline 
\multirow{2}{*}{Oprave} & \multirow{2}{*}{Zkratka} & \multirow{2}{*}{Alg.} & \multicolumn{4}{l|}{Chybovost \%} \\ \cline{4-7} 
    & & & MAE & RSE & RMSE & RRSE \\ \hline 
\multirow{4}{*}{velikosti} & \multirow{4}{*}{vel.} & NBM & & & & \\ \cline{3-7} 
& & c4.5 & & & & \\ \cline{3-7} 
& & kNN & & & & \\ \cline{3-7} 
& & SMO & & & & \\ \hline 
\multirow{4}{*}{bilateralne} & \multirow{4}{*}{bilat.} & NBM & & & & \\ \cline{3-7} 
& & c4.5 & & & & \\ \cline{3-7} 
& & kNN & & & & \\ \cline{3-7} 
& & SMO & & & & \\ \hline 
\multirow{4}{*}{oprava} & \multirow{4}{*}{zkratka} & NBM & & & & \\ \cline{3-7} 
& & c4.5 & & & & \\ \cline{3-7} 
& & kNN & & & & \\ \cline{3-7} 
& & SMO & & & & \\ \hline 
\multirow{4}{*}{oprava} & \multirow{4}{*}{zkratka} & NBM & & & & \\ \cline{3-7} 
& & c4.5 & & & & \\ \cline{3-7} 
& & kNN & & & & \\ \cline{3-7} 
& & SMO & & & & \\ \hline 
\end{tabular} 
\end{table} 

所得爲:

Result

注意:如果你有掙扎與表生成,或你想要一個更快速的方法輕鬆製作表格,就像在Excel中做的那樣,您可以使用Latex的在線表格生成器。我經常用http://www.tablesgenerator.com/

相關問題