如何为单元格着色并保持其内容处于数学模式?

如何为单元格着色并保持其内容处于数学模式?

我正在尝试为某些 S 列中的某些表格单元格着色siunitx。单元格颜色使用xcolor/colortbl可以更改,但它似乎也会将单元格内容更改为文本模式,这在使用siunitx和负数时会产生不良后果。彩色单元格有一个短文本模式减号,而其余单元格则保留在数学模式中,并带有较长的减号。我不确定如何修复它。这是 MWE 和表格图像:

\documentclass{article}

\usepackage{siunitx}
\usepackage[table]{xcolor}
\usepackage{booktabs}

\newcommand{\blue}{\cellcolor{blue!25}}

\begin{document}

\begin{table}[]
  \begin{tabular}{
    S[table-format = 0.2]
    S[table-format = -0.2]}
    \toprule
    {A}  & {B}   \\ \midrule
    0.26 & -0.38 \\
    0.18 & \blue -0.34 \\
    \blue 0.31 & -0.36 \\ \bottomrule
  \end{tabular}
\end{table}
\end{document}

在此处输入图片描述

答案1

它必须\newcommand*{\blue}{{\cellcolor{blue!25}}}带有一组额外的花括号。

相关内容