我有一个由统计包 Stata 生成的外部表,如下所示:
sysuse auto
estimates clear
eststo, title("OLS"): reg price mpg
esttab using "~/Desktop/table.tex", replace title(My OLS Model)
该文件table.tex
如下所示:
\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{My OLS Model}
\begin{tabular}{l*{1}{c}}
\hline\hline
&\multicolumn{1}{c}{(1)}\\
&\multicolumn{1}{c}{price}\\
\hline
mpg & -238.9\sym{***}\\
& (-4.50) \\
[1em]
\_cons & 11253.1\sym{***}\\
& (9.61) \\
\hline
\(N\) & 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}
\end{table}
我将其输入到 LaTeX 主文档中,如下所示:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\input{table.tex}
\end{document}
我有两个问题:
- 是否可以在主文档中此表的底部添加可在主文件中编辑的注释(而不是修改
table.tex
文件)? - 是否可以从主文档覆盖标题?
答案1
您没有使用\label
内部的table
来引用它,也没有使用可选参数来\caption
引用不同的 LoT 条目。因此,我们可以重新定义\caption
以执行任何您想要的操作,包括提供新的标题。
此外,我们使用etoolbox
通过以下方式修补\end{tabular}
以插入任意内容\AfterEndEnvironment{tabular}
:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{table.tex}
\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{My OLS Model}
\begin{tabular}{l*{1}{c}}
\hline\hline
&\multicolumn{1}{c}{(1)}\\
&\multicolumn{1}{c}{price}\\
\hline
mpg & -238.9\sym{***}\\
& (-4.50) \\
[1em]
\_cons & 11253.1\sym{***}\\
& (9.61) \\
\hline
\(N\) & 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}
\end{table}
\end{filecontents*}
\usepackage{booktabs,etoolbox}
\AfterEndEnvironment{tabular}{\tabularendstuff}
\newcommand{\tabularendstuff}{}
\begin{document}
% Update the \caption
\begingroup
\let\oldcaption\caption
\renewcommand{\caption}[1]{\oldcaption{A new caption}}
\renewcommand{\tabularendstuff}{\par {\footnotesize This is some arbitrary stuff added after \texttt{tabular}.}}
\input{table.tex}
\endgroup
% Original table
\input{table.tex}
\end{document}
所有更改均被分组以将其范围限制在当前table
/内tabular
。