我搜索了一下这个话题,但没有成功。大多数时候,人们都想消除 空格或有问题最后一栏,等等。就我而言,我希望空格存在于那里并位于列之间。
我已经设法使用彩色规则但这看起来不太好(我指的是代码)并且感觉像是一种解决方法。
这里的主要问题是我的表格将被打印并手工填写,因此垂直分隔必须清晰,并且需要偶数/奇数颜色以避免混淆。
编辑:正如我的问题所述,表述Zarko
得不够清楚,所以我重新措辞。
有没有最好的/更优雅的方式来增加带有交替颜色行的列之间的空间?
我曾使用rowcolors
交替颜色(SpringGreen/gray)行,但其他解决方案可能也适用。行之间的空间对我来说并不重要,因为颜色确实定义了每行的开始/结束位置。
\documentclass[landscape]{memoir}
\usepackage[table,dvipsnames]{xcolor}
\usepackage{booktabs}
\usepackage{multirow}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{document}
\arrayrulecolor{white}
\setlength{\arrayrulewidth}{3pt}
\begin{table}[ht]
\rowcolors{3}{SpringGreen}{gray!20!white}
{\large
\centering
\label{my-label}
\begin{tabular}{>{\kern-\tabcolsep}C{2cm}|L{2cm}|L{2cm}|L{2cm}|L{2cm}|L{2cm}|L{2cm}<{\kern-\tabcolsep}}
\arrayrulecolor{black}
\toprule
Part & \multicolumn{5}{c}{\multirow{2}{*}{Calibration date}} \\
Number & \multicolumn{5}{c}{} \\
\midrule
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
& & & & & & \\
\arrayrulecolor{black}
\bottomrule
\end{tabular}
}
\end{table}
\end{document}
答案1
最简单的方法可能就是在列之间插入一些空格:
\documentclass[landscape]{memoir}
\usepackage[table,dvipsnames]{xcolor}
\usepackage{booktabs}
\usepackage{multirow}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}!{\hspace{3pt}}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}!{\hspace{3pt}}}
\begin{document}
\begin{table}[ht]
\rowcolors[]{3}{SpringGreen}{gray!20!white}
\begin{tabular}{C{2cm}L{2cm}L{2cm}L{2cm}L{2cm}L{2cm}L{2cm}}
\toprule
Part & \multicolumn{5}{c}{\multirow{2}{*}{Calibration date}} \\
Number & \multicolumn{5}{c}{} \\
\midrule
adk\hfill blbl & & & & & & \\
& & & & & & \\
& & & & & & \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
我猜你想获得这样的东西:
在代码中添加了在列标题中makecell
使用宏的包\thead{...}
。单元格的颜色移至新列类型的定义C
,所有规则均具有标准宽度和颜色。这样,我估计代码会更简洁、更简单:
\documentclass[landscape]{memoir}
\usepackage[table]{xcolor}
\usepackage{booktabs,makecell}
\renewcommand\theadfont{\bfseries\large}
\newcolumntype{C}{>{\color{white}\columncolor{gray!30}[.5\tabcolsep]%
\centering\arraybackslash}p{20mm}}
\newcommand\mc[2]{\multicolumn{#1}{c}{\thead{#2}}}
\begin{document}
\begin{table}[ht]
\centering
\begin{tabular}{@{$\;$} *{7}{C} @{\rule{0pt}{5ex}$\;$} }
\toprule
\mc{1}{Part\\ Number} & \mc{6}{Calibration date} \\
\midrule
& & & & & & \\ \addlinespace[8pt]% if you like bigger vertical space
& & & & & & \\ \addlinespace
& & & & & & \\ \addlinespace
& & & & & & \\ \addlinespace
& & & & & & \\ \addlinespace
& & & & & & \\ \addlinespace
& & & & & & \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
附录: 相反,两行交替的颜色会查看是否在每第二行增加垂直空间。在这种情况下,表格如下所示:
代码:
\documentclass[landscape]{memoir}
\usepackage[table]{xcolor}
\usepackage{booktabs,makecell}
\renewcommand\theadfont{\bfseries\large}
\newcolumntype{C}{>{\color{white}\columncolor{gray!30}[.5\tabcolsep]%
\centering\arraybackslash}p{20mm}}
\newcommand\mc[2]{\multicolumn{#1}{c}{\thead{#2}}}
\begin{document}
\begin{table}[ht]
\centering
\begin{tabular}{@{$\;$} C @{\qquad} *{6}{C} @{\rule{0pt}{5ex}$\;$} }
\toprule
\mc{1}{Part\\ Number} & \mc{6}{Calibration date} \\
\midrule
& & & & & & \\ \addlinespace
& & & & & & \\ \addlinespace[12pt]
& & & & & & \\ \addlinespace
& & & & & & \\ \addlinespace[12pt]
& & & & & & \\ \addlinespace
& & & & & & \\ \addlinespace[12pt]
& & & & & & \\ \addlinespace
& & & & & & \\
\bottomrule
\end{tabular}
\end{table}
\end{document}