![子浮动图像的左/中/右边距相同](https://linux22.com/image/238277/%E5%AD%90%E6%B5%AE%E5%8A%A8%E5%9B%BE%E5%83%8F%E7%9A%84%E5%B7%A6%2F%E4%B8%AD%2F%E5%8F%B3%E8%BE%B9%E8%B7%9D%E7%9B%B8%E5%90%8C.png)
目前我有以下代码:
\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
您可以再使用两个\hfill
s;最后一个需要“某事”(\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
用于使我的示例可供所有人编译(请勿在实际文档中使用该选项)。我还定义了颜色plotBord
和plotPadd
。showframe
的选项geometry
用于绘制框架以实现可视化目的。下图仅显示相关部分: