我见过类似的问题,但到目前为止我发现的所有问题都对我没什么帮助……我有一张相当复杂的表格(我从另一个来源改编而来,所以我无法真正改变结构),而且我无法从多行单元格中去除细白线。真正的表格更大,但这里有一个足够的示例来展示这个问题:
\usepackage[table,svgnames,xcdraw]{xcolor}
\usepackage{array, colortbl, multirow, graphicx}
\begin{table}[]
\centering
\resizebox{\textwidth}{!}{%
\begin{tabular}{llccccc}
\rowcolor[HTML]{000000}
\multicolumn{2}{c|}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} }} &
\multicolumn{2}{c}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} Volume (M)}} & \multicolumn{3}{c}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} Cost Savings (\$M)}} \\ \cline{3-4}
\rowcolor[HTML]{000000}
\multicolumn{2}{c|}{\multirow{-2}{*}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} Transaction Type}}} & {\color[HTML]{FFFFFF} Plans} & {\color[HTML]{FFFFFF} Providers} & {\color[HTML]{FFFFFF} Plans} & {\color[HTML]{FFFFFF} Providers} & {\color[HTML]{FFFFFF} Total} \\
\end{tabular}%
}
所以我当然不希望出现那些细细的白线,尤其是穿过文本的白线。提前谢谢您。
编辑:即使放大,使用预览或 Mac OSX 10.12.4 上 TexShop 的内置 PDF 查看功能,我也能看到细细的白线,如果单击原始帖子中的图像,您可以清楚地看到完全放大的图像中的白线。
答案1
对于垂直线,您可以尝试在默认悬垂部分上多加一点(例如 0.1pt),以便颜色重叠。对于水平线,将第二条线稍微向上移动会有所帮助。请注意,这可能会影响表格之间的线条。
\documentclass{scrartcl}
\usepackage[table,svgnames,xcdraw]{xcolor}
\usepackage{array, colortbl, multirow, graphicx}
\begin{document}
\begin{table}[]
\centering
\resizebox{\textwidth}{!}{%
\begin{tabular}{llccccc}
\rowcolor[HTML]{000000}[\dimexpr\tabcolsep+0.1pt\relax] %overhang
\multicolumn{2}{c|}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} }} &
\multicolumn{2}{c}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} Volume (M)}} & \multicolumn{3}{c}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} Cost Savings (\$M)}} \\[-0.1pt] \cline{3-4} % a bit up
\rowcolor[HTML]{000000}[\dimexpr\tabcolsep+0.1pt\relax] %overhang
\multicolumn{2}{c|}{\multirow{-2}{*}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} Transaction Type}}} & {\color[HTML]{FFFFFF} Plans} & {\color[HTML]{FFFFFF} Providers} & {\color[HTML]{FFFFFF} Plans} & {\color[HTML]{FFFFFF} Providers} & {\color[HTML]{FFFFFF} Total} \\
\end{tabular}%
}
\end{table}
\end{document}
为了获得真正完美的颜色,我通常使用 tikz,就像这个例子一样带填充的单元格的背景颜色
答案2
当两个相邻的单元格用两个不同的指令( PDF 流中调用的 PostScriptfill
运算符)着色时,某些 PDF 引擎(例如 SumatraPDF 中使用的 muPDF)中会出现细白线。fill
f
使用时,即使使用或colortbl
,每个单元格都会根据自己的指令进行着色。fill
\columncolor
\rowcolor
该软件包nicematrix
提供了解决该问题的工具。在该软件包提供的环境中{NiceTabular}
,在数组下创建了一些 PGF/Tikz 节点,用于绘制规则和为单元格着色。因此,在您的情况下,您只需要填充一个矩形(仅使用一条指令fill
)。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{center}
\color{white}
\begin{NiceTabular}{cccccc}
\CodeBefore
\arraycolor{black}
\Body
\Block{2-1}{Transaction Type}
& \Block{1-2}{Volume (M)} & & \Block{1-3}{Cost Savings (\$M)} \\
& Plans & Providers & Plans & Providers & Total \\
\end{NiceTabular}
\end{center}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。