目前我有以下代码:
\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
用于绘制框架以实现可视化目的。下图仅显示相关部分: