彩色行和彩色单元格的顶部水平线不会出现在表格中

彩色行和彩色单元格的顶部水平线不会出现在表格中

谢谢大家。所有水平线和垂直线都出现了,但是当你给某一行或单元格上色时,top horizontal line disappears。这是这项工作的代码:

\documentclass[a4paper,11pt,twoside]{book}
\usepackage{array,multirow}
\usepackage[table]{xcolor}
\setlength{\tabcolsep}{10pt}
\setlength{\extrarowheight}{2mm}
\setlength{\arrayrulewidth}{0.2mm}
\begin{document}

   
   
\begin{tabular}{|l|*{5}{c|}}
\hline \multirow{2}{*}{Name}& \multicolumn{4}{c|}{\cellcolor{black!10} Subjects}&
\multirow{2}{*}{Total}\\
\cline{2-5} &Math & Phy & Chem & English & \\
\hline
\rowcolor{red!50}[0.98\tabcolsep] Robin & 80 & 68 & 60 & 57 & 265\\
\hline Julie & 72 & 62 & 66 & 63 & 263\\
\hline Robert & 75 & 70 & 71 & 69 & 285\\
\hline
\end{tabular}
\end{document}

这是输出 pdf 的图像。

在此处输入图片描述

答案1

在某些 PDF 阅读器(例如 Adob​​e Reader)中,水平线会在某些缩放级别消失。

该软件包中nicematrix有专门设计来避免该问题的工具。

\documentclass[a4paper,11pt,twoside]{book}
\usepackage{xcolor}
\usepackage{nicematrix}
\setlength{\tabcolsep}{10pt}
\setlength{\extrarowheight}{2mm}
\setlength{\arrayrulewidth}{0.2mm}
\begin{document}
   
\begin{NiceTabular}{l*{5}{c}}[color-inside,hvlines]
\Block{2-1}{Name}& \Block[fill=black!10]{1-4}{Subjects} &&&&
\Block{2-1}{Total}\\
&Math & Phy & Chem & English & \\
\rowcolor{red!50} Robin & 80 & 68 & 60 & 57 & 265\\
Julie & 72 & 62 & 66 & 63 & 263\\
Robert & 75 & 70 & 71 & 69 & 285\\
\end{NiceTabular}
\end{document}

您需要进行多次编译(因为nicematrix在后台使用了 PGF/TikZ 节点)。

上述代码的输出

答案2

在此处输入图片描述

\documentclass[a4paper,11pt,twoside]{book}
\usepackage{array,multirow}
\usepackage[table]{xcolor}
\setlength{\tabcolsep}{10pt}
\setlength{\extrarowheight}{2mm}
\setlength{\arrayrulewidth}{0.2mm}

\begin{document}
\begin{tabular}{|l|*{5}{c|}}
\hline 
\multirow{2}{*}{Name} & \multicolumn{4}{c|}{\cellcolor{black!10} Subjects} & \multirow{2}{*}{Total} \\
\cline{2-5} 
& Math & Phy & Chem & English & \\
\hline
\rowcolor{red!50}[0.98\tabcolsep]
Robin & 80 & 68 & 60 & 57 & 265 \\
\hline
Julie & 72 & 62 & 66 & 63 & 263 \\
\hline
Robert & 75 & 70 & 71 & 69 & 285 \\
\hline
\end{tabular}
\end{document}

相关内容