複数行配置: 1 行目に 2 つの画像、2 行目に 3 番目の画像を正方形状に配置する

複数行配置: 1 行目に 2 つの画像、2 行目に 3 番目の画像を正方形状に配置する

表示する画像が 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}

関連情報