鉴于下表中定义了列类型 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}