有一个美丽的邮政其中或多或少解释了我想要做的事情。
实际上,我没有使用 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
以下是使用 minipages 的变体:
\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}