这个问题与这个问题,但考虑的是不同的情况。
figure*
假设您有一个带有 a和 a 的蓝色文本figure
,后跟一个带有另一个 的红色文本figure*
。
由于 Latex 将图形放在文档中太远的地方,甚至将第三个图形放在单独的页面上,因此您将图形放在代码中较早的位置,从而给出以下 MWE 和结果:
\documentclass[twocolumn,a4paper]{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{tikzducks}
\usepackage{dblfloatfix} %allow figure* at bottom
\title{Debug}
\begin{document}
\maketitle
\begin{figure*}[ht!]
\center
\tikz\randuck;\\
\tikz\randuck;\\
\caption{Figure*}
\label{fig1}
\end{figure*}
\begin{figure}[h]
\center
\tikz\randuck;\\
\caption{Figure}
\label{fig2}
\end{figure}
\begin{figure*}[hb!]
\center
\tikz\randuck;\\
\tikz\randuck;\\
\caption{Figure*}
\label{fig3}
\end{figure*}
{\color{red} \lipsum[10-15]
SEE FIGS. \ref{fig1}-\ref{fig2}}
{\color{blue} \lipsum[1-9]
SEE FIG. \ref{fig3}}
\end{document}
唯一的问题是,最后一个图在第三页的底部,而你希望它与其他两个图位于同一页(如箭头所示)。如何实现呢?
答案1
\documentclass[twocolumn,a4paper]{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{tikzducks}
\usepackage{dblfloatfix} %allow figure* at bottom
\title{Debug}
\begin{document}
\maketitle
\begin{figure*}[t]
\center
\tikz\randuck;\\
\tikz\randuck;\\
\caption{Figure*}
\label{fig1}
\end{figure*}
\addtocounter{figure}{1}
\begin{figure*}[b]
\center
\tikz\randuck;\\
\tikz\randuck;\\
\caption{Figure*}
\label{fig3}
\end{figure*}
\addtocounter{figure}{-2}
\begin{figure}[t]
\center
\tikz\randuck;\\
\caption{Figure}
\label{fig2}
\end{figure}
\addtocounter{figure}{1}
{\color{red} \lipsum[10-15]
SEE FIGS. \ref{fig1}-\ref{fig2}}
{\color{blue} \lipsum[1-9]
SEE FIG. \ref{fig3}}
\end{document}
答案2
它似乎与顺序有关。你可以让它工作,方法是将 放在figure
两个figure*
s 后面。当然,这会弄乱字幕,但这很容易修复。
\documentclass[twocolumn,a4paper]{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{tikzducks}
\usepackage{dblfloatfix} %allow figure* at bottom
\usepackage{caption}% or capt-of
\newsavebox{\delaybox}
\title{Debug}
\begin{document}
\maketitle
\begin{figure*}[t!]
\centering
\tikz{\randuck;}\\
\tikz{\randuck;}
\caption{Figure*}
\label{fig1}
\end{figure*}
\savebox{\delaybox}{\begin{minipage}{\columnwidth}
\centering
\tikz{\randuck;}
\captionof{figure}{Figure}
\label{fig2}
\end{minipage}}
\begin{figure*}[b!]
\centering
\tikz{\randuck;}\\
\tikz{\randuck;}
\caption{Figure*}
\label{fig3}
\end{figure*}
\begin{figure}[h]
\usebox{\delaybox}
\end{figure}
{\color{red} \lipsum[10-15]
SEE FIGS. \ref{fig1}-\ref{fig2}}
{\color{blue} \lipsum[1-9]
SEE FIG. \ref{fig3}}
\end{document}