当我使用包时\usepackage[tablesonly]{endfloat}
,\usepackage[figuresright]{rotating}
我收到错误消息
Package endfloat Error: Unknown environment `figure'
在我的文档中我使用侧向图形。
\documentclass{article}
\usepackage{fancyhdr}
\usepackage[paperheight=10in,paperwidth=6.5in,margin=2cm,headsep=.5cm,top=2.5cm]{geometry}
\linespread{1.13} \date{}
\usepackage[tablesonly]{endfloat}
\usepackage[figuresright]{rotating}
\usepackage{lipsum}
\makeatletter
\@ifpackageloaded{endfloat}{\DeclareDelayedFloatFlavor{sidewaysfigure}{figure}}{}
\makeatother
\begin{document}
\title{Testing Rotate package}
\author{~}
\maketitle
\lipsum[1]
\lipsum[1]
\bgroup
\begin{sidewaysfigure*}
\centering
\includegraphics[draft]{fig.png}
\makeatother
\caption{{Test caption}}
\label{figure-50fffe3f4a3f3fba00f6aeaa236c36ec}
\end{sidewaysfigure*}
\egroup
\lipsum[1]
\lipsum[1]
\begin{table}
\begin{tabular}{|l|l|}
\hline
Test & Test \\
\hline
Test & Test \\
Test & Test \\
\hline
\end{tabular}
\end{table}
\lipsum[1]
\lipsum[1]
\lipsum[1]
\lipsum[1-3]
\end{document
答案1
错误是因为您使用了仅限表格选项添加到 endfloat 包中,并将 sidewaysfigure 声明为延迟浮点。为了避免此错误,请将代码更改为
\@ifpackageloaded{endfloat}{\DeclareDelayedFloatFlavor{sidewaysfigure}{figure}}{}
至以下:
\AtBeginDocument{%
\@ifpackagewith{endfloat}{figuresonly}
{\DeclareDelayedFloatFlavor{sidewaysfigure}{figure}}%true
{\@ifpackagewith{endfloat}{tablesonly}{\DeclareDelayedFloatFlavor{sidewaystable}{table}}%true
{\@ifpackageloaded{endfloat}{\DeclareDelayedFloatFlavor{sidewaysfigure}{figure}\DeclareDelayedFloatFlavor{sidewaystable}{table}}{}}%false
}%false
}
上述代码将检查所有可能的情况。这里我们可以使用命令\@ifpackagewith
和\@ifpackageloaded
来实现这一点。