减少过小的表格单元格中的左侧文本填充

减少过小的表格单元格中的左侧文本填充

鉴于下表中定义了列类型 C,使其具有(小)固定宽度和居中文本,我怎样才能使文本实际上居中?所有单元格内容的长度均不得超过 3 位(带小数点)。

使用\setlength\tabcolsep{}不起作用,将列类型设置为c会使列太宽,尽管p看起来基本相同,因为单元格太小而无法真正居中文本。使用@{}会删除单元格左侧的所有填充。

\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}

\begin{table}[]
    \centering
    \begin{tabularx}{\textwidth}{|r||C{.31cm}|C{.31cm}|C{.31cm}|C{.31cm}|C{.31cm}|C{.31cm}|C{.31cm}||}
    
    \cline{1-8}
        \small ---- & \footnotesize0.9 & \footnotesize0.92 & \footnotesize0.99 & \footnotesize1.0 & \footnotesize\textbf{***} & \footnotesize\textbf{***} & \footnotesize\textbf{***}\\
    \cline{1-8}
    
    \end{tabularx}
\end{table}

在此处输入图片描述

答案1

以下两个建议之一怎么样?

在此处输入图片描述

\documentclass{article}
\usepackage{array}
\begin{document}

\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}

\begin{table}
    \centering
    \setlength{\tabcolsep}{0pt}
    \begin{tabular}{|@{\hspace{6pt}}r@{\hspace{6pt}}||*{7}{>{\footnotesize}C{\dimexpr.31cm+12pt}|}|}
    \cline{1-8}
        \small --- & 0.9 & 0.92 & 0.99 & 1.0 & \textbf{***} &  \textbf{***} & \textbf{***}\\
    \cline{1-8}
    \end{tabular}
\end{table}

\end{document}

\documentclass{article}
\usepackage{array}
\usepackage{calc}
\newlength{\mywidth}

\begin{document}
\begin{table}
    \centering
    \setlength{\mywidth}{\widthof{\footnotesize 0.99}}
    \begin{tabular}{|r||*{7}{>{\footnotesize}wc{\mywidth}|}|}
    \cline{1-8}
        \small --- & 0.9 & 0.92 & 0.99 & 1.0 & \textbf{***} &  \textbf{***} & \textbf{***}\\
    \cline{1-8}
    \end{tabular}
\end{table}

\end{document}

答案2

我想这就是你想要的吧?

\documentclass{article}

\usepackage{array, tabularx}
\setlength{\extrarowheight}{2pt}
\renewcommand{\tabularxcolumn}[1]{>{\small}m{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}

\begin{table}
    \centering
    \begin{tabularx}{\textwidth}{|r||*{7}{C|}|}
    \hline%\cline{1-8}
        \small --- & \footnotesize 0.9 & \footnotesize 0.92 & \footnotesize 0.99 & \footnotesize 1.0 & \footnotesize\textbf{***} & \footnotesize\textbf{***} & \footnotesize\textbf{***}\\
    \hline%\cline{1-8}
    \end{tabularx}
\end{table}

\end{document} 

在此处输入图片描述

答案3

另一种解决方案是tabularray包裹:

\documentclass{article}

\usepackage{tabularray}

\begin{document}

\begin{table}
  \centering
  \begin{tblr}{
    width = 0.55\textwidth,
    colspec={|r||X[c]|X[c]|X[c]|X[c]|X[c]|X[c]|X[c]||},
    column{1} = {font=\small},
    column{2-5} = {colsep=3pt,font=\footnotesize},
    column{6-8} = {colsep=3pt,font=\footnotesize\bfseries},
  }
    \cline{1-8}
    --- & 0.9 & 0.92 & 0.99 & 1.0 & *** & *** & *** \\
    \cline{1-8}
  \end{tblr}
\end{table}

\end{document}

在此处输入图片描述

相关内容