\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}
