如何调整不同尺寸子图的高度?

如何调整不同尺寸子图的高度?

我有以下一段代码

\begin{figure*}
\centering
\subfloat[][]{\includegraphics[scale=0.9]{A_big_figure}
\label{fig:my_fig_1}}
\subfloat[][]{\includegraphics[scale=0.9]{A_small_figure} 
\label{fig:my_fig_2} } 
\label{my_fig_all}
\end{figure*}

第二幅图比第一幅图小得多,但宽度相同(即,仅缩放它对我来说没有用)。目前,Latex 将两个图形的底部对齐,即第二个图形上方有一个空白。但是,我想要相反的效果,即两个图形的顶部对齐,小图形下方有一个空白。我尝试在第二个图形之前添加一些负空白,但这不起作用。

你有什么想法 ?

答案1

您可以使用floatrow 包及其subfloatrow环境来执行此操作:

\documentclass[11pt]{book}
\usepackage{geometry}
\usepackage{floatrow, subcaption, graphicx}

\begin{document}

\begin{figure*}[!ht]
\floatsetup{style=plain, floatrowsep=qquad, heightadjust=object, valign=t, captionskip=3ex}
\ffigbox[\FBwidth]
{\begin{subfloatrow}
\ffigbox[\FBwidth]{\caption{Traccia Table}\label{flt1}}
{\includegraphics[scale=0.3]{traccia-table}}
\ffigbox[\FBwidth]{\caption{Fur breakfast}\label{flt2}}
{\includegraphics[scale=0.8]{dejeuner1}}
\end{subfloatrow}}{\caption{Meret Oppenheim}\label{Meret}}
\end{figure*}

\end{document} 

在此处输入图片描述

答案2

在表格中插入图像并用作标题\subcaption{<caption text>}。使用valign=t defined in\adjustbox` 将图像基线移动到其顶部:

\documentclass[11pt]{book}
\usepackage{geometry}
\usepackage[font=small, labelfont=bf,
            skip=0.5ex,belowskip=1ex
            ]{caption}
\usepackage{subcaption}
\usepackage[export]{adjustbox}

\begin{document}
    \begin{figure}[ht]
    \setkeys{Gin}{width=\linewidth}
    \centering
\begin{tabular}{p{0.45\linewidth} p{0.45\linewidth}}
    \includegraphics[valign=t]{example-image}
    &   \includegraphics[valign=t]{example-image-duck}  \\
\subcaption{}
\label{fig:my_fig_1}
    &   \subcaption{}
        \label{fig:my_fig_1}
\end{tabular}

\caption{My images}
\label{my_fig_all}
    \end{figure}
\end{document} 

在此处输入图片描述

相关内容