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