使用多个 \hfills 将两个图像居中

使用多个 \hfills 将两个图像居中

我有两张图片,我想将它们并排显示,水平居中。我想将剩余的水平空间均匀分布在三部分:第一张图片的左侧、图片之间以及第二张图片之后。所以我尝试了这个:

\documentclass{article}

\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{float}
\usepackage{mwe}

\begin{document}

\blindtext

\begin{figure}[H]
\centering
\hfill
\includegraphics[width=4cm]{example-image-a}
\hfill
\includegraphics[width=4cm]{example-image-a}
\hfill
\end{figure}

\blindtext

\end{document}

然而最后一条\hfill却被忽略了:

截屏

为什么会发生这种情况?我怎样才能达到预期的结果?

答案1

一个额外的\hfill就可以了。而且,\centering在这种情况下不需要。而且,从技术上讲,应该用符号结束行%,以避免插入小空格。

\documentclass{article}

\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{float}
\usepackage{mwe}

\begin{document}

\blindtext

\begin{figure}[H]
%\centering
\hfill%
\includegraphics[width=4cm]{example-image-a}%
\hfill%
\includegraphics[width=4cm]{example-image-a}%
\hfill%
\hfill%
\end{figure}

\blindtext

\end{document}

在此处输入图片描述

或者(更自然),\hfil所有的人都会用单打来做这件事。然而,在这种情况下,\centering 不能\hfilneg就可以使用了,无需在行首添加(负无限粘连)(或者添加不对称的\hfils)。

\documentclass{article}

\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{float}
\usepackage{mwe}

\begin{document}

\blindtext

\begin{figure}[H]
%\centering\hfilneg
\hfil%
\includegraphics[width=4cm]{example-image-a}%
\hfil%
\includegraphics[width=4cm]{example-image-a}%
\hfil%
\end{figure}

\blindtext

\end{document}

在此处输入图片描述

答案2

或者在图像之间\centering\hfil

\documentclass{article}
\usepackage{graphicx}
\usepackage{blindtext}

\begin{document}

\blindtext
\begin{figure}[htb]
\centering
\includegraphics[width=4cm]{example-image-a}
\hfil
\includegraphics[width=4cm]{example-image-b}
\end{figure}

\blindtext

\end{document}

在此处输入图片描述

相关内容