下表中的数字占用了太多空间。我不想对表格进行横向排列,因为行数太多了。
因此,我想做以下两件事:
- 在某些列之间留出更多空间。特别是如果某些列不需要那么大的宽度,我想知道是否最好手动设置此空间以进行优化。
- 在此过程中将表格向左和向右移动。当我调整时
\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}}