2 行に 5 つのサブ図 (3 と 2) があり、2 行目は中央に配置されていません。

2 行に 5 つのサブ図 (3 と 2) があり、2 行目は中央に配置されていません。

\begin{figure}[h] % figure will span both columns in article
\centering
    \setkeys{Gin}{width=\linewidth} % common settings of images widths
\begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/a.png}
    \caption{cap1}
    \label{1}
\end{subfigure}%
    \hfill
    \begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/s.png}
    \caption{cap2}
    \label{2}
\end{subfigure}%
    \hfill
    \begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/d.png}
    \caption{cap3}
    \label{3}
\end{subfigure}%
\hfill
\centering
    \begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/f.png}
    \caption{cap4}
    \label{4}
\end{subfigure}%
    \hfill
    \begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/g.png}
    \caption{cap5}
    \label{5}
\end{subfigure}%
    \caption{figure}
    \label{total}
\end{figure}

各サブ図にキャプションとラベルを付けたいのですが、このコードの唯一の欠点は、2 行目の 2 つのサブ図が中央に配置されておらず、大きなスペースを作って行全体を埋め尽くしていることです。ありがとうございます!

答え1

いくつかの提案:

  • 取り除く両方 \centering指示。最初のものは何も役に立たず、2番目のものは投稿のタイトルであなたが達成したいと言っていることに反しています。すなわち「2 行目が中央に配置されていません」。

  • 交換する最後 \hfill命令では\hspace{0.05\textwidth}%%記号が重要です。なぜでしょうか0.05\textwidth。行 1 では、3 つのグラフが を占めています0.9\textwidth。これ0.1\textwidthにより、2 つのグラフ間空白スペースが残ります。 の半分は0.1\textwidthです0.05\textwidth

  • 最後から 2 番目の\hfill命令を空白行と\bigskip命令に置き換えます。

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

\documentclass[demo]{article} % remove 'demo' option in final document
\usepackage{graphicx,subcaption}
\begin{document}

\begin{figure}[h] % figure will span both columns in article % really?

%%\centering % <-- no need to use \centering
\setkeys{Gin}{width=\linewidth} % common settings of images widths

\begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/a.png}
    \caption{cap1}
    \label{1}
\end{subfigure}%
    \hfill
    \begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/s.png}
    \caption{cap2}
    \label{2}
\end{subfigure}%
    \hfill
    \begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/d.png}
    \caption{cap3}
    \label{3}
\end{subfigure}

\bigskip % <-- leave a blank line (to cause a line break) and '\bigskip'
%% \centering  % <-- this instruction is counterproductive
\begin{subfigure}{0.3\linewidth}% <-- the "%" symbol is needed
    \includegraphics{./Figures/f.png}
    \caption{cap4}
    \label{4}
\end{subfigure}%
\hspace{0.05\textwidth}% <-- instead of '\hfill'
\begin{subfigure}{0.3\linewidth}
    \includegraphics{./Figures/g.png}
    \caption{cap5}
    \label{5}
\end{subfigure}

\caption{A figure with five subfigures}
\label{fig:total}

\end{figure}

\end{document}

関連情報