\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn}
\begin{document}
\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{Cross-sectional regression}
\begin{tabular}{l*{10}{D{.}{.}{-1}}}
\toprule
&\multicolumn{1}{c}{(1)} &\multicolumn{1}{c}{(2)} &\multicolumn{1}{c}{(3)} &\multicolumn{1}{c}{(4)} &\multicolumn{1}{c}{(5)} &\multicolumn{1}{c}{(6)} &\multicolumn{1}{c}{(7)} &\multicolumn{1}{c}{(8)} &\multicolumn{1}{c}{(9)} &\multicolumn{1}{c}{(10)} \\
\midrule
rec & -0.00887 & -0.0302 & -0.260 & -0.203 & -0.196 & -0.142 & -0.224 & 0.0137 & -0.231 & 0.0640 \\
& [0.0523] & [0.0803] & [0.157] & [0.120] & [0.136] & [0.126] & [0.117] & [0.122] & [0.460] & [0.224] \\
\addlinespace
Constant & -0.0912\sym{***}& -0.00939 & 0.124\sym{***}& 0.0729\sym{**} & 0.112\sym{***}& 0.131\sym{***}& 0.148\sym{***}& 0.121\sym{***}& 0.235\sym{**} & 0.149\sym{***}\\
& [0.0100] & [0.0148] & [0.0290] & [0.0231] & [0.0264] & [0.0249] & [0.0237] & [0.0252] & [0.0817] & [0.0406] \\
\midrule
Observations & 8088 & 7153 & 6154 & 5313 & 4591 & 3983 & 3553 & 3186 & 2818 & 2441 \\
Adjusted \(R^{2}\) & -0.000 & -0.000 & 0.000 & 0.000 & 0.000 & 0.000 & 0.001 & -0.000 & -0.000 & -0.000 \\
\bottomrule
\multicolumn{11}{l}{\footnotesize Standard errors in brackets}\\
\multicolumn{11}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabular}
\end{table}
\end{document}
这是我尝试创建表格时使用的代码。当我运行它并打印出 PDF 时,表格太宽,无法放在一页上。我一直在查看与我类似的问题,并尝试了这些答案中的建议,但我并没有真正让它发挥作用。
有什么建议么?
答案1
以下元素的组合将使表格适合文本块
通过设置减少列间空白量
\setlength\tabcolsep{1.5pt}
(默认值6pt
:)使用
2.7
代替作为列类型-1
的说明符D
用于
\footnotesize
将字体大小线性缩小 20%使用“正常宽度”文本块(例如,边距为 1 英寸)
将行中的条目与观察次数放在一起
缩写第一列中的一些长单词
消除第一列左侧和最后一列右侧的空白。
(表格边缘的细垂直线是根据包装showframe
的选项绘制的geometry
。)
\documentclass{article}
\usepackage[margin=1in,showframe]{geometry}
\usepackage{booktabs,dcolumn}
\newcolumntype{d}[1]{D..{#1}}
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut command
\begin{document}
\begin{table}
\setlength\tabcolsep{1.5pt} % default value is 6pt
\footnotesize
\centering
\caption{Cross-sectional regression}
\begin{tabular}{@{} l *{10}{d{2.7}} @{}}
\toprule
&\mc{(1)} &\mc{(2)} &\mc{(3)} &\mc{(4)} &\mc{(5)}
&\mc{(6)} &\mc{(7)} &\mc{(8)} &\mc{(9)} &\multicolumn{1}{c@{}}{(10)} \\
\midrule
rec & -0.00887 & -0.0302 & -0.260 & -0.203 & -0.196 & -0.142 & -0.224 & 0.0137 & -0.231 & 0.0640 \\
& [0.0523] & [0.0803] & [0.157] & [0.120] & [0.136] & [0.126] & [0.117] & [0.122] & [0.460] & [0.224] \\
\addlinespace
Const.\ & -0.0912\sym{***}& -0.00939 & 0.124\sym{***}& 0.0729\sym{**} & 0.112\sym{***}& 0.131\sym{***}& 0.148\sym{***}& 0.121\sym{***}& 0.235\sym{**} & 0.149\sym{***}\\
& [0.0100] & [0.0148] & [0.0290] & [0.0231] & [0.0264] & [0.0249] & [0.0237] & [0.0252] & [0.0817] & [0.0406] \\
\midrule
Obs.\ & \mc{8088} & \mc{7153} & \mc{6154}
& \mc{5313} & \mc{4591} & \mc{3983} & \mc{3553}
& \mc{3186} & \mc{2818} & \multicolumn{1}{c@{}}{2441} \\
Adj.~\(R^{2}\) & -0.000 & -0.000 & 0.000 & 0.000 & 0.000 & 0.000 & 0.001 & -0.000 & -0.000 & -0.000 \\
\bottomrule \addlinespace
\multicolumn{11}{@{}l}{Standard errors in brackets}\\
\multicolumn{11}{@{}l}{\sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabular}
\end{table}
\end{document}
附录:如果您愿意将表格置于横向模式,即将其旋转 90 度,通过加载包rotating
和sidewaystable
环境,您可以省去上面的一些调整,例如使用较小的字体大小并缩写第一列中的单词,并且仍然使表格适合(现在更宽的)文本块:
\begin{sidewaystable}
%\footnotesize %% no longer needed
\centering
\caption{Cross-sectional regression}
\smallskip
\begin{tabular}{@{}l*{9}{D{.}{.}{2.7}}d{2.6}@{}}
\toprule
&\mc{(1)} &\mc{(2)} &\mc{(3)} &\mc{(4)} &\mc{(5)}
&\mc{(6)} &\mc{(7)} &\mc{(8)} &\mc{(9)} &\multicolumn{1}{c@{}}{(10)} \\
\midrule
rec & -0.00887 & -0.0302 & -0.260 & -0.203 & -0.196 & -0.142 & -0.224 & 0.0137 & -0.231 & 0.0640 \\
& [0.0523] & [0.0803] & [0.157] & [0.120] & [0.136] & [0.126] & [0.117] & [0.122] & [0.460] & [0.224] \\
\addlinespace
Constant & -0.0912\sym{***}& -0.00939 & 0.124\sym{***}& 0.0729\sym{**} & 0.112\sym{***}& 0.131\sym{***}& 0.148\sym{***}& 0.121\sym{***}& 0.235\sym{**} & 0.149\sym{***}\\
& [0.0100] & [0.0148] & [0.0290] & [0.0231] & [0.0264] & [0.0249] & [0.0237] & [0.0252] & [0.0817] & [0.0406] \\
\midrule
Observations & \mc{8088} & \mc{7153} & \mc{6154}
& \mc{5313} & \mc{4591} & \mc{3983} & \mc{3553}
& \mc{3186} & \mc{2818} & \multicolumn{1}{c@{}}{2441} \\
Adjusted \(R^{2}\) & -0.000 & -0.000 & 0.000 & 0.000 & 0.000 & 0.000 & 0.001 & -0.000 & -0.000 & -0.000 \\
\bottomrule \addlinespace
\multicolumn{11}{@{}l}{Standard errors in brackets}\\
\multicolumn{11}{@{}l}{\sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabular}
\end{sidewaystable}
\end{document}
答案2
等待更多详细信息,您可以这样做
\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{tabularx}
\begin{document}
\begin{table}[htbp]
\hspace{-3.5cm}
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabularx}{1.5\textwidth}{lccXXXXXXXX}
\toprule
&\multicolumn{1}{c}{(1)} &\multicolumn{1}{c}{(2)} &\multicolumn{1}{c}{(3)} &\multicolumn{1}{c}{(4)} &\multicolumn{1}{c}{(5)} &\multicolumn{1}{c}{(6)} &\multicolumn{1}{c}{(7)} &\multicolumn{1}{c}{(8)} &\multicolumn{1}{c}{(9)} &\multicolumn{1}{c}{(10)} \\
\midrule
rec & -0.00887 & -0.0302 & -0.260 & -0.203 & -0.196 & -0.142 & -0.224 & 0.0137 & -0.231 & 0.0640 \\
& [0.0523] & [0.0803] & [0.157] & [0.120] & [0.136] & [0.126] & [0.117] & [0.122] & [0.460] & [0.224] \\
\addlinespace
Constant & -0.0912\sym{***}& -0.00939 & 0.124\sym{***}& 0.0729\sym{**} & 0.112\sym{***}& 0.131\sym{***}& 0.148\sym{***}& 0.121\sym{***}& 0.235\sym{**} & 0.149\sym{***}\\
& [0.0100] & [0.0148] & [0.0290] & [0.0231] & [0.0264] & [0.0249] & [0.0237] & [0.0252] & [0.0817] & [0.0406] \\
\midrule
Observations & 8088 & 7153 & 6154 & 5313 & 4591 & 3983 & 3553 & 3186 & 2818 & 2441 \\
Adjusted \(R^{2}\) & -0.000 & -0.000 & 0.000 & 0.000 & 0.000 & 0.000 & 0.001 & -0.000 & -0.000 & -0.000 \\
\bottomrule
\multicolumn{11}{l}{\footnotesize Standard errors in brackets}\\
\multicolumn{11}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabularx}
\end{table}
\end{document}
这将导致这样的结果
tabularx 包提供了一种新的列类型“X”,这可能是您正在寻找的。我还使用 hspace 删除了左侧的 3.5 厘米,并将表格的宽度设置为文本宽度的 1.5 倍。
您可能需要更改边距或尝试这些设置,或者更具体地说:)
编辑:要旋转表格,请使用rotating
包。然后,您可以将 \begin{table} 替换为 \begin{sidewaystable},这样您的表格就旋转了。显然,您可以删除 hspace 并根据自己的喜好调整 tabularx 环境的宽度……
\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{rotating}
\usepackage{tabularx}
\begin{document}
\begin{sidewaystable}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabularx}{0.99\textheight}{lccXXXXXXXX}
\toprule
&\multicolumn{1}{c}{(1)} &\multicolumn{1}{c}{(2)} &\multicolumn{1}{c} {(3)} &\multicolumn{1}{c}{(4)} &\multicolumn{1}{c}{(5)} &\multicolumn{1}{c}{(6)} &\multicolumn{1}{c}{(7)} &\multicolumn{1}{c}{(8)} &\multicolumn{1}{c}{(9)} &\multicolumn{1}{c}{(10)} \\
\midrule
rec & -0.00887 & -0.0302 & -0.260 & -0.203 & -0.196 & -0.142 & -0.224 & 0.0137 & -0.231 & 0.0640 \\
& [0.0523] & [0.0803] & [0.157] & [0.120] & [0.136] & [0.126] & [0.117] & [0.122] & [0.460] & [0.224] \\
\addlinespace
Constant & -0.0912\sym{***}& -0.00939 & 0.124\sym{***}& 0.0729\sym{**} & 0.112\sym{***}& 0.131\sym{***}& 0.148\sym{***}& 0.121\sym{***}& 0.235\sym{**} & 0.149\sym{***}\\
& [0.0100] & [0.0148] & [0.0290] & [0.0231] & [0.0264] & [0.0249] & [0.0237] & [0.0252] & [0.0817] & [0.0406] \\
\midrule
Observations & 8088 & 7153 & 6154 & 5313 & 4591 & 3983 & 3553 & 3186 & 2818 & 2441 \\
Adjusted \(R^{2}\) & -0.000 & -0.000 & 0.000 & 0.000 & 0.000 & 0.000 & 0.001 & -0.000 & -0.000 & -0.000 \\
\bottomrule
\multicolumn{11}{l}{\footnotesize Standard errors in brackets}\\
\multicolumn{11}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \ (p<0.001\)}\\
\end{tabularx}
\end{sidewaystable}
\end{document}