我正在尝试用乳胶编写一个如下所示的表格:
我的尝试是这样的:
\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\centering
\caption{description}
\begin{tabular}{r|ccc|ccc|}
\toprule
& \multicolumn{3}{c|}{\textbf{header 1}} & \multicolumn{3}{c|}{\textbf{header 2}} \\
\midrule
& \textbf{a} & \textbf{b} & \textbf{c} & \textbf{a} & \textbf{b} & \textbf{c} \\
\midrule
\textbf{row 1} & 1 & 1 & 1 & 1 & 1 & 1 \\
\textbf{row 2} & 1 & 1 & 1 & 1 & 1 & 1 \\
\textbf{row 3} & 1 & 1 & 1 & 1 & 1 & 1 \\
\midrule
\textbf{row 4} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 5} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 6} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 7} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 8} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 9} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\bottomrule
\end{tabular}
\label{tab:somelabel}
\end{table}
\end{document}
问题是有些线条看起来不完整,而且我不知道如何才能去除一些边框(左上角)。
答案1
您正在尝试混淆booktabs
以及你想要实现的目标booktabs
。文档:
如果你始终记住两个简单的指导原则,就不会犯大错:
永远不要使用垂直规则。
切勿使用双重规则。
这些准则可能看起来很极端,但我从未找到支持打破这些准则的充分理由。例如,如果您认为表格左半部分的信息与右半部分的信息差别很大,需要用垂直线将其分开,那么您应该使用两个表格。
以下提供您的原始请求和纯粹的booktabs
介绍:
\documentclass{article}
\usepackage{array,booktabs}
\begin{document}
\begin{tabular}{r|ccc|ccc|}
\cline{2-7}
& \multicolumn{3}{c|}{\textbf{header 1}} & \multicolumn{3}{c|}{\textbf{header 2}} \\
\cline{2-7}
& \textbf{a} & \textbf{b} & \textbf{c} & \textbf{a} & \textbf{b} & \textbf{c} \\
\cline{2-7}
\textbf{row 1} & 1 & 1 & 1 & 1 & 1 & 1 \\
\textbf{row 2} & 1 & 1 & 1 & 1 & 1 & 1 \\
\textbf{row 3} & 1 & 1 & 1 & 1 & 1 & 1 \\
\hline
\textbf{row 4} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 5} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 6} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 7} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 8} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 9} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\cline{2-7}
\end{tabular}
\bigskip
\begin{tabular}{ >{\bfseries}r *{6}{c} }
\toprule
& \multicolumn{3}{c}{\bfseries header 1} & \multicolumn{3}{c}{\bfseries header 2} \\
\cmidrule(lr){2-4}\cmidrule(lr){5-7}
& \textbf{a} & \textbf{b} & \textbf{c} & \textbf{a} & \textbf{b} & \textbf{c} \\
\midrule
row 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
row 2 & 1 & 1 & 1 & 1 & 1 & 1 \\
row 3 & 1 & 1 & 1 & 1 & 1 & 1 \\
\midrule
row 4 & & 0 & & & 0 & \\
row 5 & & 0 & & & 0 & \\
row 6 & & 0 & & & 0 & \\
row 7 & & 0 & & & 0 & \\
row 8 & & 0 & & & 0 & \\
row 9 & & 0 & & & 0 & \\
\bottomrule
\end{tabular}
\end{document}
常规tabular
:
booktabs
产量
答案2
文档中已介绍过这一点booktabs
:其增强功能旨在应对垂直规则。如果您使用\toprule
和\bottomrule
的朋友,请不要在同一个表中使用垂直规则,因为效果看起来会像您观察到的那样“不完整”。
如果表格看起来应该是这样的,请执行以下操作:
\documentclass[a4paper]{article}
\usepackage{array}
\begin{document}
\begin{table}
\centering
\begin{tabular}{r|ccc|ccc|}
\cline{2-7}
& \multicolumn{3}{c|}{\textbf{header 1}} & \multicolumn{3}{c|}{\textbf{header 2}} \\
\cline{2-7}
& \textbf{a} & \textbf{b} & \textbf{c} & \textbf{a} & \textbf{b} & \textbf{c} \\
\cline{2-7}
\textbf{row 1} & 1 & 1 & 1 & 1 & 1 & 1 \\
\textbf{row 2} & 1 & 1 & 1 & 1 & 1 & 1 \\
\textbf{row 3} & 1 & 1 & 1 & 1 & 1 & 1 \\
\hline
\textbf{row 4} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 5} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 6} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 7} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 8} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\textbf{row 9} & \multicolumn{3}{c|}{0} & \multicolumn{3}{c|}{0} \\
\cline{2-7}
\end{tabular}
\caption{description\label{tab:somelabel}}
\end{table}
\end{document}
否则,我认为你能做的最好的事情是这样的:
\documentclass[a4paper]{article}
\usepackage{array,booktabs}
\begin{document}
\begin{table}
\centering
\begin{tabular}{r*{6}{c}}
\cmidrule{2-7}
& \multicolumn{3}{c}{\textbf{header 1}} & \multicolumn{3}{c}{\textbf{header 2}} \\
\cmidrule{2-7}
& \textbf{a} & \textbf{b} & \textbf{c} & \textbf{a} & \textbf{b} & \textbf{c} \\
\toprule
\textbf{row 1} & 1 & 1 & 1 & 1 & 1 & 1 \\
\textbf{row 2} & 1 & 1 & 1 & 1 & 1 & 1 \\
\textbf{row 3} & 1 & 1 & 1 & 1 & 1 & 1 \\
\midrule
\textbf{row 4} & \multicolumn{3}{c}{0} & \multicolumn{3}{c}{0} \\
\textbf{row 5} & \multicolumn{3}{c}{0} & \multicolumn{3}{c}{0} \\
\textbf{row 6} & \multicolumn{3}{c}{0} & \multicolumn{3}{c}{0} \\
\textbf{row 7} & \multicolumn{3}{c}{0} & \multicolumn{3}{c}{0} \\
\textbf{row 8} & \multicolumn{3}{c}{0} & \multicolumn{3}{c}{0} \\
\textbf{row 9} & \multicolumn{3}{c}{0} & \multicolumn{3}{c}{0} \\
\bottomrule
\end{tabular}
\caption{description\label{tab:somelabel}}
\end{table}
\end{document}