我想知道是否存在一种方法可以在某个部分中包含一个表格(或图形)并将其显示在附录中,如下例所示:
\section{section}
stupid text where I speak about a table printed in the appendix
\begin{table}[APPENDIX]
\input{\folder/table.tex}
\end{table}
在这里我继续我的文章,然后出现了类似这样的内容:
\section{Appendix}
here should be my table
这样,我的表格和图表就会出现在相关部分中,只有当我“打印该部分”时,它们才会显示出来。它们也会按照包含顺序出现……
答案1
这显示了如何创建宏和保存框以供以后使用。请注意,保存框会立即增加表计数器。
这是一种示威,而不是一种解决方案。
\documentclass{article}
\usepackage{caption}
\newsavebox{\appboxB}
\begin{document}
\section{Test}
Example text.
\newcommand{\appendA}{%
\begin{table}[htp]
\caption{Macro}
\end{table}%
}
\savebox{\appboxB}{%
\begin{minipage}{\columnwidth}
\captionof{table}{Savebox}
\end{minipage}%
}
\appendix
\section{Here}
\appendA
\begin{table}[htp]
\usebox{\appboxB}
\end{table}
\end{document}
这是一个解决方案。它在附录中保存了要扩展的全局宏列表。 \appendset
保存浮点数,然后\appendlist
将其全部扩展。
\documentclass{article}
\newcounter{appendix}
\newcommand{\appendset}[1]% #1 = float to be expanded later
{\stepcounter{appendix}%
\expandafter\gdef\csname append\theappendix\endcsname{#1}%
}
\newcommand{\appendlist}% expand previously saved floats
{\bgroup
\count1=0
\loop\ifnum\count1<\value{appendix}\relax
\advance\count1 by 1
\csname append\the\count1\endcsname
\repeat
\egroup}
\begin{document}
\section{Test}
Example text.
\appendset{%
\begin{table}[htp]
\caption{First}
\end{table}%
}
\appendset{%
\begin{table}[htp]
\caption{Second}
\end{table}%
}
\appendix
\section{Floats}
\appendlist
\end{document}
除了\clearpage
在开始时需要一个之外,可以使用 endfloat 包做同样的事情。
\documentclass{article}
\usepackage[nolists,noheads,nomarkers]{endfloat}
\renewcommand{\efloatseparator}{\null}
\begin{document}
\section{Test}
Example text.
\begin{table}[htp]
\caption{First}
\end{table}
\begin{table}[htp]
\caption{Second}
\end{table}
\appendix
\section{Floats}
\clearpage% required
\processdelayedfloats
\section{Optional}
\end{document}