Compreender a diferença entre \hspace e \hspace* ao colocar subfiguras lado a lado

Compreender a diferença entre \hspace e \hspace* ao colocar subfiguras lado a lado

Por que há uma diferença na saída ao usar \hspace*em vez de, \hspaceapesar do fato de as larguras das subfiguras e o espaçamento horizontal serem somados \textwidth?

\documentclass{article}
\usepackage{subcaption,mwe}
\begin{document}
    \begin{figure}
        \centering
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-a}
        \end{subfigure}%
    \hspace{0.05\textwidth}
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-b}
        \end{subfigure}%
    \hspace{0.05\textwidth}
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-c}
        \end{subfigure}
    \end{figure}

    \begin{figure}
        \centering
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-a}
        \end{subfigure}%
    \hspace*{0.05\textwidth}
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-b}
        \end{subfigure}%
    \hspace*{0.05\textwidth}
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-c}
        \end{subfigure}
    \end{figure}
\end{document}

insira a descrição da imagem aqui

Responder1

A linha de imagens é muito larga para a linha. \hspaceintroduz um ponto de interrupção para que a linha seja interrompida após B e o espaço seja descartado no início da próxima linha.

sem \hspace*quebra de linha é permitido e então eles permanecem em uma linha produzindo uma linha cheia demais

Overfull \hbox (4.44969pt too wide) in paragraph at lines 21--32

Está muito cheio devido aos espaços de palavras adicionados após o \hspace.

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{subcaption,mwe}
\begin{document}
    \begin{figure}
        \centering
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-a}
        \end{subfigure}%
    \hspace{0.049\textwidth}%
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-b}
        \end{subfigure}%
    \hspace{0.049\textwidth}%
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-c}
        \end{subfigure}
    \end{figure}

    \begin{figure}
        \centering
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-a}
        \end{subfigure}%
    \hspace*{0.05\textwidth}%
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-b}
        \end{subfigure}%
    \hspace*{0.05\textwidth}%
        \begin{subfigure}[t]{0.3\textwidth}
            \includegraphics[width=\linewidth]{example-image-c}
        \end{subfigure}
    \end{figure}
\end{document}

Nota com \hspace{0.05\textwidth}erro de arredondamento torna-o um pouco cheio, então tive que reduzi-lo um pouco. Na prática é melhor não usar esses comprimentos fixos e apenas usar \hfillentre as imagens, isso irá expandir para espaçar as imagens sem a necessidade de se preocupar com erros de arredondamento.

informação relacionada