子浮动图像的左/中/右边距相同

子浮动图像的左/中/右边距相同

目前我有以下代码:

\begin{figure}[htb]
\centering
\subfloat[htb][left]{\fcolorbox{plotBord}{plotPadd}{\includegraphics[scale=0.3]{figs/bla1.png}}}
\hfill
\subfloat[htb][right]{\fcolorbox{plotBord}{plotPadd}{\includegraphics[scale=0.3]{figs/bla2.png}}}
\caption[bla]{foobar}
\end{figure}

在文本的左端和右端显示两个图像(因为\hfill)。如果我改用类似的方法\hspace{10px},两个图像在中间会有一定的距离,但文本宽度左端和右端的边距大于中间的边距。有没有办法总是对齐两个图像,使它们有相同的左/中/右边距,就像这样:

草图

这两个图像始终具有相同的大小,但我将使用 为其添加边框和一定填充\fcolorbox{}

答案1

您可以再使用两个\hfills;最后一个需要“某事”(\null,它只是 的缩写\hbox{})才能生效。另一个选项(参见 egreg 的评论)是使用\hspace{\fill}而不是\hfill,而\hspace*{\fill}不是最后一个\hfill\null(现在,\null不是必需的)。以下示例显示了这两种方法:

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[demo]{graphicx}
\usepackage{xcolor,subfig}

\colorlet{plotBord}{red}
\colorlet{plotPadd}{blue}
\begin{document}

\begin{figure}[htb]
\centering
\hspace{\fill}%
\subfloat[htb][left]{\fcolorbox{plotBord}{plotPadd}{\includegraphics[scale=0.3]{figs/bla1.png}}}
\hspace{\fill}%
\subfloat[htb][right]{\fcolorbox{plotBord}{plotPadd}{\includegraphics[scale=0.3]{figs/bla2.png}}}
\hspace*{\fill}%
\caption[bla]{foobar}
\end{figure}

\begin{figure}[htb]
\centering
\hfill
\subfloat[htb][left]{\fcolorbox{plotBord}{plotPadd}{\includegraphics[scale=0.3]{figs/bla1.png}}}
\hfill
\subfloat[htb][right]{\fcolorbox{plotBord}{plotPadd}{\includegraphics[scale=0.3]{figs/bla2.png}}}
\hfill\null
\caption[bla]{foobar}
\end{figure}

\end{document}

demo的选项仅graphicx用于使我的示例可供所有人编译(请勿在实际文档中使用该选项)。我还定义了颜色plotBordplotPaddshowframe的选项geometry用于绘制框架以实现可视化目的。下图仅显示相关部分:

在此处输入图片描述

相关内容