子图前的图形不需要额外的空格

子图前的图形不需要额外的空格

我正在使用文档类排版文档tufte-book。在文档中,我必须放置图形,既要单独放置,也要并排放置。在这种情况下,我使用包subfig以及可选的 来实现此目标,[caption=false]正如我在其他地方读到的:

\usepackage[caption=false]{subfig}

现在,我使用以下代码插入单人图

\begin{figure}%
    \centering%
    \fbox{\includegraphics[width=0.4\linewidth]{img1}}%
    \caption{Caption.}
\end{figure}

我得到了以下信息:

正确图像,单个图形


否则,两个并排的人物,我使用以下代码:

\begin{figure}%
    \hfill%
    \subfloat{\fbox{\includegraphics[width=0.4\linewidth]{img1}}}%
    \hfill%
    \subfloat{\fbox{\includegraphics[width=0.4\linewidth]{img2}}}%
    \hfill%
    \caption[][1em]{Caption.}
\end{figure}

结果如下:

错误图片,两个图


您可能注意到,文本与单个图形之间的间距与文本与两个图形之间的垂直间距不同。事实上,如果我在后一种情况下没有在命令[][1em]前指定\caption,标题将位于正确的位置(即,如果只有一个图形,它将位于的位置),但完全错位。

就好像figure环境从正确的位置开始,但是里面的两个图形在页面上向下移动了 1em 左右。

所以我的问题是:是什么导致了这种行为?我该如何纠正它?

答案1

该问题不在于,并且也tufte-book可以重现。article

\documentclass{article}
\usepackage{graphicx}
\usepackage[caption=false]{subfig}

\usepackage{lipsum}

\begin{document}
\lipsum[2]
\begin{figure}[!htp]
\centering
\includegraphics[width=.6\textwidth,height=2cm]{example-image}
\end{figure}
\lipsum[2]
\begin{figure}[!htp]
\centering
\subfloat{\includegraphics[width=0.3\textwidth,height=2cm]{example-image}}
\quad
\subfloat{\includegraphics[width=0.3\textwidth,height=2cm]{example-image}}
\end{figure}
\end{document}

在此处输入图片描述

subfig包定义了可通过键访问的长度,farskip用于在子标题的另一侧添加空间。您可以将其设置为零。

但是,如果你不需要子字幕,就不要使用\subfloat。我将在下一个示例中展示效果。

\documentclass{article}
\usepackage{graphicx}
\usepackage[caption=false]{subfig}

\usepackage{lipsum}

\begin{document}
\lipsum[2]
\begin{figure}[!htp]
\centering
\includegraphics[width=.6\textwidth,height=2cm]{example-image}
\end{figure}
\lipsum[2]
\begin{figure}[!htp]
\centering
\captionsetup[subfloat]{farskip=0pt}
\subfloat{\includegraphics[width=0.3\textwidth,height=2cm]{example-image}}%
\quad
\subfloat{\includegraphics[width=0.3\textwidth,height=2cm]{example-image}}
\end{figure}
\lipsum[2]
\begin{figure}[!htp]
\centering
\includegraphics[width=0.3\textwidth,height=2cm]{example-image}%
\quad
\includegraphics[width=0.3\textwidth,height=2cm]{example-image}
\end{figure}
\lipsum[2]
\end{document}

在此处输入图片描述

相关内容