双列文档中的子图列分隔符

双列文档中的子图列分隔符

我的问题是子图没有换到下一列,而是超出了页面的底部。

我该如何在子图中添加分隔符,以便子图 AD 在一列,子图 E&F 在下一列?这是否是显示这种性质的图形的合适方法,还是我应该让图形跨越两列?

这是一个最小示例的尝试:(如果有区别的话我需要使用 XeLaTeX)。

\documentclass[11pt,oneside,a4paper,twocolumn]{article}
\usepackage{geometry}
\setlength{\oddsidemargin}{-7.9mm}
\setlength{\textwidth}{175mm}
\setlength{\topmargin}{-12.7mm}
\setlength{\headheight}{5.3mm}
\setlength{\headsep}{18mm}
\setlength{\textheight}{239mm}

\usepackage{float}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{todonotes}
\setlength{\columnsep}{10mm}

\begin{document}
\begin{figure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_a1}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_b1}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_c1}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_d1}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_e1}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_f1}
\end{subfigure}
\caption{here is a collection of subfigures.}
\label{fig:subs}
\end{figure}

\begin{figure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 2}
\caption{this is a subfigure.}
\label{fig:sub_a2}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 2}
\caption{this is a subfigure.}
\label{fig:sub_b2}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 2}
\caption{this is a subfigure.}
\label{fig:sub_c2}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 2}
\caption{this is a subfigure.}
\label{fig:sub_d2}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 2}
\caption{this is a subfigure.}
\label{fig:sub_e2}
\end{subfigure}
\begin{subfigure}{80mm}
\missingfigure{part of figure 2}
\caption{this is a subfigure.}
\label{fig:sub_f2}
\end{subfigure}
\caption{here is another collection of subfigures.}
\label{fig:subs}
\end{figure}

\end{document}

答案1

由于您已经在使用该caption包,因此可以使用其\ContinuedFloat指令。它允许您“重复”前一个浮点数的编号,并且(假设该包也已加载,这是您的 MWE 的情况)当遇到subcaption上一个语句时,子浮点数的编号将自动从中断处继续。\end{figure}

鉴于每个图形有 6 个子图形,我建议每列放置 3 个子图形,而不是第一列放置 4 个子图形,第二列放置 2 个子图形。我还建议将每个子图形的宽度设置为,\linewidth而不是将其硬编码为某个固定值(例如 80mm)。

\documentclass[11pt,oneside,a4paper,twocolumn]{article}
\usepackage{geometry}
\setlength{\oddsidemargin}{-7.9mm}
\setlength{\textwidth}{175mm}
\setlength{\topmargin}{-12.7mm}
\setlength{\headheight}{5.3mm}
\setlength{\headsep}{18mm}
\setlength{\textheight}{239mm}

\usepackage{float}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{todonotes}
\setlength{\columnsep}{10mm}

\begin{document}
\begin{figure}
\begin{subfigure}{\linewidth}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_a1}
\end{subfigure}

\bigskip
\begin{subfigure}{\linewidth}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_b1}
\end{subfigure}

\bigskip
\begin{subfigure}{\linewidth}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_c1}
\end{subfigure}
\caption{A collection of subfigures.}
\label{fig:subs}
\end{figure}

\begin{figure}
\ContinuedFloat
\begin{subfigure}{\linewidth}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_d1}
\end{subfigure}

\bigskip
\begin{subfigure}{\linewidth}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_e1}
\end{subfigure}

\bigskip
\begin{subfigure}{\linewidth}
\missingfigure{part of figure 1}
\caption{this is a subfigure.}
\label{fig:sub_f1}
\end{subfigure}
\caption{A collection of subfigures, continued.}
\end{figure}
\end{document}

相关内容