我使用此代码来显示两张图片:
\begin{figure}[htbp]
\minipage{0.45\textwidth}
\begin{center}
\includegraphics[width=1\textwidth]{methods.png}
\caption{Methods}
\label{fg:methods}
\end{center}
\endminipage\hfill
\minipage{0.1\textwidth}
\begin{center}
\end{center}
\endminipage\hfill
\minipage{0.45\textwidth}
\begin{center}
\includegraphics[width=1\textwidth]{method_detail.png}
\caption{Method detail information}
\label{fg:method_detail}
\end{center}
\endminipage\hfill
\end{figure}
现在我想确保两张图片的宽度不超过\textwidth
。我已经实现了这一点。但我希望将高度较高的图片缩小到较小图片的高度(同时保持纵横比)。这样,较高的图片就不再需要整个宽度了,所以我想将这个宽度用于较小的图片,使其更宽。
我想我可以尝试在 includegraphics 命令中使用不同的宽度参数来做到这一点,但没有办法自动做到这一点吗?
答案1
\documentclass{article}
\usepackage{graphicx}
\newsavebox\IBoxA \newsavebox\IBoxB \newlength\IHeight
\newcommand\TwoFig[6]{% Image1 Caption1 Label1 Im2 Cap2 Lab2
\sbox\IBoxA{\includegraphics[width=0.45\textwidth]{#1}}
\sbox\IBoxB{\includegraphics[width=0.45\textwidth]{#4}}%
\ifdim\ht\IBoxA>\ht\IBoxB
\setlength\IHeight{\ht\IBoxB}%
\else\setlength\IHeight{\ht\IBoxA}\fi
\begin{figure}[!htb]
\minipage[t]{0.45\textwidth}\centering
\includegraphics[height=\IHeight]{#1}
\caption{#2}\label{#3}
\endminipage\hfill
\minipage[t]{0.45\textwidth}\centering
\includegraphics[height=\IHeight]{#4}
\caption{#5}\label{#6}
\endminipage
\end{figure}%
}
使用方法如下:
\begin{document}
\TwoFig{methods} % image 1
{Methods} % caption 1
{fg:methods} % label 1
{method_detail} % image 2
{Method detail information} % caption 2
{fg:method_detail} % label 2
\end{document}
答案2
这将比较两幅图像的高度,并根据需要将较高的图像缩小。
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\setbox0\hbox{%
\includegraphics[width=.45\textwidth]{methods}%
}%
\setbox2\hbox{%
\includegraphics[width=.45\textwidth]{methodsdetail}%
}%
\ifdim\ht0>\ht2
\setbox0\hbox{%
\includegraphics[height=\ht2]{methods}%
}%
\else
\setbox2\hbox{%
\includegraphics[height=\ht0]{methodsdetail}%
}%
\fi
\noindent
\parbox{.45\textwidth}{%
\centering
\unhbox0
\caption{Methods}
\label{fg:methods}
}%
\hfil
\parbox{.45\textwidth}{%
\centering
\unhbox2
\caption{Method detail information}
\label{fg:method_detail}
}%
\end{figure}
\end{document}
使用一些免费的剪贴画,没有\if...\fi
,它看起来像这样。
使用上面的代码,它看起来像这样。