我有一份LaTeX
包含章节和附录的文档。部分章节和附录讨论了表格。表格应列在文档末尾 (无法在每个相应部分内列出)。我希望各节中引用的表格编号为表 1、表 2、表 3 等。相反,附录中引用的表格应编号为表 A.1、表 A.2、...(如果在附录 A 中引用)、表 B.1、表 B.2、...(如果在附录 B 中引用)等。
正如评论中所建议的,我尝试过使用endfloat
但它似乎不起作用,也许我没有以正确的方式实现它。
这是一个有效的例子:
\documentclass[12 pt,a4paper, oneside, openany, notitlepage]{article}
\usepackage[inner=1in,outer=1in,bottom=1in,top=1in]{geometry}
\usepackage{setspace}
\doublespacing
\usepackage{hyperref}
\usepackage[nomarkers, nolists]{endfloat}
\begin{document}
\section{Section 1}
Talk about Table \ref{tab1}. This Table should be numbered 1.
\begin{table}
\centering
\begin{tabular}{c c c c c c c c }
\hline
Examples & [1] &[2] &[3] &[4] & [5] &[6] \\
\hline
a & a & a & & & & \\
\hline
\end{tabular}
\caption{Blah.}
\label{tab1}
\end{table}
\section{Section 2}
Talk about Table \ref{tab2}. This Table should be numbered 2.
\begin{table}
\centering
\begin{tabular}{c c c c c c c c }
\hline
Examples & [1] &[2] &[3] &[4] & [5] &[6] \\
\hline
a & a & a & & & & \\
\hline
\end{tabular}
\caption{Blah.}
\label{tab2}
\end{table}
\begin{appendix}
\counterwithin{figure}{section}
\counterwithin{table}{section}
\section{Appendix A}
\section{Appendix B}
Talk about Table \ref{tabB1}. This Table should be numbered B.1.
\begin{table}
\centering
\begin{tabular}{c c c c c c c c }
\hline
Examples & [1] &[2] &[3] &[4] & [5] &[6] \\
\hline
a & a & a & & & & \\
\hline
\end{tabular}
\caption{Blah.}
\label{tabB1}
\end{table}
\end{appendix}
编号应为表1、表2、表B.1。
答案1
要记住的是,表格环境中的所有代码都将在文档结束时执行。解决方案是\thetable
使用 将其保存为表格环境之外的格式\pretable
,然后在运行表格时复制它们。
请注意,如果一个表格中有两个标题,则需要两个\pretable
s,等等。
\documentclass[12 pt,a4paper, oneside, openany, notitlepage]{article}
\usepackage[inner=1in,outer=1in,bottom=1in,top=1in]{geometry}
\usepackage{setspace}
\doublespacing
\usepackage{hyperref}
\usepackage[nomarkers, nolists]{endfloat}
\newcounter{tablenumber}% does not reset to 0
\newcommand{\pretable}{\stepcounter{tablenumber}\stepcounter{table}%
\expandafter\xdef\csname TABLE\arabic{tablenumber}\endcsname{\thetable}}
\begin{document}
\section{Section 1}
Talk about Table \ref{tab1}. This Table should be numbered 1.
\pretable
\begin{table}
\centering
\begin{tabular}{c c c c c c c c }
\hline
Examples & [1] &[2] &[3] &[4] & [5] &[6] \\
\hline
a & a & a & & & & \\
\hline
\end{tabular}
\caption{Blah.}
\label{tab1}
\end{table}
\section{Section 2}
Talk about Table \ref{tab2}. This Table should be numbered 2.
\pretable
\begin{table}
\centering
\begin{tabular}{c c c c c c c c }
\hline
Examples & [1] &[2] &[3] &[4] & [5] &[6] \\
\hline
a & a & a & & & & \\
\hline
\end{tabular}
\caption{Blah.}
\label{tab2}
\end{table}
\begin{appendix}
\counterwithin{figure}{section}
\counterwithin{table}{section}
\section{Appendix A}
\section{Appendix B}
Talk about Table \ref{tabB1}. This Table should be numbered B.1.
\pretable
\begin{table}
\centering
\begin{tabular}{c c c c c c c c }
\hline
Examples & [1] &[2] &[3] &[4] & [5] &[6] \\
\hline
a & a & a & & & & \\
\hline
\end{tabular}
\caption{Blah.}
\label{tabB1}
\end{table}
\end{appendix}
\setcounter{table}{0}%
\renewcommand{\thetable}{\csname TABLE\arabic{table}\endcsname}%
\end{document}