使用 IEEEtran 和 dblfloatfix 的双列浮点数

使用 IEEEtran 和 dblfloatfix 的双列浮点数

dblfloatfix允许将浮动元素放置在页面底部,但是如果恰巧同一页面上有另一个浮动元素,则无法实现正确的编号(即双列浮动元素的编号低于同一页面上其他浮动元素的编号)。有简单的解决方法吗?或者只能通过手动设置浮动元素编号(例如\renewcommand\thefigure{x})来解决?

以下是 MWE:

\documentclass[a4paper,10pt,conference,twocolumn]{IEEEtran}
\usepackage[utf8]{inputenc}
\usepackage[cmex10]{amsmath}
\usepackage{mathtools}

\usepackage[demo]{graphicx}
\usepackage{dblfloatfix}

\usepackage{lipsum}

\begin{document}

\lipsum[1-5]

\begin{figure*}[b] % will appear at the bottom of the next page
\centering
  \includegraphics{Some-image-1}
\caption{A caption}
\end{figure*}

\newpage

\begin{figure}[t]
\centering
  \includegraphics{Some-image-2}
\caption{Another caption}
\end{figure}

\end{document}

答案1

LaTeX 有一个长期存在的错误(或者说,记录的缺陷),即双列浮点数的编号可能与单列浮点数的编号顺序不一致。有可用的软件包可以解决这个问题,从 2015 年 LaTeX 版本开始,该修复程序默认包含在格式中。

但是,此处添加的底部浮点数添加是基于早期的代码,因此顺序不合。更新它以匹配新代码会相对复杂,对于单个文档,更简单的方法是按如下方式更正编号,强制figure交换位置的浮点数的计数器值,确保在最后将其重置回正常,以便后面的浮点数获​​得正确的自动编号。

在此处输入图片描述

\documentclass[a4paper,10pt,conference,twocolumn]{IEEEtran}
\usepackage[utf8]{inputenc}
\usepackage[cmex10]{amsmath}
\usepackage{mathtools}

\usepackage[demo]{graphicx}
\usepackage{dblfloatfix}

\usepackage{lipsum}

\begin{document}

\lipsum[1-5]

\begin{figure*}[b] % will appear at the bottom of the next page
\centering
  \includegraphics{Some-image-1}
\setcounter{figure}{1}
\caption{A caption}
\end{figure*}

\newpage

\begin{figure}[t]
\centering
  \includegraphics{Some-image-2}
\setcounter{figure}{0}
\caption{Another caption}
\setcounter{figure}{2}
\end{figure}

\end{document}

相关内容