多行表,错误

多行表,错误

我正在尝试创建一个包含一些单元格的表格multirow,这是我的代码:

\begin{table}[!htb]
\centering
\small\addtolength{\tabcolsep}{4pt}
\caption{""}
\label{table3}
\begin{tabular}{*{7}{|c}|}
\hline
 \multirow{2}{*}{H}& \multicolumn{3}{c|}{K@10} & \multicolumn{3}{c|}{K@20}\\\cline{2-7}
 & P & R & TFFR &  P & R & TFFR  \\\hline 
H\textsubscript{01}  & \multirow{2}{*} & \multirow{2}{*} & \multirow{2}{*} & \multirow{2}{*} & \multirow{2}{*}  & \multirow{2}{*}  \\\hline
H\textsubscript{02} & & & & & &  \\
H\textsubscript{03}  & \multirow{2}{*}  & \multirow{2}{*} & \multirow{2}{*} & \multirow{2}{*} & \multirow{2}{*}  & \multirow{2}{*}   \\\hline
H\textsubscript{04} & & & & & &  \\
H\textsubscript{05}  & \multirow{2}{*}  & \multirow{2}{*}  & \multirow{2}{*} & \multirow{2}{*} & \multirow{2}{*}  & \multirow{2}{*}  \\\hline
H\textsubscript{06} & & & & & &  \\\hline
 \end{tabular}
\end{table}

我不知道这段代码有什么问题。这是我得到的错误:

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.487 ... & \multirow{2}{*}  & \multirow{2}{*}  \\

答案1

让我们首先列出错误。

  1. 对于引号,你不应该使用"..."但是``...''
  2. \multirow{2}{*}{H}需要三个参数 - \multirow{<rows>}{<width>}{<content>}。您漏掉了第三个参数。即使您不想有文本,您也应该有文本,但没有内容,例如\multirow{2}{*}{}
  3. \textsubscript不是由 LaTeX 定义的。您必须\usepackage{fixltx2e}在序言中使用才能使其工作。顺便问一下,您是在尝试编写化学公式吗?如果是这样,那么有专门用于这项工作的软件包。或者那些是H\textsubscript{02}数学变量?请详细说明。
  4. 要制作彩色单元格,请加载colortbl包或usepackage[table]{xcolor}(两者等效)。并\cellcolor{<color>在单元格内使用:

    & \cellcolor{green!50!blue} <content> &
    

    或者

     & \cellcolor{green!50!blue}\multirow{2}{*}{}  &
    
  5. 你真的想要垂直线吗?减少一些水平线的数量怎么样?你可以阅读booktabs包的文档来了解如何制作一个好的表格。

现在你的代码应该是:

\documentclass{article}
\usepackage{multirow,fixltx2e}
\usepackage[table]{xcolor}    %% this in turn loads colortbl
%\usepackage{colortbl}
\begin{document}
  \begin{table}[!htb]
\centering
\small\addtolength{\tabcolsep}{4pt}
\caption{``''}
\label{table3}
\begin{tabular}{*{7}{|c}|}
\hline
 \multirow{2}{*}{H}& \multicolumn{3}{c|}{K@10} & \multicolumn{3}{c|}{K@20}\\\cline{2-7}
 & P & R & TFFR &  P & R & TFFR  \\\hline
H\textsubscript{01}  & \multirow{2}{*}{} & \multirow{2}{*}{}& \multirow{2}{*}{} & \multirow{2}{*}{} & \multirow{2}{*} {} & \multirow{2}{*}{}  \\\hline
H\textsubscript{02} & \cellcolor{green!50!blue} & & & & &  \\
H\textsubscript{03}  & \cellcolor{green!50!blue}\multirow{2}{*}{}  & \multirow{2}{*}{} & \multirow{2}{*}{} & \multirow{2}{*}{} & \multirow{2}{*}{}  & \multirow{2}{*}{}   \\\hline
H\textsubscript{04} & & \cellcolor{green!50!blue} & & & &  \\
H\textsubscript{05}  & \multirow{2}{*}{}  & \cellcolor{green!50!blue}\multirow{2}{*}{}  & \multirow{2}{*}{} & \multirow{2}{*}{} & \multirow{2}{*}{}  & \multirow{2}{*}{}  \\\hline
H\textsubscript{06} & & & & & &  \\\hline
 \end{tabular}
\end{table}
\end{document}

在此处输入图片描述

答案2

通过,您将在所有缩放级别{NiceTabular}nicematrixPDF 查看器中获得完美的输出。

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}
\begin{table}[!htb]
\centering
\small
\addtolength{\tabcolsep}{4pt}
\caption{``My caption''}
\label{table3}
\begin{NiceTabular}{ccccccc}[vlines,colortbl-like]
\Hline
\Block{2-1}{H}      & \Block{1-3}{K@10} &&& \Block{1-3}{K@20} \\ \Hline
                    & P & R & TFFR &  P & R & TFFR \\ \Hline
H\textsubscript{01} \\ \Hline
H\textsubscript{02} & \cellcolor{green!50!blue}   \\
H\textsubscript{03} & \cellcolor{green!50!blue}   \\ \Hline
H\textsubscript{04} & & \cellcolor{green!50!blue} \\
H\textsubscript{05} & & \cellcolor{green!50!blue} \\\Hline
H\textsubscript{06} \\ \Hline
\end{NiceTabular}
\end{table}
\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

两个代码的输出

如果您愿意,可以指定单元格的颜色\CodeBefore

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}
\begin{table}[!htb]
\centering
\small
\addtolength{\tabcolsep}{4pt}
\caption{``My caption''}
\label{table3}
\begin{NiceTabular}{ccccccc}[vlines]
\CodeBefore
  \cellcolor{green!50!blue}{4-2,5-2,6-3,7-3}
\Body
  \Hline
  \Block{2-1}{H}      & \Block{1-3}{K@10} &&& \Block{1-3}{K@20} \\ \Hline
                      & P & R & TFFR &  P & R & TFFR \\ \Hline
  H\textsubscript{01} \\ \Hline
  H\textsubscript{02} \\ 
  H\textsubscript{03} \\ \Hline
  H\textsubscript{04} \\ 
  H\textsubscript{05} \\ \Hline
  H\textsubscript{06} \\ \Hline
\end{NiceTabular}
\end{table}
\end{document}

输出是一样的。

相关内容