我有一个由统计包生成的长表和一个常规表。我将它们插入到这样的文章中:
\input{../Tables/sum_stats.tex}
\label{sum_stats}
然后引用它:
Table \ref{sum_stats} displays summary statistics for our sample.
虽然所有表格的编号都正确,但参考文献中的编号偏离了 3,因此文本中的表 1 变成了表 4。我尝试使用\setcounter{table}{0}
after重置表格计数器\begin{document}
,但这并没有解决问题。
表格全部为:
\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{XXXX}
\begin{tabular}{l*{10}{c}}
\hline\hline
&\multicolumn{1}{c}{(1)}&\multicolumn{1}{c}{(2)}&\multicolumn{1}{c}{(3)}&\multicolumn{1}{c}{(4)}&\multicolumn{1}{c}{(5)}&\multicolumn{1}{c}{(6)}&\multicolumn{1}{c}{(7)}&\multicolumn{1}{c}{(8)}&\multicolumn{1}{c}{(9)}&\multicolumn{1}{c}{(10)}\\
&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}\\
\hline
....
\hline\hline
\end{tabular}
\end{table}
答案1
如果你的外部文件都具有相同的格式,只需添加一个命令
\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{XXXX}\label{\thistablelabel}% <------------
\begin{tabular}{l*{10}{c}}
\hline\hline
&\multicolumn{1}{c}{(1)}&\multicolumn{1}{c}{(2)}&\multicolumn{1}{c}{(3)}&\multicolumn{1}{c}{(4)}&\multicolumn{1}{c}{(5)}&\multicolumn{1}{c}{(6)}&\multicolumn{1}{c}{(7)}&\multicolumn{1}{c}{(8)}&\multicolumn{1}{c}{(9)}&\multicolumn{1}{c}{(10)}\\
&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}&\multicolumn{1}{c}{AME}&\multicolumn{1}{c}{Contrast}\\
\hline
....
\hline\hline
\end{tabular}
\end{table}
并在文档序言中定义
\newcommand{\tableinput}[2]{%
\def\thistablelabel{#2}\input{#1}%
}
然后打电话
\tableinput{../Tables/sum_stats.tex}{sum_stats}
而不是使用\input{../Tables/sum_stats.tex}\label{sum_stats}
不正确,因为标签是在table
环境关闭后设置的。
建议的更改将会把标签设置在适当的位置。