最近帮客户做表格时候发现的问题,比如下面的例子:
\documentclass[a4paper,11pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{multirow}
\begin{document}
\begin{center}
\begin{table}
\begin{tabular}{|c|c|c|c|c|c|c|}\hline
Days & 3 & 6 & 9 & 12 & 15 & 18 \\
\hline\hline
\multirow{2}{*}{Project} & \multicolumn{4}{c|}{\cellcolor{yellow} 1} & & \\
\cline{2-7}
& & & \multicolumn{4}{c|}{\cellcolor{yellow} 2} \\
\hline
\end{tabular}
\end{table}
\end{center}
\end{document}
效果图如下:
我们发现表格的 hline
和 cline
产生的效果不一样。也就是 cline 的命令出现了颜色遮盖。这个问题只能用 hhline
宏包来解决如下:
\documentclass[a4paper,11pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{multirow, hhline}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|c|c|c|c|c|c|c|}
\hhline{*{7}{-}}
Days & 3 & 6 & 9 & 12 & 15 & 18 \\
\hhline{*{7}{:=}:}
\multirow{2}{*}{Project} & \multicolumn{4}{c|}{\cellcolor{yellow} 1} & & \\
\hhline{|~|------|}
& & & \multicolumn{4}{c|}{\cellcolor{yellow} 2} \\
\hhline{*{7}{-}}
\end{tabular}
\end{table}
\end{document}
效果图如下:
如果我们的竖向的线是宽度加宽的还会有空白的问题,后续我们再进行完善了。
方案节选:https://tex.stackexchange.com/questions/389844/how-to-avoid-cline-overwride-when-using-cellcolor