如何使用esttab在变量标签中为LaTeX输出添加“&”?

时间:2019-07-19 19:23:41

标签: latex stata

我正在尝试将一些回归表从Stata导出到LaTeX

问题是我想在表中显示变量标签,但是我的一些标签包含&字符。因此,当我使用 community-contributed 命令esttab导出到LaTeX并尝试进行编译时,由于Texmaker认为{ {1}}应该指出一个额外的列。

下面是我的Stata代码:

&

如何在编译时在变量标签中包含esttab results1 results2 using "$repodir/output/tables/tract_xregs.tex", /// se noconstant label star(* 0.10 ** 0.05 *** 0.01) replace /// nonotes compress nomtitles booktabs /// s(modelsample modelobs, label("Sample" "N")) esttab sumstats1 using "$repodir/output/tables/tract_sumstats.tex", booktabs label /// nonumbers cells("mean p50 min max sd") replace 字符而不会出错?

1 个答案:

答案 0 :(得分:0)

使用Stata的玩具auto数据集考虑以下示例,该数据集重现了您的问题:

sysuse auto, clear
estimates clear

label variable weight "One & Two"

regress price weight
estimates store ols

esttab ols, label tex

{
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabular}{l*{1}{c}}
\hline\hline
                    &\multicolumn{1}{c}{(1)}\\
                    &\multicolumn{1}{c}{Price}\\
\hline
One & Two           &       2.044\sym{***}\\
                    &      (5.42)         \\
[1em]
Constant            &      -6.707         \\
                    &     (-0.01)         \\
\hline
Observations        &          74         \\
\hline\hline
\multicolumn{2}{l}{\footnotesize \textit{t} statistics in parentheses}\\
\multicolumn{2}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabular}
}

您需要在变量标签中的\之前添加&,如下所示:

label variable weight "One \& Two"

esttab ols, label tex

{
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabular}{l*{1}{c}}
\hline\hline
                    &\multicolumn{1}{c}{(1)}\\
                    &\multicolumn{1}{c}{Price}\\
\hline
One \& Two          &       2.044\sym{***}\\
                    &      (5.42)         \\
[1em]
Constant            &      -6.707         \\
                    &     (-0.01)         \\
\hline
Observations        &          74         \\
\hline\hline
\multicolumn{2}{l}{\footnotesize \textit{t} statistics in parentheses}\\
\multicolumn{2}{l}{\footnotesize \sym{*} \(p<0.05\), \sym{**} \(p<0.01\), \sym{***} \(p<0.001\)}\\
\end{tabular}
}

前者产生错误,而后者编译正常。