Использовать siunitx для выделения столбца таблицы?

Использовать siunitx для выделения столбца таблицы?

Я использую 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}

Связанный контент