我正在为一份期刊准备一份手稿,他们倾向于将标题叠加在图像上,以便子图真正挤出这些面板中的所有空白(这是一个示例文档,请查看 PDF:https://elifesciences.org/articles/39777)。
因此,我也一直在尝试删除子图周围的空白。我在子标题设置中使用了负跳过,这使子标题更接近图像。但是,当使用这个“技巧”时,在大多数情况下,图像会打印在标签上。是否可以反过来做:让子标题标签覆盖在图像上?
梅威瑟:
\documentclass[12pt]{article}
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{mwe}
\captionsetup[subfigure]{labelfont={bf},labelsep=space,labelformat=simple,font=Large,margin=0pt,skip=-8pt,position=top}
\begin{document}
\begin{figure}[!t]
\centering
\begin{subfigure}[b]{\textwidth}
\caption{}\label{fig:ex-1}%
\includegraphics[width=\textwidth]{example-image-a}
\end{subfigure}
\begin{subfigure}[b]{\textwidth}
\caption{}\label{fig:ex-2}%
\includegraphics[width=\textwidth]{example-image-b}
\end{subfigure}
\caption{Example figures with negative skip but images over-printing the labels}\label{fig:test-mwe}
\end{figure}
\end{document}
答案1
将子标题放在带有负跳过的后面,并在环境\includegraphics
末尾自动添加正跳过。subfigure
\AtEndEnvironment
etoolbox
在 MWE 中,浮动对于页面来说仍然太长,但您可以使用实际图像进行调整。
\documentclass[12pt]{article}
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{mwe}
\captionsetup[subfigure]{labelfont={bf},labelsep=space,labelformat=simple,font=Large,margin=0pt,skip=-55ex,position=bottom}
\usepackage{etoolbox}
\AtEndEnvironment{subfigure}{\vspace{50ex}}
\begin{document}
\begin{figure}[!t]
\centering
\begin{subfigure}[b]{\textwidth}
\includegraphics[width=\textwidth]{example-image-a}
\caption{}\label{fig:ex-1}%
\end{subfigure}
\begin{subfigure}[b]{\textwidth}
\includegraphics[width=\textwidth]{example-image-b}
\caption{}\label{fig:ex-2}%
\end{subfigure}
\caption{Example figures with negative skip but images over-printing the labels}\label{fig:test-mwe}
\end{figure}
\end{document}