我正在制作一张具有斑马色的表格。但我面临的一个问题是灰色单元格看起来不像图像所示的那样均匀。这是我的代码:
\newcolumntype{g}{>{\columncolor{Gray}}c}
\begin{table}[htp]
\centering
\begin{tabular}{|p{6cm}|p{10cm}|}
\hline
\rowcolor{white}
\thead{Example} & \thead{Example}\\
\hline
\rowcolor{Gray}
Example1 & bla\\
\rowcolor{Gray}
& bla\\
\rowcolor{Gray}
& bla\\
\hline
\rowcolor{white}
Example1 & bla\\
& bla\\
& bla\\
\hline
\end{tabular}
\end{table}
答案1
该软件包nicematrix
提供了一个{NiceTabular}
带有工具的环境,该工具的设计目的是避免这些细白线(出现在一些使用 PDF 渲染器 MuPDF 和 PDF.js 的 PDF 查看器中:SumatraPDF、Firefox、DropBox、Papeeria 等)。
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{nicematrix}
\usepackage{makecell} % for \thead
\begin{document}
\begin{table}[htp]
\centering
\begin{NiceTabular}{|p{6cm}|p{5cm}|}[color-inside]
\Hline
\thead{Example} & \thead{Example}\\
\Hline
\rowcolor{LightGray}
Example1 & bla\\
\rowcolor{LightGray}
& bla\\
\rowcolor{LightGray}
& bla\\
\Hline
Example1 & bla\\
& bla\\
& bla\\
\Hline
\end{NiceTabular}
\end{table}
\end{document}
您需要进行多次编译(因为nicematrix
在后台使用了 PGF/Tikz)。
存在句法变体。
例如,您可以指定\RowStyle
希望接下来的三行具有背景。
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{nicematrix}
\usepackage{makecell} % for \thead
\begin{document}
\begin{table}[htp]
\centering
\begin{NiceTabular}{|p{6cm}|p{5cm}|}[color-inside]
\Hline
\thead{Example} & \thead{Example}\\
\Hline
\RowStyle[nb-rows=3,rowcolor=LightGray]{}
Example1 & bla\\
& bla\\
& bla\\
\Hline
Example1 & bla\\
& bla\\
& bla\\
\Hline
\end{NiceTabular}
\end{table}
\end{document}
\rowlistcolors{LightGray}
您还可以输入开始着色和\rowlistcolors{}
停止着色的指令。
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{nicematrix}
\usepackage{makecell} % for \thead
\begin{document}
\begin{table}[htp]
\centering
\begin{NiceTabular}{|p{6cm}|p{5cm}|}[color-inside]
\Hline
\thead{Example} & \thead{Example}\\
\Hline
\rowlistcolors{LightGray}
Example1 & bla\\
& bla\\
& bla\\
\Hline
\rowlistcolors{}
Example1 & bla\\
& bla\\
& bla\\
\Hline
\end{NiceTabular}
\end{table}
\end{document}
也可以将颜色说明放在表格本身之外(即所谓的\CodeBefore
提供nicematrix
)。
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{nicematrix}
\usepackage{makecell} % for \thead
\begin{document}
\begin{table}[htp]
\centering
\begin{NiceTabular}{|p{6cm}|p{5cm}|}
\CodeBefore
\rowcolor{LightGray}{2-4}
\Body
\Hline
\thead{Example} & \thead{Example}\\
\Hline
Example1 & bla\\
& bla\\
& bla\\
\Hline
Example1 & bla\\
& bla\\
& bla\\
\Hline
\end{NiceTabular}
\end{table}
\end{document}
输出总是一样的。