如何使用子浮点数使图像垂直居中?

如何使用子浮点数使图像垂直居中?

我正在使用以下代码

\documentclass{article}
\usepackage{graphicx} 
\usepackage{subfig}

\begin{document}    
\begin{figure}[t]%
        \centering
        \subfloat[Image 1\label{fig:img1}]{{\includegraphics[scale=0.05]{img1.png} }}%
        \subfloat[Image 2\label{fig:img2}]{{\includegraphics[scale=0.05]{img2.png} }}%
        \caption{Two images}%
        \label{fig:imgs}%
    \end{figure}
\end{document}

但是 img1 和 img2 的高度不同,但宽度相同。如何将它们显示在垂直对齐的位置?基本上,两个图像的中心应该在同一水平线上。

答案1

像这样?

在此处输入图片描述

上图的可能解决方案之一是将较小的图像封闭在tikz节点中,其最小高度等于较大图像的高度。这意味着,您需要先测量其高度,然后相应地设置 TikZ 节点大小:

\documentclass{article}
\usepackage[demo]{graphicx} 
\usepackage{subfig}

\usepackage{tikz}
\newlength\imageheight% for determining height of taller image

\begin{document}
    \begin{figure}[ht]%
% measurement of height of the taller image
\settoheight{\imageheight}{\includegraphics[height=3cm]{img1.png}}
    \centering
% since I haven't your image,
% I simulate their different heights with prescribed "height"
\subfloat[Image 1\label{fig:img1}]{\includegraphics[height=3cm]{img1.png}}%
\hfil
\subfloat[Image 2\label{fig:img2}]{\tikz\node[minimum height=\imageheight]{\includegraphics[height=2cm]{img2.png}}; }%
    \caption{Two images}%
\label{fig:imgs}%
    \end{figure}
\end{document}

答案2

您可以使用minipage网格:

\documentclass{article}

\usepackage{subcaption}
\usepackage{mwe}

\begin{document}

\begin{figure}
    \centering
    \begin{minipage}[c]{.5\textwidth}
      \centering
      \includegraphics[scale=0.5]{example-image-a}
    \end{minipage}%
    \begin{minipage}[c]{.5\textwidth}
      \centering
      \includegraphics[scale=0.25]{example-image-b} \\
    \end{minipage}
    \begin{minipage}{.5\textwidth}
      \subcaption{Image 1}\label{fig:img1}
    \end{minipage}%
    \begin{minipage}{.5\textwidth}
      \subcaption{Image 2\label{fig:img2}}%
    \end{minipage}
    \caption{Two images}%
    \label{fig:imgs}%
\end{figure}

\end{document}

在此处输入图片描述

相关内容