por que a subfigura não ocupa toda a largura do texto

por que a subfigura não ocupa toda a largura do texto

Eu tenho 5 subfiguras com largura definida como 0.2 \textwidth, quero que elas estejam em uma linha, mas tenho que definir sua largura menor que 0,2 para fazer isso. Alguém sabe a razão? Obrigado!

Responder1

Você não informou qual pacote você usa para ajudar a criar os subfigureambientes: subfigure-- que está obsoleto e não deve mais ser usado -- subfig, ou subcaption. Presumo que você esteja usando subcaption.

É preciso lembrar que o TeX converte quebras de linha única em tokens de espaço. Assim, se cada subfigureambiente for finalizado com uma diretiva de nova linha, a largura total será 5*0.2\textwidth + 4*(largura do token de espaço), que excede \textwidth.

Você tem duas opções: inserir um %(caractere de comentário) no final dos primeiros quatro subfigureambientes (para suprimir a inserção implícita de um caractere de espaço) ou escolher uma largura para cada um subfigureque seja um pouco menor que 0.2\textwidth. Na verdade, prefiro a segunda abordagem.

insira a descrição da imagem aqui

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

informação relacionada