如何在LaTeX中合并具有多行的单元格?

8

I have the following code:

\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个回答

17
您的问题的解决方案非常简单。您应该使用\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/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接