Stata 到 Latex:格式化表格 - 宽度、换行注释和标题位置

Stata 到 Latex:格式化表格 - 宽度、换行注释和标题位置

在直接导出表格方面,我是 stata 和 latex 的新手。在阅读了一些文档后,我使用了以下代码(标记变量后):

eststo: quietly regress defgh hello, robust
eststo: quietly regress defgh hello lnGDP, robust
esttab using abc.tex, replace alignment(D{.}{.}{-1}) width(1\hsize) se ar2 title("abc") label addnotes("blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla") 
eststo clear

(因为有些人问:不,abc、defgh、hello 和 blablabla……不是真正的回归。我只是用这些替换了我的真名!)

我插入表格如下:

\input{Tables/abc.tex}

我主要有 3 个问题:

1)表格太宽(可能由于 hsize)(我怎样才能告诉 latex 它应该只考虑第一行的宽度?)

2)第二次回归的标题移动到了其他地方(也向左移了一点,但仍然没有到达它原来的位置)

3)我的桌上便签没有被包装起来……也可以把它们放在漂亮的盒子里吗?

感谢您的帮助!

我的乳胶表

生成的 tex 文件(代码):

\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{abc}
\begin{tabular*}{1\hsize}{@{\hskip\tabcolsep\extracolsep\fill}l*{2}{D{.}{.}{-1}}}
\hline\hline
                    &\multicolumn{1}{c}{(1)}&\multicolumn{1}{c}{(2)}\\
                    &\multicolumn{1}{c}{defgh}&\multicolumn{1}{c}{defgh}\\
\hline
Hello Everybody     &      -0.493\sym{***}&      -0.317\sym{***}\\
                    &     (0.106)         &    (0.0403)         \\
[1em]
ln(GDP per capita)  &                     &       6.466\sym{***}\\
                    &                     &     (0.349)         \\
[1em]
Constant            &       39.75\sym{***}&       26.45\sym{***}\\
                    &     (1.188)         &     (0.801)         \\
\hline
Observations        &         146         &         145         \\
Adjusted \(R^{2}\)  &       0.146         &       0.780         \\
\hline\hline
\multicolumn{3}{l}{\footnotesize Standard errors in parentheses}\\
\multicolumn{3}{l}{\footnotesize blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla}\\
\multicolumn{3}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabular*}
\end{table}

答案1

  1. 使用 的分数\linewidth而不是\hsize。如果您不知道表格的大致宽度,请使用普通tabular-environment 而不是tabular*。然后 LaTeX 将计算表格宽度。另外,我已经更正了 的设置extracolsep

  2. 加载标题包以正确格式化标题。我还建议将表格包装在三部分表-环境,这是将标题宽度调整为表格宽度的最简单方法。额外的好处是您可以更好地控制表格注释。

  3. 您必须将multicolumns包含长文本的定义为p{<wd>}与表格宽度大致相同的列。此外,blablabla是一个长单词,而 LaTeX 无法将其拆分。您必须设置断点(空格等)或使用可以自动拆分长单词的包,例如序列分割

如果你的“blabla”是一个句子,只需使用以下命令:

\multicolumn{3}{@{}p{0.70\linewidth}@{}}{\footnotesize Write your sentence
here, and it can be many words as you desire. The problem with no-breakable
long word is not there in a sentence of words.}\\
  1. 我已经加载书签并将 改为hline\toprule\midrulebottomrule这样可以在规则上方和下方留出更多空间。此外,我还用 增加了文本和规则之间的空间。此外,我还通过在列声明的开头和结尾\setlength{\extrarowheight}{1pt}添加 来删除左右侧边距。@{}

\documentclass{article}
\usepackage{array, dcolumn, seqsplit, booktabs, threeparttable}
\usepackage[format=hang, justification=raggedright, textfont=it]{caption}
\setlength{\extrarowheight}{1pt}
\begin{document}
\noindent\begin{table}[tbp]
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}

\begin{threeparttable}
\caption{Abc - some more text to see if the captiontext wraps as I assumed}

\begin{tabular*}{0.75\linewidth}{@{}l@{\extracolsep{\fill}}*{2}{D{.}{.}{-1}}@{}}
\toprule
                    &\multicolumn{1}{c}{(1)}&\multicolumn{1}{c}{(2)}\\
                    &\multicolumn{1}{c}{defgh}&\multicolumn{1}{c}{defgh}\\
\midrule
Hello Everybody     &      -0.493\sym{***}&      -0.317\sym{***}\\
                    &     (0.106)         &    (0.0403)         \\
[1em]
ln(GDP per capita)  &                     &       6.466\sym{***}\\
                    &                     &     (0.349)         \\
[1em]
Constant            &       39.75\sym{***}&       26.45\sym{***}\\
                    &     (1.188)         &     (0.801)         \\
\midrule
Observations        &         146         &         145         \\
Adjusted \(R^{2}\)  &       0.146         &       0.780         \\
\bottomrule
\multicolumn{3}{@{}l@{}}{\footnotesize Standard errors in parentheses}\\
\multicolumn{3}{@{}p{0.70\linewidth}@{}}{\framebox{\parbox{\linewidth
{\footnotesize
 \seqsplit{blablablablablablalablablablablablablablablablablablablabla
 blablablablablablablablablablablablablablablablablablablablablabla}}}}\\
\multicolumn{3}{@{}l@{}}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabular*}
\end{threeparttable}
\end{table}
\end{document}

在此处输入图片描述

相关内容