
答案1
這是一個使用該subcaption
套件及其subfigure
環境的解決方案。
在環境內部figure
,有兩個並排的minipage
環境,每個環境的寬度0.45\textwidth
為 ,水平分隔為\hfill
。左側minipage
環境包含2個subfigure
環境,編號為「(a)」和「(c)」;右側minipage
環境僅包含 1 個subfigure
環境,編號為「(b)」。 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}
輸出: