
Estoy usando siunitx para alinear mis columnas con el punto decimal. Quiero resaltar una de las columnas de mi tabla (editado: hacer que una columna tenga un fondo de color). Me preguntaba si siunitx tiene alguna función para esto. Hasta ahora, sólo he logrado cambiar el color de fuente de esta manera:
\documentclass[]{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{color}
\begin{document}
\begin{tabular}{S[table-format=3.2]S[table-
format=3.2]S[table-format=3.2,color=red]}
\toprule
1 & 2 & 3 \\
1.0 & 2.0 & 3.0 \\
\bottomrule
\end{tabular}
\end{document}
Lo que produce este resultado:
Sería genial si alguien conociera un color verde suave que también se imprimiera bien en escala de grises.
Respuesta1
tu solución no funciona. La solución simple, que también coloreará las fuentes en el encabezado de la columna, es:
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage[table]{xcolor}
\begin{document}
\begin{tabular}{S[table-format=3.2]
S[table-format=3.2]
>{\color{red}}S[table-format=3.2]}% correct way to prescribe font color
\toprule
1 & 2 & 3 \\
1.0 & 2.0 & 3.0 \\
\bottomrule
\end{tabular}
\end{document}
Solución más avanzada, donde puedes seleccionar qué celdas tendrán contenido en rojo:
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{xcolor}
\usepackage{etoolbox} % <--
\newrobustcmd{\R}{\color{red}} % <--
\begin{document}
\begin{tabular}{S[table-format=3.2]
S[table-format=3.2]
S[detect-weight,% <--
table-format=3.2]}
\toprule
1 & 2 & 3 \\
1.0 & 2.0 & \R 3.0 \\
\bottomrule
\end{tabular}
\end{document}
editar:
De su comentario se desprende que en realidad le gusta tener el fondo de la columna coloreado en algún color "verde suave". Para conocer los colores, consulte la documentación del xcolor
paquete, que describe detalladamente los colores predefinidos por nombre o cómo definir los propios. En breve, el color lo debes seleccionar tú mismo, lo mejor es usar gris simple como lo uso en mwe a continuación.
nota:¡Usar columnas de colores no funciona bien con las reglas de booktabs
!
Para tener un color de columna hasta la regla, tiene dos posibilidades: (i) cambiar la regla a \hline
o (ii) redefinir booktabs
las reglas eliminando el espacio vertical agregado a su alrededor:
\setlenght\aboverulesep{0pt}
\setlength\belowrulesep{0pt}
(no considerado en mwe a continuación)
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage[table]{xcolor}% <--- changed
\begin{document}
\begin{tabular}{S[table-format=3.2]
S[table-format=3.2]
>{\columncolor{gray!20}}S[table-format=3.2]}
\toprule
1 & 2 & 3 \\
1.0 & 2.0 & 3.0 \\
\bottomrule
\end{tabular}
\end{document}