如何使用 subfloat 垂直居中對齊影像?

如何使用 subfloat 垂直居中對齊影像?

我正在使用以下程式碼

\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}

在此輸入影像描述

相關內容