我正在使用文档类排版文档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}