我正在使用以下代码
\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}