ラテックスサブフィギュア配置

ラテックスサブフィギュア配置

サブ図をこのように配置するのに助けが必要です (サブ図 b は高さが異なりますが、幅は a および c と同じであるため)。 助けていただければ幸いです。

ここに画像の説明を入力してください

編集: パッケージを使っていますsubcaption!

答え1

subcaptionパッケージとその環境を採用したソリューションを次に示しますsubfigure

環境内にはfigureminipageそれぞれ幅 の 2 つの環境が並んでおり0.45\textwidth、水平方向に で区切られています\hfill。左側のminipage環境にはsubfigure、「(a)」と「(c)」の番号が付けられた 2 つの環境が含まれ、右側のminipage環境には、「(b)」の番号が付けられた 1 つのsubfigure環境のみが含まれます。3 つの環境の幅はsubfigureに設定されています\linewidth

\labelこの設定により、通常の-メカニズムを使用して、全体の図とサブ図の両方への相互参照を作成できます\ref

ここに画像の説明を入力してください

\documentclass[demo]{article} % remove `demo' option in real document
\usepackage{subcaption,graphicx}

\begin{document}

\begin{figure}[ht]
\begin{minipage}{0.45\textwidth} % start of first minipage
\begin{subfigure}{\linewidth}
\includegraphics[width=\linewidth]{picA}
\caption{\dots}
\end{subfigure}

\bigskip % leave empty line before '\bigskip'
\addtocounter{subfigure}{1} % increment 'subfigure' counter by 1
\begin{subfigure}{\linewidth}
\includegraphics[width=\linewidth]{picC}
\caption{\dots}
\end{subfigure}
\end{minipage} % end of first minipage
\hfill
\begin{minipage}{0.45\textwidth} % start of second minipage
\addtocounter{subfigure}{-2} % decrement 'subfigure' counter by 2
\begin{subfigure}{\linewidth}
\includegraphics[width=\linewidth, height=\linewidth]{picB}
\caption{\dots}
\end{subfigure}
\end{minipage} % end of second minipage

\caption{Overall figure caption}
\end{figure}

\end{document}

答え2

最も簡単な方法は、最初にサブフロートをタイプセットし、後で必要に応じて移動できるボックスに保存することだと思います。

\documentclass{article}
\usepackage{subcaption}
\usepackage{graphicx}

\newsavebox{\subcapboxA}
\newsavebox{\subcapboxB}
\newsavebox{\subcapboxC}

\begin{document}

\begin{figure}[htp]

\sbox{\subcapboxA}{%
  \begin{subfigure}{0.45\textwidth}
  \includegraphics[width=\textwidth]{example-image-a}
  \caption{}
  \end{subfigure}%
}
\sbox{\subcapboxB}{%
  \begin{subfigure}{0.45\textwidth}
  \includegraphics[width=\textwidth,height=1.3\textwidth]{example-image-b}
  \caption{}
  \end{subfigure}%
}
\sbox{\subcapboxC}{%
  \begin{subfigure}{0.45\textwidth}
  \includegraphics[width=\textwidth]{example-image-c}
  \caption{}
  \end{subfigure}%
}

% Now we stack the boxes in the desired way
\begin{tabular}{@{}c@{}}
  \usebox{\subcapboxA} \\[2ex]
  \usebox{\subcapboxC}
\end{tabular}\hfill
\begin{tabular}{@{}c@{}}
  \usebox{\subcapboxB}
\end{tabular}

\caption{The global caption text}

\end{figure}

\end{document}

ここに画像の説明を入力してください

caption一部のドキュメント クラスはパッケージ (およびその他)の使用をサポートしていないrevtex4-2ため、 を使用する必要がありますsubfig。対応するコードは次のとおりです。

\documentclass{article}
\usepackage[caption=false]{subfig}
\usepackage{graphicx}

\newsavebox{\subcapboxA}
\newsavebox{\subcapboxB}
\newsavebox{\subcapboxC}

\begin{document}

\begin{figure}[htp]

\sbox{\subcapboxA}{%
  \subfloat[]{%
    \includegraphics[width=0.45\textwidth]{example-image-a}%
  }%
}
\sbox{\subcapboxB}{%
  \subfloat[]{%
    \includegraphics[width=0.45\textwidth,height=0.6\textwidth]{example-image-b}%
  }%
}
\sbox{\subcapboxC}{%
  \subfloat[]{%
    \includegraphics[width=0.45\textwidth]{example-image-c}%
  }%
}

% Now we stack the boxes in the desired way
\begin{tabular}{@{}c@{}}
  \usebox{\subcapboxA} \\[2ex]
  \usebox{\subcapboxC}
\end{tabular}\hfill
\begin{tabular}{@{}c@{}}
  \usebox{\subcapboxB}
\end{tabular}

\caption{The global caption text}

\end{figure}

\end{document}

答え3

このようなもの:

\documentclass{book}

\usepackage{graphicx}

\usepackage{lipsum,mwe}
\begin{document}
    \lipsum[1]\\
    \begin{table}[h!]
        \begin{center}
            \caption{Table with 3 graphs}
            \begin{tabular}{l l}
                \parbox{2in}{\includegraphics[width=2in,height=1in]{seno.pdf}\\ (a)  sinus graph\\ \includegraphics[width=2in,height=1in]{coseno.pdf}\\(b)  cosinus graph} &\parbox{2in}{\includegraphics[width=2in,height=2.2in]{tangente.pdf}\\ (c)   tangent graph}\\
            \end{tabular}
        \end{center}
    \end{table}
\end{document}

出力:

ここに画像の説明を入力してください

関連情報