我有以下一段代码
\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}