我正在尝试创建一个包含一些单元格的表格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
让我们首先列出错误。
- 对于引号,你不应该使用
"..."
但是``...''
\multirow{2}{*}{H}
需要三个参数 -\multirow{<rows>}{<width>}{<content>}
。您漏掉了第三个参数。即使您不想有文本,您也应该有文本,但没有内容,例如\multirow{2}{*}{}
。\textsubscript
不是由 LaTeX 定义的。您必须\usepackage{fixltx2e}
在序言中使用才能使其工作。顺便问一下,您是在尝试编写化学公式吗?如果是这样,那么有专门用于这项工作的软件包。或者那些是H\textsubscript{02}
数学变量?请详细说明。要制作彩色单元格,请加载
colortbl
包或usepackage[table]{xcolor}
(两者等效)。并\cellcolor{<color>
在单元格内使用:& \cellcolor{green!50!blue} <content> &
或者
& \cellcolor{green!50!blue}\multirow{2}{*}{} &
- 你真的想要垂直线吗?减少一些水平线的数量怎么样?你可以阅读
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}
的nicematrix
PDF 查看器中获得完美的输出。
\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}
输出是一样的。