表示する画像が 3 つあり、それぞれアスペクト比が異なります。最初の 2 つの画像が 1 行目で同じ高さになり、3 番目の画像が最初の 2 つの画像と同じ幅になるように配置して、正方形になるようにします。画像の比率は、最初の 2 つの画像が横長 4/3、縦長 16/9、3 番目の画像が横長 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}