\documentclass[draft]{aiaa}% use draft mode to check for % over-full boxes (big black lines). % lengths used for computing subfigure layouts: \newlength{\sfigwidth}% desired subfigure width \newlength{\sfigheight}% desired subfigure height \newlength{\mpagewidth}% desired minipage width % create a command to create a cheap sample `figure': \setlength{\fboxrule}{1pt}\setlength{\fboxsep}{-\fboxrule} \newcommand{\fig}[2]{\fbox{\parbox[t]{#1}{\rule{0pt}{#2}}}} % define a command that creates meaningless blocks of text. % use is, for example, \replicate{4} where `4' is the number % of times to repeat the filler text. \makeatletter \newcounter{numrepeat} \newcommand{\replicate}[1]{\par \setcounter{numrepeat}{#1}\relax \@whilenum \value{numrepeat} > 0 \do {More text and even more text and even more text. Followed by some other stuff. Then adding yet additional material. Lets now change gears and talk about some other stuff for a while. I am sick-to-death of this other bit of rambling, and besides I need more material. \addtocounter{numrepeat}{-1}}\par} \makeatother \title{Example of Subfigure Layouts} \author{Bil Kleb\\ {\it NASA Langley Research Center, Hampton,~Virginia,~23681}} \begin{document} \maketitle \dropword The purpose of this document is to present a number of different subfigure layout options. The methods are currently rather ad hoc, but future versions should make this sort of thing more automatic and remove the requirement for fiddling on a case-by-case basis. \dropword Let's start off with a simple one: two figures stacked one atop the other as shown in Figure~\ref{fig:3f}. \begin{figure}[htb!] \setlength{\sfigwidth}{\linewidth} \addtolength{\sfigwidth}{-2\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{tabular}{c} \subfigure[The first one.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The second one.]{\fig{\sfigwidth}{\sfigheight}} \end{tabular} \caption{Two, stacked subfigures.} \label{fig:3f} \end{figure} \replicate{3} \dropword This is some text, referencing \Figure{fig:udlr}. Note that the order of the sub figures is up-down, then left-right. In addition, beware that alignment will be thrown off if the subcaptions are typeset with differing numbers of lines, i.e., a long subcaption and a short subcaption. \begin{figure}[htb!] \setlength{\mpagewidth}{.5\linewidth} \setlength{\sfigwidth}{\mpagewidth} \addtolength{\sfigwidth}{-2\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[The first one.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The second one.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The third one.]{\fig{\sfigwidth}{\sfigheight}} \end{tabular} \end{minipage}% note: need this comment to surpress spaces! \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[The fourth one.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The fifth one.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The sixth one.]{\fig{\sfigwidth}{\sfigheight}} \end{tabular} \end{minipage} \caption{Up-down ordering of the subfigures using the minipage environment.} \label{fig:udlr} \end{figure} \replicate{4} \dropword Now, if we wanted the ordering to be left-right, then up-down, we could use the tabular environment. This is how \Figure{fig:lrud} was generated. \begin{figure}[htb!] \setlength{\sfigwidth}{.5\linewidth} \addtolength{\sfigwidth}{-2\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{tabular}{cc} \subfigure[The first one.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The second one.]{\fig{\sfigwidth}{\sfigheight}} \\ \subfigure[The third one.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The fourth one.]{\fig{\sfigwidth}{\sfigheight}} \\ \subfigure[The fifth one.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The sixth one.]{\fig{\sfigwidth}{\sfigheight}} \\ \end{tabular} \caption{Ordering the subfigures from left-to-right, then up-down using the tabular environment.} \label{fig:lrud} \end{figure} \replicate{4} \dropword This is some text, referencing \Figure{fig:3ud3lr}. Note that the order of the sub figures is up-down, then left-right. \begin{figure}[htb!] \setlength{\mpagewidth}{.333\linewidth} \setlength{\sfigwidth}{\mpagewidth} \addtolength{\sfigwidth}{-2\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[The first.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The second.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The third.]{\fig{\sfigwidth}{\sfigheight}} \end{tabular} \end{minipage}% note: need this comment to surpress spaces in output! \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[The fourth.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The fifth.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The sixth.]{\fig{\sfigwidth}{\sfigheight}} \end{tabular} \end{minipage}% note: need this comment to supress spaces in output! \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[The seventh.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The eighth.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[The ninth.]{\fig{\sfigwidth}{\sfigheight}} \end{tabular} \end{minipage} \caption{Up-down ordering of the subfigures using the minipage environment.} \label{fig:3ud3lr} \end{figure} \replicate{4} \dropword Now, if we wanted the ordering to be left-right, then up-down, we could use the tabular environment. This is how \Figure{fig:3lr3ud} was generated. \begin{figure*}[p] \setlength{\sfigwidth}{.333\linewidth} \addtolength{\sfigwidth}{-3\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{tabular}{ccc} \subfigure[The first.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The second.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The third.]{\fig{\sfigwidth}{\sfigheight}} \\ \subfigure[The fourth.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The fifth.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The sixth.]{\fig{\sfigwidth}{\sfigheight}} \\ \subfigure[The seventh.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The eighth.]{\fig{\sfigwidth}{\sfigheight}} & \subfigure[The ninth.]{\fig{\sfigwidth}{\sfigheight}} \\ \end{tabular} \caption{Ordering the subfigures from left-to-right, then up-down using the tabular environment.} \label{fig:3lr3ud} \end{figure*} \replicate{4} \dropword Next, we try two small figures with one large one. This attempt is shown in Figure~\ref{fig:2s1l}. \begin{figure}[htb!] \setlength{\mpagewidth}{.301\linewidth}% have to fiddle with this \setlength{\sfigwidth}{\mpagewidth} \addtolength{\sfigwidth}{-2\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[One.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[Two.]{\fig{\sfigwidth}{\sfigheight}}\\ \end{tabular} \end{minipage}% note: need this comment to surpress spaces in output! \addtolength{\mpagewidth}{-\linewidth}% ditto \setlength{\mpagewidth}{-\mpagewidth}% ditto \setlength{\sfigwidth}{\mpagewidth}% ditto \addtolength{\sfigwidth}{-2\tabcolsep}% ditto \setlength{\sfigheight}{.8\sfigwidth}% ditto \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[The large one.]{\fig{\sfigwidth}{\sfigheight}} \end{tabular} \end{minipage} \caption{Two small subfigures and a large one.} \label{fig:2s1l} \end{figure} \replicate{4} \dropword Figure~\ref{fig:1l2s} is the same, only with the large/small positions swapped about the vertical axis. \begin{figure}[htb!] \setlength{\mpagewidth}{.699\linewidth}% have to fiddle with this \setlength{\sfigwidth}{\mpagewidth} \addtolength{\sfigwidth}{-2\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[The large one.]{\fig{\sfigwidth}{\sfigheight}} \end{tabular} \end{minipage}% note: need this comment to surpress spaces in output! \addtolength{\mpagewidth}{-\linewidth}% ditto \setlength{\mpagewidth}{-\mpagewidth}% ditto \setlength{\sfigwidth}{\mpagewidth}% ditto \addtolength{\sfigwidth}{-2\tabcolsep}% ditto \setlength{\sfigheight}{.8\sfigwidth}% ditto \begin{minipage}{\mpagewidth} \begin{tabular}{c} \subfigure[One.]{\fig{\sfigwidth}{\sfigheight}}\\ \subfigure[Two.]{\fig{\sfigwidth}{\sfigheight}}\\ \end{tabular} \end{minipage} \caption{One large subfigure beside two small ones.} \label{fig:1l2s} \end{figure} \replicate{4} \dropword Now, for a slightly different effect, two subfigures on top with a large one on the bottom, see Figure~\ref{fig:2st1l}. \begin{figure}[htb!] \setlength{\sfigwidth}{.5\linewidth} \addtolength{\sfigwidth}{-2\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{tabular}{cc} \subfigure[One.]{\fig{\sfigwidth}{\sfigheight}{}} & \subfigure[Two.]{\fig{\sfigwidth}{\sfigheight}{}} \end{tabular} \setlength{\sfigwidth}{\linewidth}% ditto \addtolength{\sfigwidth}{-2\tabcolsep}% ditto \setlength{\sfigheight}{.8\sfigwidth}% ditto \begin{tabular}{c} \subfigure[The large one.]{\fig{\sfigwidth}{\sfigheight}}\\ \end{tabular} \caption{Two smaller subfigures over a larger one.} \label{fig:2st1l} \end{figure} \replicate{7} \dropword And, of coarse the old large subfigure on top with two subfigures beneath. Figure~\ref{fig:1lt2sb} demonstrates this one. \begin{figure}[htb!] \setlength{\sfigwidth}{\linewidth}% ditto \addtolength{\sfigwidth}{-2\tabcolsep}% ditto \setlength{\sfigheight}{.8\sfigwidth}% ditto \begin{tabular}{c} \subfigure[The large one.]{\fig{\sfigwidth}{\sfigheight}}\\ \end{tabular} \setlength{\sfigwidth}{.5\linewidth} \addtolength{\sfigwidth}{-2\tabcolsep} \setlength{\sfigheight}{.8\sfigwidth} \begin{tabular}{cc} \subfigure[One.]{\fig{\sfigwidth}{\sfigheight}{}} & \subfigure[Two.]{\fig{\sfigwidth}{\sfigheight}{}} \end{tabular} \caption{One large subfigure above two smaller ones.} \label{fig:1lt2sb} \end{figure} \replicate{2} \end{document}