多圖像圖 - 單一圖上有 3 個相同尺寸的圖像和 1 個不同的圖像

多圖像圖 - 單一圖上有 3 個相同尺寸的圖像和 1 個不同的圖像

目前,我正在嘗試用多個圖像形成一個圖形(請參閱附圖)。很容易,我能夠用前三張圖像製作零件,但我無法按照我在附圖中顯示的方式添加第四張圖像(即圖例)。

你能幫忙嗎?

所需的圖形形成

\begin{figure}[H]
\centering
\begin{subfigure}{0.48\textwidth}
\centering
\includegraphics[width=\linewidth]{figures/image1.png}
\caption{image 1}
\label{image 1}
\end{subfigure}
\hfill
\begin{subfigure}{0.48\textwidth}
\centering
\includegraphics[width=\linewidth]{figures/image2.png}
\caption{image 2}
\label{image 2}
\end{subfigure}
\hfill
\begin{subfigure}{0.48\textwidth}
\centering
\includegraphics[width=\linewidth]{figures/image3.png}
\caption{image 3}
\label{image 3}
\end{subfigure}
\caption{Multiple images}
\label{Multiple images}
\end{figure}

答案1

為了移動下面的內容,您必須新增一個空白行或在這些內容前面加上\par,這相當於空行。此外,如果您想控制垂直空間,您可以變更\parskip圖形環境內部。請參閱下面的範例。

完整的例子:

\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{kantlipsum}

% \usepackage{showframe}
% \renewcommand*\ShowFrameLinethickness{0.2pt}
% \renewcommand*\ShowFrameColor{\color{blue}}


\begin{document}
\kant[1][1]

\begin{figure}[tbh]
    \setlength\parskip{\baselineskip}%
    \setkeys{Gin}{width=\linewidth}%
    \centering
    \begin{subfigure}{0.48\textwidth}
        \includegraphics{example-image}
        \caption{image 1}
        \label{image 1}
    \end{subfigure}%
    \hfill
    \begin{subfigure}{0.48\textwidth}
        \includegraphics{example-image}
        \caption{image 2}
        \label{image 2}
    \end{subfigure}

    \begin{subfigure}{0.48\textwidth}
        \includegraphics{example-image}
        \caption{image 3}
        \label{image 3}
    \end{subfigure}

    \includegraphics[width=0.75\linewidth, height=1cm]{example-image-a}
    \caption{Multiple images}
    \label{Multiple images}
\end{figure}

\kant[1][3]
\end{document}

在此輸入影像描述


編輯。幾點說明

  • 您不需要\centering在每個subfigure環境中。因為影像跨越了育兒框的整個寬度。
  • 該行\setkeys{Gin}{width=\linewidth}設定了後續每個圖像的寬度,因此不必重複。
  • 雖然在這種情況下,它在視覺上沒有什麼區別,但請注意新行會添加一個空的水平空間,除非您用以下命令結束前一行%

為了詳細說明最後一點,請再次考慮您的範例:

\begin{...}
...
\end{...} <--- empty horizontal space 
\hfill
\begin{...}
...
\end{...}

LateX 在第一個和第二個環境之間新增了空格。然後使用\hfill.所以一切都按預期對齊。但是,假設您想將兩個盒子粘在一起。以下程式碼將在它們之間留下一個空白空間

\begin{...}
...
\end{...} 
\begin{...}
...
\end{...}

雖然這段程式碼不會

\begin{...}
...
\end{...}% <--- no empty space added
\begin{...}
...
\end{...}

此外,無參數巨集 sa\hfill會消耗空間,因此不需要\cetering上述內容。%另一方面,如果您想在此類巨集後強制新增空格,請新增空大括號:{},例如\mymacro{}而不是\mymacro

相關內容