将表格向左移动并向列添加空间

将表格向左移动并向列添加空间

下表中的数字占用了太多空间。我不想对表格进行横向排列,因为行数太多了。

因此,我想做以下两件事:

  1. 在某些列之间留出更多空间。特别是如果某些列不需要那么大的宽度,我想知道是否最好手动设置此空间以进行优化。
  2. 在此过程中将表格向左和向右移动。当我调整时\textwidth,它只会向右移动。我希望表格仍然保持在页面的中心。

我希望内容在每一列中居中,就像当前代码一样。

我看到了类似的帖子,但我不知道如何整合结果,以及这是否正是我想做的事情: 在表格的列之间添加空格

\documentclass[12pt,english]{article}
\usepackage{longtable}
\usepackage{fullpage}
\usepackage{times}
\usepackage[flushleft]{threeparttable}
\usepackage[font=large,labelfont=bf,tableposition=top,textfont=bf]{caption}
\usepackage{tabularx}
\usepackage{booktabs}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}

\clearpage \newpage
\begin{table}[!ht]
\caption{Table Title}
\def\arraystretch{1.05}
\vspace{-0.2cm}
\begin{threeparttable}
\small
\begin{tabularx}{\textwidth}{l*{10}{C}}
\hline \hline \addlinespace
 & (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) & (9) & (10) \\  
Variable Name & 1234566 & 6543216 & 2233456 & 6655432 & 1830349 & 1234532 & 2532534 & 838285 & 123456 & 1285838 \\
\hline \hline \addlinespace
 \end{tabularx}
\begin{tablenotes}
\vspace{0.1cm}
\footnotesize{

\item \noindent \hspace{-1.8mm} Notes: 

 \noindent Sources: 
 }
\end{tablenotes}
\end{threeparttable}
\end{table}

\end{document}

答案1

以下是我的建议:

  • 插入命令\setlength\tabcolsep{3pt}以将列间空白量减少一半。(此参数的默认值为6pt。)
  • \small将之后的指令替换\begin{threeparttable}\footnotesize。 (这也可以让你摆脱后续\footnotesize命令。)
  • tabularx通过如下更改设置来消除第一列之前和最后一列之后的垂直空白:

    \begin{tabularx}{\textwidth}{@{}l*{10}{C}@{}}
    

    (注意两个新@{}元素)。

通过这些更改,我设法让表格适合分配的文本块宽度。我的纸张大小是US Letter;如果你的纸张大小是A4,你可能需要tabcolsep进一步将宏的值减小到2pt

另外,既然您已经加载了booktabs包,为什么不分别用和替换丑陋的\hline\hline命令呢?(这也可以让您摆脱指令。)\toprule\midrule\addlinespace

在此处输入图片描述

请注意,该软件包times已过时。我建议您mathptmx改为加载该软件包——除非您真的想将 Times New Roman 作为文本字体,将 Computer Modern 作为数学字体混合使用...

附录:关于改变文本块宽度的主题:看一下这个答案作为如何使用geometry包的命令\newgeometry\restoregeometry实现此目标的示例。

答案2

除了 @mico 所说的,我不明白你为什么要在这里使用 tabularx。如果我将你的示例更改为

 \setlength\tabcolsep{1pt}
 \begin{tabular}{l*{10}{l}}

如果您确实需要扩展到仅一个表格的边缘,那么纯文本\centerline是一种快速而简便的方法。

\centerline{\begin{tabular}{l*{12}{l}}
\hline \hline \addlinespace
 & (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) & (9) & (10) &(11)&(12) \\   
Variable Name & 1234566 & 6543216 & 2233456 & 6655432 & 1830349 & 1234532 & 2532534 & 838285 & 123456 & 1285838 \\
\hline \hline \addlinespace
 \end{tabular}}

相关内容