\documentclass[pagesize=auto, fontsize=12pt, DIV=10, headings=normal]{scrartcl} \usepackage{fixltx2e} \usepackage{etex} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage{textcomp} \usepackage[svgnames]{xcolor} \usepackage{listings} \usepackage{microtype} \usepackage{hyperref} \newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} \newcommand*{\bmail}[1]{\href{mailto:#1}{\texttt{<#1>}}} \newcommand*{\pkg}[1]{\textsf{#1}} \newcommand*{\cs}[1]{\texttt{\textbackslash#1}} \makeatletter \newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} \makeatother \newcommand*{\env}[1]{\texttt{#1}} \newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle} \addtokomafont{title}{\rmfamily} \lstset{% language=[LaTeX]TeX,% columns=flexible,% upquote=true,% numbers=left,% basicstyle=\ttfamily,% keywordstyle=\color{Navy},% commentstyle=\color{DimGray},% stringstyle=\color{SeaGreen},% numberstyle=\scriptsize\color{SlateGray}% } \title{The \pkg{subfigmat} package\thanks{This manual corresponds to \pkg{subfigmat.sty}~v1.0, dated~27 Feb 1999.}} \author{% Steven Douglas Cochran\thanks{\mail{sdc+@cs.cmu.edu}}% \and Bil Kleb\thanks{\mail{w.l.kleb@larc.nasa.gov}}% } \date{27 Feb 1999} \begin{document} \maketitle \noindent defines an array/matrix-type environment for subfigures and subtables of the form, % \begin{lstlisting} \begin{subfigmatrix}{NC} \subfigure[]{..} ... \end{subfigmatrix} \end{lstlisting} % where \meta{NC} is the number of subfigures per row (i.\,e.,\ the number of columns). the subfigures are ordered from left-to-right, then top-to-bottom. the environment is used within a float environment such as \env{figure} or \env{table}. each subfigure should have a variable width tied to the local \cmd{\linewidth} value so each can be shrunk or expanded to accomate the requested layout. The environment does not require ``square'' matrices since it only works on a row-by-row basis; thus you could have a $2 \times 4$, a $1 \times 3$, or a $4 \times 2$ if you so choose. if you neglect to give it a full row, such as the case of a $3 \times 3$ matrix with only 8~elements, it simply fills the rows from left to right until it runs out of elements. \section{further example:} if you wanted to create a figure with four subfigures in a tiled or matrix format of $2 \times 2$, the following would suffice, % \begin{lstlisting} \begin{figure} \begin{subfigmatrix}{2} \subfigure[]{...} \subfigure[]{...} \subfigure[]{...} \subfigure[]{...} \end{subfigmatrix} \caption{Example.} \label{f:eg} \end{figure} \end{lstlisting} % the result would look similar to the following, % \begin{quote} \begin{tabular}{@{\quad}c@{\quad}c@{\quad}} [subfig] & [subfig] \\ (a) & (b) \\[2ex] [subfig] & [subfig] \\ (c) & (d) \\[2ex] \multicolumn{2}{c}{Figure 1: Example.} \end{tabular} \end{quote} \section{notes:} comments, bugs, fixes can be sent to \mail{w.l.kleb@larc.nasa.gov}. what becomes of them is another story. ;) each subfigure is placed within a \env{minipage} of the proper width to fit \meta{NC} subfigures within the current float's \cmd{\linewidth}, accounting for $2 \times \cmd{\tabcolsep}$'s worth of space between each adjacent subfigure. \cmd{\linewidth} is a fairly general length. it is equal to \cmd{\textwidth} for single-column formats, \cmd{\columnwidth} for multiple-% column documents (and also single-column documents), or according to a \cmd{\parbox} or \env{minipage} environment. if you are using the \pkg{graphicx} package, the subfigure widths are automatically set to the local \cmd{\linewidth}. the separation between figures can be changed via the \cmd{\sfmcolsep} variable, e.\,g., % \begin{lstlisting} \setlength{\sfmcolsep}{\hspace{0.2in}} \end{lstlisting} % to set a ``hard'' inter-column spacing as opposed to the default behavior of tying the inter-column spacing to the documents tabular column spacing (\cmd{\tabcolsep}\}. \section{to do:} \begin{itemize} \item transposed ordering: from top-to-bottom, then left-to-right. \end{itemize} \pagebreak[2] \section{history:} \begin{description} \item[25 Feb 1999] Bil Kleb \bmail{w.l.kleb@larc.nasa.gov} [v1.0]\\ Edited for Arseneau-style release to \textsc{ctan}. Changed \cmd{\sfm@colsep} to a more user-tunable \cmd{\sfmcolsep}. \item[27 Feb 1997] Bil Kleb \bmail{w.l.kleb@larc.nasa.gov}\\ Minor changes. \item[27 Feb 1997] Steven Douglas Cochran \bmail{sdc+@cs.cmu.edu}\\ Created. \item[24 Feb 1997] Bil Kleb \bmail{w.l.kleb@larc.nasa.gov}\\ Posted question to news:comp.text.tex. \end{description} \section{distribution:} this program can redistributed and/or modified under the terms of the \LaTeX\ Project Public License Distributed from CTAN archives in directory \href{http://ctan.org/macros/latex/base/lppl.txt}{\nolinkurl{macros/latex/base/lppl.txt}}; either version~1 of the License, or (at your option) any later version. \end{document}