了解並排放置子圖時 \hspace 和 \hspace* 之間的差異

了解並排放置子圖時 \hspace 和 \hspace* 之間的差異

儘管子圖寬度和水平間距相加,但為什麼使用\hspace*代替時輸出存在差異?\hspace\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}

在此輸入影像描述

答案1

圖像行對於線條來說太寬。\hspace引入一個斷點,以便在 B 之後換行,並在下一行的開頭丟棄空格。

不允許\hspace*換行,因此它們停留在一條線上,產生一條過滿的線

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

由於在 後面添加了單字空格,因此它已滿\hspace

在此輸入影像描述

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

請注意,\hspace{0.05\textwidth}舍入誤差使其稍微過滿,因此我不得不稍微減少它。在實踐中,最好不要使用這樣的固定長度,而只\hfill在圖像之間使用,這將擴展以間隔開圖像,而無需擔心舍入誤差。

相關內容