
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:
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}
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}
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 xcolor
pacote, 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
!
para ter a cor da coluna até a regra, você tem duas possibilidades: (i) alterar a regra para \hline
ou (ii) redefinir booktabs
as 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}