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