我要展示三张图片,它们有三种不同的宽高比,我想将它们对齐,以便前两张在第一行上的高度相同,第三张的宽度与前两张相同,这样它们看起来就是一个正方形。前两张图片的比例是横向 4/3,纵向 16/9,第三张图片的比例是横向 16/9(这样您就可以轻松拍照了)。
我该如何实现这一点?目前,我手动调整了宽度和高度,但我希望有一种更自动化的方式或一种使其与 配合使用的方式subfig
。这是我的代码:
\begin{figure}[ht]
\begin{minipage}{\textwidth}
\begin{center}
\includegraphics[height=7cm]{pic1}
\includegraphics[height=7cm]{pic2}
\end{center}
\end{minipage}
\quad
\begin{minipage}{\textwidth}
\begin{center}
\includegraphics[width=15cm]{pic3}
\end{center}
\end{minipage}
\label{figpic}
\end{figure}
感谢您的帮助 !
答案1
神奇数字是91=64+27:
\documentclass{article}
\usepackage{subcaption}
\usepackage{graphicx}
\newlength{\preferredwidth}
\setlength{\preferredwidth}{12cm}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}{\dimexpr\preferredwidth*64/91}
\includegraphics[width=\linewidth]{example-image-4x3}
\caption{Ratio 4:3 landscape}
\end{subfigure}%
\begin{subfigure}{\dimexpr\preferredwidth*27/91}
\includegraphics[width=\linewidth]{example-image-9x16}
\caption{Ratio 16:9 portrait}
\end{subfigure}
\medskip
\begin{subfigure}{\dimexpr\preferredwidth}
\includegraphics[width=\linewidth]{example-image-16x9}
\caption{Ratio 16:9 landscape}
\end{subfigure}
\end{figure}
\end{document}
图像被挤压在一起也是一样:
\documentclass{article}
\usepackage{graphicx}
\newlength{\preferredwidth}
\setlength{\preferredwidth}{12cm}
\begin{document}
\begin{figure}
\centering
\includegraphics[width=\dimexpr\preferredwidth*64/91]{example-image-4x3}%
\includegraphics[width=\dimexpr\preferredwidth*27/91]{example-image-9x16}\\
\includegraphics[width=\preferredwidth]{example-image-16x9}
\end{figure}
\end{document}
假设左上角和右上角图像的比例为r和s分别。如果首选宽度为瓦,那么左图像的宽度应该是读写/(r+s)并且右图像的宽度应该是西南/(r+s)就你的情况而言r= 4/3 且s= 9/16,这解释了神奇数字 91 = 4·16 + 3·9。底部图像对计算没有影响,因此无论如何你都不会得到一个正方形。
答案2
\documentclass{article}% always use a complete document not a fragment
\usepackage{graphicx}
\begin{document}
\begin{figure}[htp]% include p
% \begin{minipage}{\textwidth} a \textwidth minipage does nothing
\centering%\begin{center}
% mwe package images
\sbox0{\includegraphics[height=4cm]{example-image-a}% no word space
\includegraphics[height=4cm]{example-image-4x3}}
% \quad ????
\usebox{0}\\
\includegraphics[width=\wd0]{example-image-a3-landscape}
\label{figpic}
\end{figure}
\end{document}