将两张大小不等的图片并排排列

将两张大小不等的图片并排排列

我想并排显示两张不同大小的图片,图片应彼此居中。但我还希望标题处于同一高度。因此小图片的标题不应向上滑动。

我当前的代码:

    \begin{figure}[H]
    \centering
        \begin{minipage}[c]{.4\linewidth}
            \centering
            \includegraphics[width=\linewidth]{image1.jpg}
            \caption{Caption 1}
            \label{fig:label1}
        \end{minipage}
            \hspace{.1\linewidth}
        \begin{minipage}[c]{.4\linewidth}
            \centering
            \includegraphics[width=\linewidth]{image2.jpg}
            \caption{Caption 2}
            \label{fig:label2}
        \end{minipage}
    \end{figure}

输出

图片显示了当前的输出。如前所述,我希望标题 2 与标题 1(红色标记)的高度相同。

答案1

無需測量。

我将两幅图像设置在三列表格中,其中中间一列仅用于在它们之间添加水平空间。

在您自己的文档中,删除height此处用于伪造不同尺寸(以及showframe)的说明。根据您的喜好微调间距和尺寸。然后绝不使用[H]

\documentclass{article}
\usepackage{graphicx,showframe}

\begin{document}

\begin{figure}[htp]
\centering
\newcommand{\localwd}{0.4\columnwidth}% local command
\setlength{\tabcolsep}{0pt}% we don't need padding

\begin{tabular}{p{\localwd} c p{\localwd}}
\multicolumn{1}{c}{%
  \begin{tabular}{c}
  \includegraphics[height=6cm,width=\localwd]{example-image}
  \end{tabular}%
} &\hspace*{0.1\columnwidth}&
\multicolumn{1}{c}{%
  \begin{tabular}{c}
  \includegraphics[height=3cm,width=\localwd]{example-image}
  \end{tabular}%
}
\\
\caption{First caption} && \caption{Second caption}
\end{tabular}

\end{figure}

\end{document}

诀窍是使用 来c放置包含图像的单元格,并将它们嵌套在 中tabular,这样它们就会相对于另一个单元格垂直居中。对于标题,p说明符是必需的,如果标题占用多行,说明符将确保标题顶部对齐。

在此处输入图片描述

答案2

像这样:

在此处输入图片描述

  • 您的代码片段没有告诉我们有关您的文档的任何信息。
  • 请始终提供 MWE(最小工作示例),即一个完整的小文档,可以重现您的问题。
  • 通过在单独的表格行中插入图像和标题,可以轻松解决您的问题。例如
    • 通过使用表格tabularx
\documentclass{article}
\usepackage[export]{adjustbox}
\usepackage{tabularx}

\begin{document}
    \begin{figure}[ht]
\begin{tabularx}{\linewidth}{*{2}{>{\centering\arraybackslash}X}}
\includegraphics[height=55mm, width=\linewidth, valign=m]{example-image-a}
    &   \includegraphics[height=33mm,width=\linewidth, valign=m]{example-image-b}     \\
\caption{Caption 1}
    &   \caption{Caption 2}
\end{tabularx}
    \end{figure}
\end{document}
  • 或者通过tabular
\documentclass{article}
\usepackage[export]{adjustbox}
\usepackage{array}

\begin{document}
    \begin{figure}[ht]
\begin{tabular}{*{2}{>{\centering\arraybackslash}p{\dimexpr0.5\linewidth-2\tabcolsep}}}
\includegraphics[height=55mm, width=\linewidth, valign=m]{example-image-a}
    &   \includegraphics[height=33mm,width=\linewidth, valign=m]{example-image-b}     \\
\caption{Caption 1}
    &   \caption{Caption 2}
\end{tabular}
    \end{figure}
\end{document}

结果和以前一样。

答案3

您可以将两个minipages 在[b]底部对齐(如果它们的长度相似,则将 s 垂直对齐\caption),然后将较小的图像提升到位(两个图像高度差的一半)。

在此处输入图片描述

\documentclass{article}

\usepackage{graphicx}

\newsavebox{\imgbox}% To store stuff

\begin{document}

\begin{figure}
  \centering
  \begin{minipage}[b]{.4\linewidth}
    \centering
    \global\setbox\imgbox=\hbox{\includegraphics[width=\linewidth]{example-image-9x16}}% Save largest image
    \usebox\imgbox% Print image
    \caption{Caption 1}
  \end{minipage}%
  \hfill
  \begin{minipage}[b]{.4\linewidth}
    \centering
    \raisebox{\dimexpr0.5\ht\imgbox-0.5\height}{\includegraphics[width=\linewidth]{example-image-10x16}}
    \caption{Caption 2}
  \end{minipage}
\end{figure}
    
\end{document}

相关内容