\rowcolor 截断表格中的单元格

\rowcolor 截断表格中的单元格

我正在对一位合著者最初为出版而创建的表格进行格式化,在尝试对行进行颜色编码时遇到了问题。第一个数据行中的度数符号的格式很奇怪(通过使用额外的列),这可能是错误的来源,但我不确定是否有其他方法可以实现相同的效果(列对齐,度数符号不是对齐的一部分)。无论如何,当我添加行颜色时,平均误差和最大误差列中的条目被截断:生成的输出。

我怎样才能摆脱这种截断并保持当前对齐?

\documentclass{article}
\usepackage[table]{xcolor}
\begin{document}
\begin{tabular}{l | r | r @{}l | r @{} l }
Name & Bits & Mean Error &  & Max Error &  \\
\hline 
\hline
A & 15 & $1.45262$&$^{\circ}$ & $3.26743$&$^{\circ}$ \\ 
\hline
\rowcolor{gray}
B & 16 & $0.37364$& & $1.29985$& \\ 
C & 16 & $0.36114$& & $1.05603$& \\ 
\end{tabular}
\end{document}

答案1

只需插入一个 \hphantom{^{\circ}} 像这样:

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

\begin{document}

\begin{tabular}{l|r|r|r}
   Name & Bits & Mean Error  & Max Error   \\
   \hline
   \hline
   A & 15 & $1.45262^{\circ}$ & $3.26743^{\circ}$ \\
   \hline
   \rowcolor{gray}
   B & 16 & $0.37364\hphantom{^{\circ}} $ &  $1.29985\hphantom{^{\circ}}$ \\
   C & 16 & $0.36114\hphantom{^{\circ}}$ & $1.05603\hphantom{^{\circ}}$ \\
\end{tabular}

\end{document}

另一个解决方案是节省输入大量 \hphantoms 和 $...$ 的时间:

\begin{tabular}{l | r | r | r}
   Name & Bits & Mean Error  & Max Error   \\
   \hline
   \hline
   A & 15 & 1.45262\rlap{$^{\circ}$} & 3.26743\rlap{ $^{\circ}$} \\
   \hline
   \rowcolor{gray}
   B & 16 & 0.37364  &   1.29985  \\
   C & 16 & 0.36114  &  1.05603 \\

\end{表格} 以下是两种解决方案的结果

答案2

环境{NiceTabular}提供nicematrix与类似的工具,colortbl但使用 PGF/Tikz 进行绘图。

使用该环境,您可以直接获得您想要的东西(但由于使用 PGF/Tikz 节点,因此您需要多次编译nicematrix)。

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{l | r | r @{}l | r @{} l }[colortbl-like]
Name & Bits & Mean Error &  & Max Error &  \\
\hline 
\hline
A & 15 & $1.45262$&$^{\circ}$ & $3.26743$&$^{\circ}$ \\ 
\rowcolor{gray}%
B & 16 & $0.37364$& & $1.29985$& \\ 
C & 16 & $0.36114$& & $1.05603$& \\ 
\end{NiceTabular}
\end{document}

上述代码的输出

相关内容