Stata esttab / LaTeX错误:额外对齐选项卡已更改为\ cr

时间:2017-03-25 16:41:01

标签: syntax latex stata

结合并修改此代码(http://www.stata.com/statalist/archive/2012-11/msg00756.html)和此代码(http://www.stata.com/statalist/archive/2009-02/msg00023.html),我尝试在Stata中使用esttabestout的一部分)来导出文件可以在LaTeX中编译。这种情况的实际应用可能涉及一个复杂的汇总统计表,其中一个是从几个不同来源提取统计数据,因此需要利用矩阵。但是,当我编译时,我在LaTeX中收到错误。错误是:

Extra alignment tab has been changed to \cr. 

Stata代码:

clear all
eststo clear
mat A = (1,2\5,6)
mat coln A = male:1979 male:2007
mat rown A = mystat
ereturn post
estadd matrix B = A'
eststo MaleLabel
mat A = (3,4\7,8)
mat coln A = female:1979 female:2007
mat rown A = mystat
ereturn post
estadd matrix B = A'
eststo FemaleLabel
esttab MaleLabel FemaleLabel using "esttab.tex", ///
    cell((B["1979"]B["2007"])) booktabs ///
    mgroups("Male" "Female", pattern(1 1) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) ///
    noobs replace nomtitles nonum 

LaTeX代码:

\documentclass[12pt]{article} 
\usepackage{booktabs}
\begin{document}
\begin{table}[htbp]
\begin{center}
\input{esttab}
\end{center}
\end{table}
\end{document}

esttab生成的文件是:

{
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabular}{l*{2}{c}}
\toprule
            &\multicolumn{2}{c}{Male} &\multicolumn{2}{c}{Female}\\\cmidrule(lr){2-3}\cmidrule(lr){4-5}
            &        1979&        2007&        1979&        2007\\
\midrule
mystat      &           1&           2&           3&           4\\
mystat      &           5&           6&           7&           8\\
\bottomrule
\end{tabular}
}

现在,如果我调整这一行,我可以开始工作:

 \begin{tabular}{l*{2}{c}}

是:

 \begin{tabular}{l*{2}{cc}}

(我添加了额外的c。)

但我只知道如何手动完成此操作。我可以在Stata代码中更改哪些内容以自动执行此操作?

1 个答案:

答案 0 :(得分:1)

将这个简单的选项添加到您的企业代码

prehead({\begin{tabular}{l*{2}{cc}}\toprule)

你们都是我的男人!