¿Usar siunitx para resaltar una columna de la tabla?

¿Usar siunitx para resaltar una columna de la tabla?

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:

Tabla con texto rojo.

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}

ingrese la descripción de la imagen aquí

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}

ingrese la descripción de la imagen aquí

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 xcolorpaquete, 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!

ingrese la descripción de la imagen aquí

Para tener un color de columna hasta la regla, tiene dos posibilidades: (i) cambiar la regla a \hlineo (ii) redefinir booktabslas 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}

información relacionada