Есть красивоепочтагде более или менее объяснено, что я хотел бы сделать.
На самом деле я не использую subfigure, а \usepackage{subfig}
. Поэтому я попытался реализовать пример с subfig
решением. Весь мой документ использует subfig
, я бы не стал менять на subfigure сейчас.
Вот код, который я использую:
\begin{figure}[tb]
\centering
\sbox{\bigleftbox}{%
\begin{minipage}[b]{.5\textwidth}
\centering
\vspace*{\fill}
\subfloat[Image 1]
{\includegraphics[height=5cm]%
{images1}%
\label{image1}}
\end{minipage}%
}\usebox{\bigleftbox}%
\begin{minipage}[b][\ht\bigleftbox][s]{.5\textwidth}
\centering
\subfloat[Image 2]
{\includegraphics[width=0.9\linewidth]%
{images2}%
\label{image2}}
\vfill
\subfloat[Image 3]
{\includegraphics[width=0.9\linewidth]%
{images3}%
\label{image3}}
\end{minipage}
\caption{%
Figure}
\label{figure}
\end{figure}
На прикрепленной картинке я вижу результат, и он не великолепен. Я бы не хотел менять размер картинки. Размер должен остаться прежним. Проблема в том, что 1) левая картинка не отцентрирована по вертикали относительно двух других картинок, 2) подпись к рисунку не находится внизу последней картинки, и 3) название следующего раздела входит в рисунок.
Как можно решить все эти проблемы, используя subfig
и не используя subfigure
?
Я был бы очень благодарен за вашу помощь.
решение1
Ваша проблема иная, поскольку вам не нужно ничего измерять.
Чтобы выровнять две части вверху, можно использовать \raisebox{-\height}{...}
.
\documentclass{article}
\usepackage{graphicx,subfig}
\begin{document}
\begin{figure}[tbp]
\centering
\raisebox{-\height}{%
\subfloat[Image 1]{%
\includegraphics[height=5cm]{example-image-9x16}%
\label{image1}%
}%
}\qquad
\raisebox{-\height}{%
\begin{tabular}{@{}c@{}}
\subfloat[Image 2]{%
\includegraphics[width=0.4\textwidth]{example-image}%
\label{image2}%
} \\
\subfloat[Image 3]{%
\includegraphics[width=0.4\textwidth]{example-image}%
\label{image3}%
}
\end{tabular}%
}
\caption{Figure}
\label{figure}
\end{figure}
\end{document}
Если вы хотите вертикально отцентрировать левое изображение:
\documentclass{article}
\usepackage{graphicx,subfig}
\begin{document}
\begin{figure}[tbp]
\centering
\begin{tabular}{@{}c@{}}
\subfloat[Image 1]{%
\includegraphics[height=5cm]{example-image-9x16}%
\label{image1}%
}%
\end{tabular}\qquad
\begin{tabular}{@{}c@{}}
\subfloat[Image 2]{%
\includegraphics[width=0.4\textwidth]{example-image}%
\label{image2}%
} \\
\subfloat[Image 3]{%
\includegraphics[width=0.4\textwidth]{example-image}%
\label{image3}%
}
\end{tabular}
\caption{Figure}
\label{figure}
\end{figure}
\end{document}
решение2
Посмотрите, может ли следующий пример вам помочь:
\documentclass{article}
\usepackage{multirow,tabularx}
\usepackage[export, demo]{adjustbox}
\usepackage{subfig}
\newsavebox\bigleftbox
\begin{document}
\begin{figure}[tb]
\centering
\begin{tabularx}{\linewidth}{XX}
\multirow[t]{2}{=}{\subfloat[Image 1 \label{image1}]%
{\includegraphics[height=5cm, valign=t]{images1}}%
}
& \subfloat[Image 2 \label{image2}]%
{\includegraphics[height=\dimexpr2.5 cm-\baselineskip, valign=t]{images1}} \\
& \subfloat[Image 3 \label{image3}]%
{\includegraphics[height=\dimexpr2.5 cm-\baselineskip, valign=b]{images1}} \\
\end{tabularx}
\caption{Figure}
\label{figure}
решение3
Вот вариант с использованием мини-страниц:
\documentclass{article}
\usepackage{graphicx,subfig}
\begin{document}
\begin{figure}
\centering
\begin{minipage}[c]{0.3\textwidth}
\subfloat[Image 1]{%
\includegraphics[height=5cm]{example-image-9x16}%
\label{image1}%
}
\end{minipage}
\begin{minipage}[c]{0.4\textwidth}
\subfloat[Image 2]{%
\includegraphics[width=\textwidth]{example-image}%
\label{image2}%
}
\subfloat[Image 3]{%
\includegraphics[width=\textwidth]{example-image}%
\label{image3}%
}
\end{minipage}
\caption{Figure}
\label{figure}
\end{figure}
\end{document}