
Tengo un problema extraño en el que mi comando de color de fila sobrescribe el separador de columnas en algunos visores de PDF. Acrobat (desafortunadamente) es el único que tiene el problema de renderizado. El problema existe tanto en la pantalla renderizada como en la versión impresa.
La representación de Acrobat es la siguiente:
La representación en TeXShop, MacOS Preview y Ghostscript desde un archivo Postscript es:
Con los otros motores de renderizado, puede ver que parece haber un separador de columnas de 1/2 línea, por lo que conceptualmente entiendo lo que está sucediendo, pero no sé cómo cambiar mi comando /rowcolor para solucionar el problema. Necesito asegurarme de que el comando /rowcolor no sobrescriba los divisores de la tabla, que son todos de 1 punto.
\usepackage{booktabs,xcolor,siunitx,colortbl}
\definecolor{lightgray}{HTML}{EFEFEF}
\begin{tabular}{|c|c||c|c||c|c|}
\hline
48 & 72 & 24 & 3 & \(z_0\)& 36\\
\rowcolor{lightgray}
& 96 & & 4 & \(z_1\)& 36\\
\hline
\end{tabular}
Para confirmar el problema de la línea de 1/2 ancho, agregué
\setlength{\arrayrulewidth}{1.5pt}
lo que hizo que todo fuera más grueso para que la mesa se renderizara en Acrobat, pero realmente no era agradable.
Cualquier sugerencia será muy apreciada.
Respuesta1
Eso es raro, y si tenemos suerte,David Carlisledel colortbl
paquete pasará por aquí y aclarará esto. No soy lo suficientemente experto como para ir más allá y arreglar el orden z de las reglas versus el color de relleno, lo que parece ser la causa principal del problema, pero tengo un truco sucio que podría ser lo suficientemente bueno para ti:
Algunas notas: el bloque de código TeX (que comienza con \makeatletter
) esesta corrección de color de doble regla, y llenará el espacio entre las reglas verticales dobles con el color que especifiques, y permite diferentes colores para cada fila.
Estoy usando la [table]{xcolor}
opción porque admite colores de fila, que alternan los colores de fila automáticamente.
Para solucionar el problema del separador vertical irregular, simplemente definí un color que es muy cercano al blanco, pero que en realidad no lo es, para forzar el llenado de todas las filas.
\usepackage[table]{xcolor}
\usepackage{booktabs,siunitx}
\makeatletter
\let\old@mkpream\@mkpream
\def\@mkpream{%
\ifx\CT@drsc@\relax\else\let\CT@drsc@ @\fi
\let\CT@arc@\relax
\old@mkpream}
\makeatother
\begin{document}
\definecolor{lightgray}{HTML}{EFEFEF}
\definecolor{nearwhite}{HTML}{FEFEFE}
\doublerulesepcolor{nearwhite}
\rowcolors{1}{nearwhite}{lightgray}
\begin{tabular}{|c|c||c|c||c|c|}
\hline
48 & 72 & 24 & 3 & \(z_0\)& 36\\
\doublerulesepcolor{lightgray}
& 96 & & 4 & \(z_1\)& 36\\
\hline
\end{tabular}
Respuesta2
Con {NiceTabular}
of nicematrix
, tendrás directamente el resultado esperado. Las reglas no parecerán desaparecer en algunos visores de PDF en algunos niveles de zoom.
\documentclass{article}
\usepackage{xcolor}
\definecolor{lightgray}{HTML}{EFEFEF}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{|c|c||c|c||c|c|}[colortbl-like]
\hline
48 & 72 & 24 & 3 & \(z_0\)& 36\\
\rowcolor{lightgray}
& 96 & & 4 & \(z_1\)& 36\\
\hline
\end{NiceTabular}
\end{document}
Necesita varias compilaciones (porque nicematrix
utiliza nodos PGF/Tikz bajo el capó).