colortbl rowcolor 位于 @{decl} 上方

colortbl rowcolor 位于 @{decl} 上方

我有一些包含许多$\pm$值的表格,我使用@{decl}命令来实现良好的对齐。但是,我想添加一些行颜色。尝试使用 colortbl 时,我发现单元格/行颜色位于我的顶部$\pm$。我尝试使用悬垂部分,但颜色不在后面$\pm$

MWE 如下。

\documentclass{article}
\usepackage{color}
\usepackage{colortbl}

\begin{document}
\begin{tabular}{l@{$\pm$}r}
\multicolumn{2}{c}{value} \\
\hline
1 & 2 \\ 
\rowcolor{white}[0pt] 2&3 \\
\rowcolor{yellow}[0pt] 3&4\\
\end{tabular}


\begin{tabular}{l@{$\pm$}r}
\multicolumn{2}{c}{value} \\
\hline
1 & 2 \\ 
\rowcolor{white} 2&3 \\
\rowcolor{yellow} 3&4\\
\end{tabular}
\end{document}

有没有什么好/简单的方法来做这个 LaTeX?我确信有些复杂,但我认为这将是一个相对简单的用例。如果这可能很重要,我正在用 Beamer 制作海报。

Latex 表结果

答案1

您可以使用dcolumn包轻松获得对齐(周围有正确的间距\pm)和颜色:

\documentclass{article}
\usepackage{dcolumn}
\usepackage[table]{xcolor}

\newcolumntype{L}{D{,}{{}\pm{}}{1,1}}

\begin{document}

\noindent\begin{tabular}{L}
\multicolumn{1}{c}{value} \\
\hline
1,2 \\ 
\rowcolor{blue!30} 2,3 \\
\rowcolor{yellow!60} 3,4 \\
\end{tabular}

\noindent\begin{tabular}{L}
\multicolumn{1}{c}{value} \\
\hline
1,2 \\ 
\rowcolor{blue!30}[0pt] 2,3 \\
\rowcolor{yellow!60}[0pt] 3,4 \\
\end{tabular}

\end{document}

在此处输入图片描述

答案2

彩色面板布置在每个单元格内容之前,因此您需要使单元格在@{}扩展之前在下面它和之后的那个@{}不要延伸回它上面。

在此处输入图片描述

不幸的是我认为这意味着:

\documentclass{article}
\usepackage{color}
\usepackage{colortbl}

\begin{document}
\begin{tabular}{l@{$\pm$}r}
\multicolumn{2}{c}{value} \\
\hline
1 & 2 \\ 
\rowcolor{white}[0pt] 2&3 \\
%\rowcolor{yellow}[0pt]
\multicolumn{1}{>{\columncolor{yellow}[0pt][20pt]}l@{$\pm$}}{3}&
\multicolumn{1}{>{\columncolor{yellow}[0pt]}l}{4}\\
\end{tabular}
\end{document}

答案3

通过,您{NiceTabular}可以nicematrix直接得到预期的结果。

\documentclass{article}
\usepackage{nicematrix,color}

\begin{document}

\begin{NiceTabular}{l@{$\pm$}l}[colortbl-like]
\multicolumn{2}{c}{\clap{value}} \\
\hline
1 & 2 \\ 
\rowcolor{white} 2 & 3 \\
\rowcolor{yellow} 3 & 4\\
5 & 6 
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容