如何减少表格单元格的左填充?

如何减少表格单元格的左填充?

我通过阴影突出显示表格单元格。但是,左侧填充被夸大了。如何减少该间距,从而导致左侧的灰色区域更大?

在此处输入图片描述

\documentclass{memoir}
\usepackage{xcolor}
\usepackage{colortbl}
\begin{document}
\begin{tabular}{rrr}
3.1544 & 1.9929     & 2.6229\\
3.1140 & 1.6107     & 2.4226 \\
12.40208    & 5.92132   & \cellcolor{gray!30} 9.41145 \\
\end{tabular}
\end{document}

在我的实际文档中,它是一个 siunitxS列,以防万一。

答案1

使用nicematrix(和tikz)您可以精确设置inner ysepinner xsep

在此处输入图片描述

\documentclass{memoir}

\usepackage{nicematrix, tikz}
\usetikzlibrary{fit}

\tikzset{highlight/.style={fill=gray!30, inner ysep=1pt, inner xsep=2pt, fit=#1}}

\begin{document}
\begin{NiceTabular}{rrr}
\CodeBefore [create-cell-nodes]
    \tikz{\node[highlight=(3-3)]{};}
\Body
3.1544 & 1.9929     & 2.6229\\
3.1140 & 1.6107     & 2.4226 \\
12.40208 & 5.92132  & 9.41145
\end{NiceTabular}
\end{document}

答案2

您可以使用\colorbox而不是\cellcolor

在此处输入图片描述

\documentclass{memoir}
\usepackage{xcolor}  % for '\colorbox' macro
\usepackage{siunitx} % for 'S' column type
\usepackage{booktabs}% for '\toprule' and '\bottomrule' macros

\begin{document}

\renewcommand\arraystretch{1.15}
\sisetup{round-mode=places,round-precision=4}

\begin{tabular}{@{} S[table-format=2.4] S[table-format=1.4] S[table-format=1.4] @{}}
\toprule
 3.1544   & 1.9929   & 2.6229\\
 3.1140   & 1.6107   & 2.4226 \\
12.40208  & 5.92132  & \colorbox{gray!30}{9.4115} \\
\bottomrule
\end{tabular}

\end{document}

相关内容