
異なるサイズの画像を 2 つ並べて配置したいと考えています。 どちらも個別の s を持ちますsubcaption
。 すべて正常に動作します。 私の唯一の質問は、小さい方の画像を高い方の画像に対して垂直方向に中央に配置するにはどうすればよいかということです。
\documentclass[a4paper,10pt]{scrreprt}
\usepackage[T1]{fontenc}
% \usepackage[utf8]{inputenc}
\usepackage[latin1]{inputenc}
\usepackage{geometry}
\geometry{a4paper,left=25mm,right=25mm, top=25mm, bottom=25mm}
\usepackage{subcaption}
\usepackage{tikz}
\begin{document}
\begin{figure}[htbp]
\centering
\hfill
\begin{subfigure}[b]{0.48\textwidth}
\centering
\includegraphics[height=.22\textheight]{example-image-a}
\caption{Subcaption left}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.48\textwidth}
\centering
\includegraphics[height=.18\textheight]{example-image-b}
\caption{Subcaption right}
\end{subfigure}
\hfill
\caption{Caption}
\end{figure}
\end{document}
答え1
上で説明したのと同じ手順に従うことができます。サブキャプションの垂直配置そしてfigure*
環境内で異なるサイズの画像を垂直に整列させるつまり、大きい画像のサイズをキャプチャし、その高さを使用して小さい画像の垂直位置を調整します。
\documentclass{article}
\usepackage{geometry,graphicx}
\geometry{a4paper,margin=1in}
\usepackage{subcaption}
\newsavebox{\largestimage}
\begin{document}
\begin{figure}[htbp]
\centering
% Store largest image in a box
\savebox{\largestimage}{\includegraphics[height=.22\textheight]{example-image-a}}%
\begin{subfigure}[b]{0.48\textwidth}
\centering
\usebox{\largestimage}
\caption{Subcaption left}
\end{subfigure}
\quad
\begin{subfigure}[b]{0.48\textwidth}
\centering
% Adjust vertical height of smaller image
\raisebox{\dimexpr.5\ht\largestimage-.5\height}{%
\includegraphics[height=.18\textheight]{example-image-b}}
\caption{Subcaption right}
\end{subfigure}
\caption{Caption}
\end{figure}
\end{document}
垂直調整は、大きい画像の高さの50%です。マイナス小さい画像の高さの 50%。技術的には、これにより小さい画像の周囲に垂直方向の空白の 50% が与えられ、大きい画像に対して垂直方向に中央揃えされます。