¿Por qué la subfigura no ocupa todo el ancho del texto?

¿Por qué la subfigura no ocupa todo el ancho del texto?

Tengo 5 subfiguras con un ancho establecido en 0.2 \textwidth, quiero que estén en una fila, pero tengo que establecer su ancho en menos de 0,2 para hacerlo. ¿Alguien sabe el motivo? ¡Gracias!

Respuesta1

No indicaste qué paquete usas para ayudar a crear los subfigureentornos: subfigure-- que está en desuso y no debería usarse más -- subfigo subcaption. Asumiré que estás usando subcaption.

Es necesario recordar que TeX convierte saltos de línea simple en tokens de espacio. Por lo tanto, si cada subfigureentorno termina con una directiva de nueva línea, el ancho total es 5*0.2\textwidth + 4*(ancho del token de espacio), que excede \textwidth.

Tiene dos opciones: insertar un %(carácter de comentario) al final de los primeros cuatro subfigureentornos (para suprimir la inserción implícita de un carácter de espacio) o elegir un ancho para cada uno subfigureque sea ligeramente menor que 0.2\textwidth. De hecho, prefiero el segundo enfoque.

ingrese la descripción de la imagen aquí

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

información relacionada