
Я использую siunitx для выравнивания своих столбцов по десятичной точке. Я хочу выделить один из столбцов в своей таблице (отредактировано: сделать столбец с цветным фоном). Мне было интересно, есть ли в siunitx функция для этого. Пока что мне удалось изменить только цвет шрифта следующим образом:
\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}
Что дает следующий результат:
Было бы здорово, если бы кто-нибудь знал мягкий зеленый цвет, который также будет хорошо печататься в оттенках серого.
решение1
Ваше решение не работает. Простое решение, которое также будет цветными шрифтами в заголовке столбца, это:
\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}
более продвинутое решение, где вы можете выбрать, содержимое каких ячеек будет выделено красным цветом:
\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}
редактировать:
Из вашего комментария следует, что вам на самом деле нравится цветной фон столбцов в каком-то «мягком зеленом» цвете. Информацию о цветах смотрите в документации к xcolor
пакету, где подробно описываются предопределенные цвета по названию или как определить собственные. Короче говоря, цвет вы должны выбрать сами, лучше всего использовать простой серый, как я использую в примере ниже.
примечание:использование цветных столбцов не очень хорошо работает с правилами из booktabs
!
Чтобы задать цвет столбца до правила, у вас есть две возможности: (i) изменить правило на \hline
или (ii) переопределить booktabs
правила, удалив добавленное вертикальное пространство вокруг него:
\setlenght\aboverulesep{0pt}
\setlength\belowrulesep{0pt}
(не рассматривается в приведенных ниже примерах)
\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}