我正在使用 minipage 环境来处理论文中并排的两张图片。我的代码如下所示:
\begin{figure}[htb]
\centering
\begin{minipage}{0.5\textwidth}
\center \includegraphics[width=7.8 cm]{./lorem.jpg}
\caption{Lorem Ipsum}
\end{minipage}\hfill
\centering
\begin{minipage}{0.5\textwidth}
\center \includegraphics[width=7.8 cm]{./ipsum.jpg}
\caption{Ipsum Lorem}
\end{minipage}
\end{figure}
但是,当这些图像出现在页面末尾,并且空间不足时,它们将被移至下一页。当然,这是理所当然的;但是当这种情况发生时,图形后面的空间就会变得太大。当图形出现在页面中间某处时,空间大小合适。
通过在图形前手动插入一个\clearpage
右键,我可以解决这个问题。但由于每次更改布局细节时我都必须这样做,所以这实际上并不是最好的方法。
关于如何解决这个问题有什么建议吗?
答案1
文本内浮动元素前后的间距由长度决定\intextsep
(在标准类中,默认情况下为12pt plus 2pt minus 2pt
),而顶部浮动元素之后和底部浮动元素之前的间距由 决定\textfloatsep
(默认情况下为20pt plus 2pt minus 4pt
)。要实现所需的布局,请将以下内容添加到您的序言中:
\setlength{\textfloatsep}{12pt plus 2pt minus 2pt}
看这回答浮动布局参数的概述。
答案2
lockstep 提供了答案,这更像是一个很长的评论(但仍然应该是有用的)
你当然可以使用
\begin{minipage}{.5\textwidth}
...
但是将它们两个并排放置时必须要小心,因为环境minipage
会在它之后立即插入一点水平空间 - 这会overfull hbox
在你的代码中产生一个。
%
您可以通过在它之后立即使用来防止这种情况
\documentclass{article}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}[htb]
\begin{minipage}{0.5\textwidth}
\centering
\includegraphics[width=.85\textwidth]{./lorem.jpg}
\caption{Lorem Ipsum}
\end{minipage}% <-- NOTE this bit!
\begin{minipage}{0.5\textwidth}
\centering
\includegraphics[width=.85\textwidth]{./lorem.jpg}
\caption{Ipsum Lorem}
\end{minipage}
\end{figure}
\end{document}
请注意,您可以width
根据的指定图形\textwidth
的小页面minipage
,这非常有用,因为如果您以后想更改 s 的宽度,它可以很好地缩放。