我正在处理带有下划线标题的表格,其中每个标题跨越两列。
我试图了解如何使用该\extracolsep
函数在每一列的行间创建空间。
有人可以帮忙吗?
这是我的代码的相关部分:
\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{Price model effects}
\begin{tabular}{l*{6}{c}}
\hline\hline
&\multicolumn{2}{c}{{Residual waste}}&\multicolumn{2}{c}{{Plastic}}&\multicolumn{2}{c}{{Paper}} \\ \cline{2-3} \cline{4-5} \cline{5-6} \cline{6-7}
&\multicolumn{1}{c}{Kg per capita}&\multicolumn{1}{c}{Ratio}&\multicolumn{1}{c}{Kg per capita}&\multicolumn{1}{c}{Ratio}&\multicolumn{1}{c}{Kg per capita}&\multicolumn{1}{c}{Ratio}\\
多谢!
答案1
使用环境时使用\extracolsep
没有多大意义tabular
。您应该使用tabular*
环境。
\documentclass{article}
\usepackage{array} % for "\extrarowheight" macro
\usepackage[skip=0.333\baselineskip]{caption} % optional
\begin{document}
\begin{table}[htbp]
%% \centering
\setlength\tabcolsep{0pt}
\setlength\extrarowheight{2pt} for a more open "look"
\caption{Price model effects}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}*{6}{c}}
\hline
\multicolumn{2}{c}{Residual waste} &
\multicolumn{2}{c}{Plastic} &
\multicolumn{2}{c}{Paper} \\
\cline{1-2} \cline{3-4} \cline{5-6}
Kg per capita & Ratio &
Kg per capita & Ratio &
Kg per capita & Ratio \\
\hline
\end{tabular*}
\end{table}
\end{document}
答案2
我会cmidrule
使用书签包。它有参数修剪这可以让你使这条线稍微短一点:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{ll ll ll}
\hline
\multicolumn{2}{c}{Residual waste} &
\multicolumn{2}{c}{Plastic} &
\multicolumn{2}{c}{Paper} \\
\cmidrule(lr){1-2} % trim from left/right
\cmidrule(lr){3-4} % note: in parenthesis, not brackets
\cmidrule(lr){5-6}
Kg per capita & Ratio &
Kg per capita & Ratio &
Kg per capita & Ratio \\
\hline
\end{tabular*}
\end{document}
这将给你
显然,您可以使用其他包来微调外观。