мульти-изображение фигуры - 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 добавляет пространство между первым и вторым env. затем используйте \hfill. Так что все выровнено, как и ожидалось. Однако, предположим, что вы хотите склеить два ящика. Следующий код оставит пустое пространство между ними

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

в то время как этот код не будет

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

Кроме того, макросы без параметров, sa \hfill, \ceteringиспользуют пробелы, поэтому вышеизложенное %не требуется. С другой стороны, если вы хотите принудительно вставить пробел после такого макроса, добавьте пустые скобки: {}, например, \mymacro{}вместо \mymacro.

Связанный контент