当您必须将多个包放在一个 usepackage{...} 中时,如何设置 endfloat 包的选项?

当您必须将多个包放在一个 usepackage{...} 中时,如何设置 endfloat 包的选项?

我尝试了这样的事情:将表格移至附录 将表格和图形移至附录。

但是,长表仍然位于附录之前。我按照手册解决了这个问题ftp://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/macros/latex/contrib/endfloat/endfloat.pdf

但是现在,就我的情况而言,如果我尝试使用结束浮点选项,我总是会收到错误[nomarkers,nolists]

有什么办法可以解决这个问题吗?

目前,我订购的所有包裹都出现错误。

\usepackage[nomarkers,nolists]{longtable,threeparttable,booktabs,endfloat}
\DeclareDelayedFloatFlavour*{longtable}{table}
    \DeclareDelayedFloatFlavour{threeparttable}{table}
        \DeclareDelayedFloatFlavour{booktabs}{table}

或者

\usepackage[nomarkers,nolists]{endfloat,longtable,threeparttable,booktabs}
\usepackage[nomarkers,nolists]{longtable,endfloat,threeparttable,booktabs}

等等。

我真的很想知道该怎么办。

我没有提供 MWE,因为问题基本上是错误消息,LaTeX 认为这[nomarkers,nolists]是除了结束浮点之外的任何其他选项!

答案1

所发生的情况是,表格被写入文件,然后在最后该文件被\input正常处理。现在您的表格是浮动的,但longtable不是浮动的。由于[tb]您的表格上有位置说明符,因此它们会浮动到页面的顶部或底部,因此它们可以跨 longtable 移动。如果您想保留顺序,您可以为\usepackage{float}表格指定说明[H]符。然后顺序将被保留。

并且正如其他人所观察到的,将其他包排除在[nomarkers,nolists]选项之外。并且该行 \DeclareDelayedFloatFlavour{booktabs}{table}没有意义,因为booktabs它不是一个环境。

这是一个完整的例子。

\documentclass{report}
\usepackage[nomarkers,nolists]{endfloat}
\renewcommand{\efloatseparator}{\mbox{}} % allows tables to share a page
\usepackage{longtable,threeparttable,booktabs,endfloat}
\DeclareDelayedFloatFlavour*{longtable}{table}
\DeclareDelayedFloatFlavour{threeparttable}{table}
\usepackage{float}

\begin{document}
\chapter{A chapter}

As shown in Tables~\ref{tab:one} and \ref{tab:another}, we have two variables.
\begin{table}[H]
\centering
\begin{tabular}{cc}
A & B \\
1 & 2 \\
3 & 4
\end{tabular}
\caption{\label{tab:one} A Table}
\end{table}

\begin{longtable}{cc}
long & table \\
5 & 6 \\
7 & 8 \\
\caption{\label{tab:another} A Long Table}
\end{longtable}

\begin{table}[H]
\centering
\begin{tabular}{cc}
C & D \\
5 & 6 \\
7 & 8
\end{tabular}
\caption{\label{tab:another} A Second Table}
\end{table}

\appendix
\chapter{An appendix}

\processdelayedfloats

\end{document}

相关内容