我正在尝试将一些回归表从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
字符而不会出错?
答案 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}
}
前者产生错误,而后者编译正常。