我有一张表格,表格中的数字已使用包提供的 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
可以被视为指数的一部分,例如3e8
,siunitx
然后会尝试对齐它。为了防止对齐,请将其括在括号中。这在手动的,第 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}