答案1
像这样?
借助tabularx
表环境:
\documentclass{article}
\usepackage{graphicx}
\usepackage{multirow,tabularx}
\renewcommand\tabularxcolumn[1]{m{#1}}
\begin{document}
\begin{figure}
\begin{tabularx}{\textwidth}{cXX}
\multirow{2}{0.4\textwidth}{\includegraphics[width=\hsize]{example-image}
\caption{a}
}
& \includegraphics[width=\hsize]{example-image-a}
\caption{b}
& \includegraphics[width=\hsize]{example-image-b}
\caption{c} \\
& \includegraphics[width=\hsize]{example-image-a}
\caption{d}
& \includegraphics[width=\hsize]{example-image-b}
\caption{e}
\end{tabularx}
\end{figure}
\end{document}
附录:
现在我猜你可能喜欢将图像的顶部和底部对齐。这可以通过估算图像高度和使用包来简单实现,adjustbox
或者通过更复杂的方法测量右图(图 c + c 的标题 + 图 e)的高度,并借助savebox
:
梅威瑟:
\documentclass{article}
\usepackage{graphicx}
\usepackage{multirow,tabularx}
%\renewcommand\tabularxcolumn[1]{m{#1}}
\usepackage[export]{adjustbox}
\usepackage{calc}
\usepackage{showframe}% only for showing page layout
\newsavebox{\twofigures}
\begin{document}
\begin{figure}
\savebox{\twofigures}{\begin{tabularx}{0.3\textwidth-\tabcolsep}{X}
\includegraphics[width=\hsize]{example-image}
\caption{c} \\
\includegraphics[width=\hsize]{example-image}
\end{tabularx}}
\begin{tabularx}{\textwidth}{cXX}
\multirow{2}{0.4\textwidth}{%
\includegraphics[width=\hsize,%
height=\ht\twofigures+\dp\twofigures,%
valign=T] {example-image}
\caption{a}
}
& \includegraphics[width=\hsize,valign=T]{example-image-a}
\caption{b}
& \includegraphics[width=\hsize,valign=T]{example-image-b}
\caption{c} \\
& \includegraphics[width=\hsize,valign=T]{example-image-a}
\caption{d}
& \includegraphics[width=\hsize,valign=T]{example-image-b}
\caption{e}
\end{tabularx}
\end{figure}
\end{document}
附录2:
在这种情况下,对于图像,人们喜欢利用整个文本宽度,并添加列的@{}
开始和结束规范:{@{}cXX@{}}
,然后您需要相应地更改存储的图像:不减去表格宽度\tabcolsep
:
梅威瑟:
\documentclass{article}
\usepackage{graphicx}
\usepackage{multirow,tabularx}
\usepackage[export]{adjustbox}
\usepackage{calc}
\usepackage{showframe}
\newsavebox{\twofigures}
\begin{document}
\begin{figure}
\savebox{\twofigures}{\begin{tabularx}{0.3\textwidth}{X}% <-- changed
\includegraphics[width=\hsize]{example-image}
\caption{c} \\
\includegraphics[width=\hsize]{example-image}
\end{tabularx}}
\begin{tabularx}{\textwidth}{@{}cXX@{}}% <-- changed
\multirow{2}{0.4\textwidth}{%
\includegraphics[width=\hsize,%
height=\ht\twofigures+\dp\twofigures,%
valign=T] {example-image}
\caption{a}
}
& \includegraphics[width=\hsize,valign=T]{example-image-a}
\caption{b}
& \includegraphics[width=\hsize,valign=T]{example-image-b}
\caption{c} \\
& \includegraphics[width=\hsize,valign=T]{example-image-a}
\caption{d}
& \includegraphics[width=\hsize,valign=T]{example-image-b}
\caption{e}
\end{tabularx}
\end{figure}
\end{document}
添加的showframe
包仅用于显示页面布局。通过它的可见性,很容易比较第二个和第三个解决方案之间的差异。在实际应用中必须将其删除。