簡體   English   中英

Stata esttab / LaTeX錯誤:“額外對齊”選項卡已更改為\\ cr

[英]Stata esttab/LaTeX Error: Extra alignment tab has been changed to \cr

結合並修改此代碼( http://www.stata.com/statalist/archive/2012-11/msg00756.html )和此代碼( http://www.stata.com/statalist/archive/2009-02/ msg00023.html ),我嘗試使用esttab (部分estout在Stata)導出,可以在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代碼以使其自動發生嗎?

將此簡單選項添加到您的estab代碼中

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

你們都定了我的男人!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM