如何获得具有正确编号的景观浮动?

如何获得具有正确编号的景观浮动?

我正在以横向模式设置一个图形,然后以正常模式设置另外两个图形。但是,横向图形位于正常图形之间,编号混乱,包括目录中的编号。如何避免编号顺序错误?

不幸的是,我无法创建一个发生这种情况的最小示例。这是我使用的结构:

\clearpage
\begin{landscape}
  % figure 2
\end{landscape}
% figure 1
% figure 3

我将尝试有和没有\clearpage景观环境的前后情况。

编辑:

根据 David 的评论,我发现导致该问题的原因实际上是以下原因:

\afterpage{
  \clearpage
  \begin{landscape}
    % figure 2
  \end{landscape}
}
% figure 1
% figure 3

编辑2:

最后,一个简单的例子:

\documentclass{article}
\usepackage{blindtext}
\usepackage{afterpage}
\usepackage{pdflscape}
\usepackage{float}
\begin{document}
\listoffigures
\clearpage
\blindtext[4]
\afterpage{
\begin{landscape}
\begin{figure}
... figure contents ...
\caption{Figure 1}
\end{figure}
\end{landscape}
}
\begin{figure}
... figure contents ...
\caption{Figure 2}
\end{figure}
\begin{figure}[H]
... figure contents ...
\caption{Figure 3}
\end{figure}
\blindtext[4]
\end{document}

注意:删除第三个图的 [H] 选项会导致整页都只显示一个小图,这是不理想的。

编辑3:

删除 [H] 选项也不会改变图形的顺序。

编辑4:

作为参考,这似乎是我所寻找的结果:https://tex.stackexchange.com/a/472608/36836

答案1

我不太清楚您想要实现什么?您是否希望图在文本中的位置不变?或者您是否希望更改编号,以便图 1 位于第一页,图 3 位于第二页(横向页),然后图 2 位于第三页?

对于情况 1,您可以使用float添加选项 [H](大写 H 而不是默认的 latex 小写 h)的包。它强制浮动保持在文本中的准确位置。代码将如下所示:

\begin{figure}[H] 
%figure
\end{figure}

figure对于情况 2,您可以通过如下方式更改计数器来更改数字的编号:

%figure1
\addtocounter{figure}{1}
%figure3
\addtocounter{figure}{-2}
%figure2
\addtocounter{figure}{1}

然后你会先得到图 1,然后是图 3,然后是图 2,然后是图 4、5、6......

答案2

LaTeX 将保持浮点数的顺序,但是......

如果您使用 afterpage,则仅当插入延迟文本时才会解释 latex 命令,因此图为图 2,因此在这种情况下编号和顺序(如目录中所示)是正确的,只是标题文本错误。但可能没有真正的标题用文字写成“图二”。

的情况[H]有所不同。如果你使用,[H]那么你就是主张手动控制,并且该图形不会移动,即使其他图形浮动超过它,在这种情况下,你有责任强制正确的浮动编号。

我认为你在这里不需要\afterpage[H](我对这两件事都负有一定的责任,但我不会在这里使用它们)只需允许 Latex 像往常一样对浮点数进行编号。

\documentclass{article}
\usepackage{blindtext}
\usepackage{pdflscape}
\usepackage{float}
\usepackage{rotating}
\begin{document}
\listoffigures
\clearpage
\blindtext[4]
\begin{sidewaysfigure}
... figure contents ...
\caption{Figure 1}
\end{sidewaysfigure}
\begin{figure}
... figure contents ...
\caption{Figure 2}
\end{figure}
\begin{figure}
... figure contents ...
\caption{Figure 3}
\end{figure}
\blindtext[4]
\end{document}

相关内容