Usar siunitx para destacar uma coluna da tabela?

Usar siunitx para destacar uma coluna da tabela?

Estou usando o siunitx para alinhar minhas colunas pela vírgula decimal. Quero destacar uma das colunas da minha tabela (editado: fazer com que uma coluna tenha um fundo colorido). Fiquei me perguntando se o siunitx tem uma função para isso. Até agora, só consegui alterar a cor da fonte assim:

\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}

O que produz este resultado:

Tabela com texto vermelho.

Seria muito bom se alguém conhecesse uma cor verde suave que também imprimisse bem em escala de cinza.

Responder1

sua solução não funciona. solução simples, que também irá colorir fontes no cabeçalho da coluna, é:

\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}

insira a descrição da imagem aqui

solução mais avançada, onde você pode selecionar quais células terão conteúdo em vermelho:

\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}

insira a descrição da imagem aqui

editar: Segue-se do seu comentário que você realmente gosta de ter o fundo da coluna colorido em alguma cor "verde suave". para cores, consulte a documentação do xcolorpacote, que descreve detalhadamente as cores predefinidas por nome ou como definir as próprias. em breve, a cor que você deve selecionar, o melhor é usar cinza simples como uso no mwe abaixo.

observação:usar coluna colorida não funciona bem com as regras de booktabs!

insira a descrição da imagem aqui

para ter a cor da coluna até a regra, você tem duas possibilidades: (i) alterar a regra para \hlineou (ii) redefinir booktabsas regras para remover o espaço vertical adicionado ao seu redor:

\setlenght\aboverulesep{0pt}
\setlength\belowrulesep{0pt}

(não considerado no mwe abaixo)

\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}

informação relacionada