带有 siunitx S 列的颜色表元素

带有 siunitx S 列的颜色表元素

我有一张表格,表格中的数字已使用包提供的 S 列类型对齐siunitx。我需要将其中一个表格元素设为红色,但当我这样做时,红色的数字不再对齐。

正确的做法是什么?MWE 如下。

\documentclass{article}
\usepackage{siunitx}
\usepackage[]{xcolor}

\begin{document}
\begin{table} \centering
    \caption{Table with \texttt{c} column type.}
    \begin{tabular}{cc}
        \hline
        Symbol & \multicolumn{1}{c}{Value} \\
        \hline
        $\pi$ & 3.141592654 \\
        $2\pi$ & 6.283185307 \\
        $4\pi$ & 12.56637061 \\
        $8\pi$ & {\color{red}25.13274123} \\
        $e$   & 2.71828182845904524 \\
        $\sqrt{2}$ & 1.41421356237309505 \\
        \hline
    \end{tabular}
\end{table}

\begin{table} \centering
    \caption{Table with \texttt{S} column type.}
    \begin{tabular}{cS}
        \hline
        Symbol & \multicolumn{1}{c}{Value} \\
        \hline
        $\pi$ & 3.141592654 \\
        $2\pi$ & 6.283185307 \\
        $4\pi$ & 12.56637061 \\
        $8\pi$ & {\color{red}25.13274123} \\
        $e$   & 2.71828182845904524 \\
        $\sqrt{2}$ & 1.41421356237309505 \\
        \hline
    \end{tabular}
\end{table}
\end{document}

答案1

只需删除 周围的括号即可\color{red}25.13274123。它们不是必需的,而且我认为括号中的内容不被视为数字,因此不对齐。

此外,\multicolumn不是必需的,用括号括起来就足够了Value。据我所知,原因是e中的Value可以被视为指数的一部分,例如3e8siunitx然后会尝试对齐它。为了防止对齐,请将其括在括号中。这在手动的,第 4.6 节表格材料(从第 13 页开始的最后一句话)。

\documentclass{article}
\usepackage{siunitx}
\usepackage{xcolor}
\begin{document}
\begin{table} \centering
    \caption{Table with \texttt{S} column type.}
    \begin{tabular}{cS}
        \hline
        Symbol & {Value} \\
        \hline
        $\pi$ & 3.141592654 \\
        $2\pi$ & 6.283185307 \\
        $4\pi$ & 12.56637061 \\
        $8\pi$ & \color{red}25.13274123 \\
        $e$   & 2.71828182845904524 \\
        $\sqrt{2}$ & 1.41421356237309505 \\
        \hline
    \end{tabular}
\end{table}
\end{document}

在此处输入图片描述

相关内容