我有三个数字要以某种方式表达
子图1
-------子图3
子图2
并且height(subfig3)=height(subfig1)+height(subfig2)
,使得subfig3的顶部与subfig1的顶部对齐,并且subfig3的底部与subfig2的底部对齐。
\begin{table}[h]
\centering
\begin{tabular}{cc}
\includegraphics[width=4cm]{subfig1.png} &
\multirow{2}{*}{\includegraphics[width=8cm]{subfig3.png}} \\
\includegraphics[width=4cm]{subfig2.png}
\end{tabular}
\end{table}
但我发现 subfig3 的位置太低,不居中。我这里遗漏了什么?
答案1
不要用于multirow
此:将左侧的图像放在minipage
:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{table}
\centering
\begin{minipage}[b]{4cm}
\offinterlineskip % no vertical space between the two images
\includegraphics[height=3cm,width=4cm]{example-image}\\
\includegraphics[height=5cm,width=4cm]{example-image}
\end{minipage}
\includegraphics[height=8cm,width=4cm]{example-image}
\caption{Three images}
\end{table}
\end{document}
这利用了图像的参考点位于其底部的事实。
答案2
编辑为使用\shortstack
而不是\vcenter
。该命令\shortstack
从基线开始构建,因此不存在深度低于基线的问题。但是,两个左侧图像之间存在轻微间隙,这意味着右侧图像不会完全对齐,除非您通过有效地修剪它来处理它(就像我在下面通过包裹 的内部所做的\includegraphics
那样\addvbuffer
)
\documentclass{article}
\usepackage{graphicx}
\usepackage{mwe}
\usepackage{verbatimbox}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{cc}
\shortstack{%
\addvbuffer[-1pt]{\includegraphics[height=3cm,width=4cm]{example-image}}\\
\addvbuffer[-1pt]{\includegraphics[height=5cm,width=4cm]{example-image}}
}
&
\addvbuffer[-1pt]{\includegraphics[height=8cm,width=4cm]{example-image}}\\
\end{tabular}
\end{table}
\end{document}