複数の \hfills を使用して 2 つの画像を中央に配置する

複数の \hfills を使用して 2 つの画像を中央に配置する

2 つの画像を水平中央に並べて表示したいとします。残りの水平スペースを 3 つの部分に均等に配分します。最初の画像の左側、画像の間、2 番目の画像の後ろです。そこで、次のことを試しました。

\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}

ここに画像の説明を入力してください

関連情報