我正在尝试通过 /input 方法将表格调整到页面宽度,并将其包含在 .tex 文档中。我这样做是因为我正在使用 estout 方法将表格从 Stata 导出到 Latex,并将这些表格包含到我的文档中。但是,有些表格太宽了,我想缩小它们以使其适合。
我认为这个问题与许多要求适合表格的问题不同,因为我通过 /input{} 方法调用表格。但是,我是 Latex 的初学者,可能还没有尝试正确的事情。
理想情况下,我不想手动更改 stata latex 输出,而是 a) 在 Stata estout 中使用某些选项或 b) 在主文档中使用某些 latex 代码。
提前感谢你的帮助!
主要文件:
\documentclass[•]{article}
\usepackage{booktabs}
\begin{document}
\input{tables/desstat_behav_corr}
\end{document}
以及输入文档:
\begin{table}[htbp]
\centering
\caption{Pairwise correlations of behavioural variables}
\begin{tabular*}{\textwidth}{@{\hskip\tabcolsep\extracolsep\fill}l*{8}{c}}
\toprule &\multicolumn{8}{c}{} \\
& ceo\_age& cfo\_age&CapIQ\_CEOfixed\_to\_total&CapIQ\_CEObonus\_to\_total&CapIQ\_CEOlongterm\_to\_total&CapIQ\_CFOfixed\_to\_total&CapIQ\_CFObonus\_to\_total&CapIQ\_CFOlongterm\_to\_total\\
\midrule
ceo\_age & 1& & & & & & & \\
cfo\_age & 0.260& 1& & & & & & \\
CapIQ\_CEOfixed\_to\_total& 0.0202& -0.0563& 1& & & & & \\
CapIQ\_CEObonus\_to\_total& 0.0323& 0.0844& -0.442& 1& & & & \\
CapIQ\_CEOlongterm\_to\_total& 0.00911& 0.0740& -0.316& 0.0130& 1& & & \\
CapIQ\_CFOfixed\_to\_total& -0.0748& -0.0879& 0.673& -0.308& -0.279& 1& & \\
CapIQ\_CFObonus\_to\_total& 0.0708& 0.0534& -0.380& 0.794& -0.0360& -0.361& 1& \\
CapIQ\_CFOlongterm\_to\_total& 0.0766& 0.0395& -0.318& -0.0245& 0.814& -0.325& -0.0415& 1\\
\bottomrule
\end{tabular*}
\end{table}
答案1
这个答案是为了解决评论部分中的后续问题“是否有一种方法可以在不触及/input 部分中的代码的情况下缩小表格?'tabular*' 由 Stata 导出命令自动生成”。它可能与 OP 试图实现的目标兼容,也可能不兼容。
首先,让我重申免责声明:
1)由于列标题过宽,表格概念化程度较差;
2)如果希望缩放表格,则应使用tabular
,而不是,tabular*
因为tabular*
事先不知道表格是否过大,并且如果需要缩放则不会提供可接受的输出;
3)任何缩放只能在tabular
表格的内部进行,而不能在其table
本身进行,因为table
它是一个浮点数,不能作为对象进行缩放。
也就是说,我在这里所做的是将表格包装在一个宏中,我称其\totextwidth
为将缩放tabular
(缩小或保持不变)以适合\textwidth
。我使用浮点fp
包来计算比例因子,并使用\scalebox
包graphicx
来调整大小tabular
。它使用 egreg 技巧将长度放入计数寄存器中。
\begin{table}
我已经验证,如果将和之间的部分粘贴\end{table}
到单独的文件中并使用,这种方法是有效的\input
。EDITED 不会将窄表缩放到\textwidth
,而只会将宽表缩小到\textwidth
。
\documentclass[•]{article}
\usepackage{fp}
\usepackage{graphicx}
\usepackage{booktabs}
\newsavebox\mytabularbox
\newcount\figwidthc
\newcount\textwidthc
\newcommand\totextwidth[1]{%
\sbox{\mytabularbox}{#1}%
\figwidthc=\wd\mytabularbox%
\textwidthc=\textwidth%
\FPdiv\scaleratio{\the\textwidthc}{\the\figwidthc}%
\FPmin\scaleratio{\scaleratio}{1}%
\scalebox{\scaleratio}{\usebox{\mytabularbox}}%
}
\begin{document}
%\input{tables/desstat_behav_corr}
\begin{table}[htbp]
\centering
\caption{Pairwise correlations of behavioural variables}
\totextwidth{%
\begin{tabular}{@{\hskip\tabcolsep\extracolsep\fill}l*{8}{c}}
\toprule &\multicolumn{8}{c}{} \\
& ceo\_age& cfo\_age&CapIQ\_CEOfixed\_to\_total&CapIQ\_CEObonus\_to\_total&CapIQ\_CEOlongterm\_to\_total&CapIQ\_CFOfixed\_to\_total&CapIQ\_CFObonus\_to\_total&CapIQ\_CFOlongterm\_to\_total\\
\midrule
ceo\_age & 1& & & & & & & \\
cfo\_age & 0.260& 1& & & & & & \\
CapIQ\_CEOfixed\_to\_total& 0.0202& -0.0563& 1& & & & & \\
CapIQ\_CEObonus\_to\_total& 0.0323& 0.0844& -0.442& 1& & & & \\
CapIQ\_CEOlongterm\_to\_total& 0.00911& 0.0740& -0.316& 0.0130& 1& & & \\
CapIQ\_CFOfixed\_to\_total& -0.0748& -0.0879& 0.673& -0.308& -0.279& 1& & \\
CapIQ\_CFObonus\_to\_total& 0.0708& 0.0534& -0.380& 0.794& -0.0360& -0.361& 1& \\
CapIQ\_CFOlongterm\_to\_total& 0.0766& 0.0395& -0.318& -0.0245& 0.814& -0.325& -0.0415& 1\\
\bottomrule
\end{tabular}%
}
\end{table}
\begin{table}[htbp]
\centering
\caption{Narrow table}
\totextwidth{%
\begin{tabular}{|c|}
\hline
Narrow table\\
\hline
\end{tabular}
}%
\end{table}
\end{document}