我有 5 个子图,宽度设置为0.2 \textwidth
,我希望它们排成一行,但我必须将它们的宽度设置为小于 0.2 才能做到这一点。有人知道原因吗?谢谢!
答案1
您没有说明使用哪个包来帮助创建subfigure
环境:subfigure
-- 已被弃用,不应再使用 --subfig
或subcaption
。我假设您正在使用subcaption
。
需要记住的是,TeX 会将单个换行符转换为空格标记。因此,如果每个subfigure
环境都以换行符指令终止,则总宽度为 5*0.2\textwidth + 4*(空格标记的宽度),这超过了\textwidth
。
您有两个选择:%
在前四个环境的末尾插入一个 (注释字符) subfigure
(以抑制隐式插入空格字符)或为每个环境选择一个subfigure
略小于的宽度0.2\textwidth
。我实际上更喜欢第二种方法。
\documentclass{article}
\usepackage{subcaption}
\usepackage[demo]{graphicx}
\begin{document}
\hrule %% just to illustrate width of text block
%% Five subfigures, width 0.2\textwidth,
%% use "%" to assure no gap,
%% set image widths to 0.95\textwidth
\begin{figure}[h!]
\begin{subfigure}{0.2\textwidth}
\centering
\includegraphics[width=0.95\textwidth]{figa}
\caption{First}
\end{subfigure}%
\begin{subfigure}{0.2\textwidth}
\centering
\includegraphics[width=0.95\textwidth]{figb}
\caption{Second}
\end{subfigure}%
\begin{subfigure}{0.2\textwidth}
\centering
\includegraphics[width=0.95\textwidth]{figc}
\caption{Third}
\end{subfigure}%
\begin{subfigure}{0.2\textwidth}
\centering
\includegraphics[width=0.95\textwidth]{figd}
\caption{Fourth}
\end{subfigure}%
\begin{subfigure}{0.2\textwidth}
\centering
\includegraphics[width=0.95\textwidth]{fige}
\caption{Fifth}
\end{subfigure}
\end{figure}
%% Five subfigures, width 0.18\textwidth,
%% use "\hspace{\fill}" to maximize gaps,
%% set image widths to 1\textwidth
\begin{figure}[h!]
\begin{subfigure}{0.18\textwidth}
\includegraphics[width=1\textwidth]{figa}
\caption{First}
\end{subfigure}\hspace{\fill}
\begin{subfigure}{0.18\textwidth}
\includegraphics[width=1\textwidth]{figb}
\caption{Second}
\end{subfigure}\hspace{\fill}
\begin{subfigure}{0.18\textwidth}
\includegraphics[width=1\textwidth]{figc}
\caption{Third}
\end{subfigure}\hspace{\fill}
\begin{subfigure}{0.18\textwidth}
\includegraphics[width=1\textwidth]{figd}
\caption{Fourth}
\end{subfigure}\hspace{\fill}
\begin{subfigure}{0.18\textwidth}
\includegraphics[width=1\textwidth]{fige}
\caption{Fifth}
\end{subfigure}
\end{figure}
\end{document}