summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/captcont/captcont.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/captcont/captcont.dtx')
-rw-r--r--macros/latex/contrib/captcont/captcont.dtx1073
1 files changed, 1073 insertions, 0 deletions
diff --git a/macros/latex/contrib/captcont/captcont.dtx b/macros/latex/contrib/captcont/captcont.dtx
new file mode 100644
index 0000000000..18841a3a05
--- /dev/null
+++ b/macros/latex/contrib/captcont/captcont.dtx
@@ -0,0 +1,1073 @@
+% \iffalse % captcont.dtx
+% Retain figure/table number across multiple pages and provide correct
+% output to List-of-Figures or List-of-Tables files.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Copyright (C) 1997-2002 Steven Douglas Cochran
+%
+% The captcont package is free software; it may be distributed under the
+% conditions of the LaTeX Project Public License, either version 1.2 of
+% this license or (at your option) any later version. The latest version
+% of this license is in:
+% http://www.latex-project.org/lppl.txt
+% and version 1.2 or later is part of all distributions of LaTeX version
+% 1999/09/03 or later.
+%
+% The captcont package is distributed in the hope that it will be
+% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% LaTeX Project Public License for more details.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% @LaTeX-style-file{
+%% author = "Steven Douglas Cochran",
+%% version = "2.0",
+%% date = "2002/02/14",
+%% time = "11:59:17",
+%% filename = "captcont.sty",
+%% address = "Digital Mapping Laboratory, School of Computer Science
+%% Carnegie-Mellon University, 5000 Forbes Avenue
+%% Pittsburgh, PA 15213-3890, USA",
+%% telephone = "+1 412.268.5654",
+%% fax = "+1 412.268.5576",
+%% email = "sdc+@CS.CMU.EDU (Internet)",
+%% codetable = "ISO/ASCII",
+%% keywords = "LaTeX, caption, float, figure, table, subfigure",
+%% supported = "yes",
+%% abstract = "LaTeX package for providing support for retaining
+%% a figure or table number across several float
+%% environments---usually over several pages. It
+%% also allows control over the contents of the
+%% List-of-Figures and the List-of-Tables pages."
+%% }
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesFile{subfigure.dtx}
+\documentclass{ltxdoc}
+\usepackage{captcont}[2002/01/23]
+\usepackage[TABTOPCAP,tight]{subfigure}[2002/01/23]
+\setlength\hfuzz{100pt}
+\setlength\vfuzz{100pt}
+\clubpenalty=10000
+\widowpenalty=10000
+\displaywidowpenalty=5000
+\brokenpenalty=5000
+\begin{document}
+ \DocInput{captcont.dtx}
+\end{document}
+%</driver>
+%
+%<*ltxdoc>
+\AtBeginDocument{
+% \OnlyDescription % comment out for implementation details
+ \EnableCrossrefs
+ \RecordChanges
+ \CodelineIndex}
+\AtEndDocument{
+ \PrintChanges
+ \PrintIndex}
+%</ltxdoc>
+%
+% \fi
+%
+% \catcode`\^=14 ^^A We will use a ^ for a comment rather than ^^A.
+% \newcommand*{\Lopt}[1]{\textsf{#1}} ^ Package options
+% \newcommand*{\Lfile}[1]{\texttt{#1}} ^ File names
+% \newcommand*{\Lpack}[1]{\textsf{#1}} ^ Package names
+% \newcommand*{\Lenv}[1]{\texttt{#1}} ^ Environment names
+% \newcommand*{\Lcount}[1]{\textsl{\small#1}} ^ Counter names
+% \newcommand*{\Lif}[1]{\textsc{\bf#1}} ^ \if names
+% ^ NOTE: Hacks added to make the final format are marked ``^finalhack''.
+%
+% \changes{v1.0}{11 Oct 1996}{Initial revision.}
+%
+% \DoNotIndex{\@ehd,\@firstofone,\@for,\@gobble,\@ifundefined,\@latex@error}
+% \DoNotIndex{\@ne,\@undefined,\addcontentsline,\addtolength,\advance,\alph}
+% \DoNotIndex{\begingroup,\bfseries,\bgroup,\box,\csname,\DeclareOption}
+% \DoNotIndex{\def,\do,\egroup,\else,\endcsname,\endgroup,\ExecuteOption}
+% \DoNotIndex{\ExecuteOptions,\expandafter,\fi,\footnotesize,\gdef,\hbox}
+% \DoNotIndex{\global,\hfil,\ifdim,\ifnum,\ifx,\ignorespaces,\itshape}
+% \DoNotIndex{\Large,\large,\leavevmode,\let,\long,\mdseries,\multiply}
+% \DoNotIndex{\NeedsTeXFormat,\newcommand,\newcounter,\newif,\noexpand}
+% \DoNotIndex{\normalsize,\par,\parbox,\ProcessOptions,\protect}
+% \DoNotIndex{\ProvidesPackage,\relax,\renewcommand,\rmfamily,\sbox}
+% \DoNotIndex{\scriptsize,\scshape,\setbox,\setcounter,\setlength,\sffamily}
+% \DoNotIndex{\slshape,\small,\space,\string,\strut,\ttfamily,\tw@,\typeout}
+% \DoNotIndex{\undefined,\upshape,\usebox,\vbox,\vskip,\vtop,\wd,\xdef}
+% \DoNotIndex{\z@skip,\@dblarg,\@ifstar,\@nameuse,\@parboxrestore}
+% \DoNotIndex{\@setminipage,\edef,\if@minipage,\m@ne,\numberline}
+% \DoNotIndex{\providecommand,\refstepcounter,\@makecaption,\@captype}
+% \DoNotIndex{\@currentlabel}
+%
+% \CheckSum{156}
+%
+% ^ This command creates a rectangular box to represent
+% ^ a figure in the examples given in this paper.
+% \newcommand{\figbox}[1]{%
+% \fbox{^
+% \vbox to 15mm{^
+% \vfil
+% \hbox{^
+% \space
+% #1^
+% \space}^
+% \vfil}}}
+%
+% ^ Allow a little more freedom in typesetting floats.
+% \setcounter{topnumber}{8}
+% \def\topfraction{.8}
+% \setcounter{bottomnumber}{8}
+% \def\bottomfraction{.8}
+% \setcounter{totalnumber}{8}
+% \def\textfraction{.2}
+% \def\floatpagefraction{.8}
+% \setcounter{dbltopnumber}{8}
+% \def\dbltopfraction{.8}
+% \def\dblfloatpagefraction{.8}
+%
+% ^ Add some space above any footnotes.
+% \skip\footins=1.5\baselineskip
+%
+% ^ Make the \fbox stay just inside the box it "surrounds".
+% \fboxsep=-\fboxrule
+%
+% ^ Make the subcaption label be centered.
+% \subfiglabelskip=0pt
+%
+% \makeatletter
+%
+% ^ Create an EXAMPLE float environment.
+% ^ NOTE: This is not complete --- just enough for this paper.
+% \newcounter{example}
+% \renewcommand\theexample{\@arabic\c@example}
+% \def\fps@example{tbp}
+% \def\ftype@example{3}
+% \def\ext@example{loe}
+% \def\fnum@example{\examplename~\theexample}
+% \newenvironment{example}
+% {\@float{example}}
+% {\end@float}
+% \newcommand\examplename{Example}
+%
+% ^ This command switches the caption type.
+% \newcommand{\setcaptype}[1]{\renewcommand{\@captype}{#1}}
+%
+% \makeatother
+%
+% \def\docdate{2002/02/14}
+% \def\fileversion{v2.0}
+% \def\filedate{2002/01/23}
+% \def\filename{captcont.dtx}
+%
+% \title{The \Lpack{captcont} Package\footnote{This paper documents
+% the \Lpack{captcont} package v\fileversion, last revised \filedate.}}
+% \author{Steven Douglas Cochran\\[5pt]
+% Digital Mapping Laboratory, School of Computer Science \\
+% Carnegie-Mellon University, 5000 Forbes Avenue \\
+% Pittsburgh, PA 15213--3890, USA\\[5pt]
+% \texttt{sdc+@cs.cmu.edu}}
+% \date{\docdate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% \noindent
+% This article documents the \LaTeX\ package `\Lpack{captcont}', which
+% provides support for retaining a figure or caption number across
+% several float environments---usually over several pages. It allows
+% control over the contents of the List-of-Figures and the
+% List-of-Tables pages. It should be compatible with all other packages
+% that modify or extend the float environment and with the
+% \Lpack{subfigure} package \cite{Coch02} in particular.
+%\end{abstract}
+%
+% \tableofcontents
+%
+% \newpage
+% \section{Introduction}
+% \enlargethispage{12pt} ^finalhack
+%
+% The \Lpack{captcont} package provides support for figures and tables
+% that continue or span two or more pages, but cannot be easily handled
+% by another mechanism such as the \Lpack{longtable} package \cite{Carl00}
+% or the \Lpack{supertabular} environment \cite{Braa-Jurr99}. The reason
+% for this is usually that the figure or table is made up of multiple
+% small parts. Therefore this package is typically used in conjunction
+% the \Lpack{subfigure} package\cite{Coch02}.
+%
+% This \LaTeXe\ package replaces the older \LaTeX2.09 style fragment
+% written by Anonymous. This is a complete re-implementation of the
+% older style so that the List-of-Figures, List-of-Tables and the
+% |\pageref| command have the correct page numbers.
+%
+% \section{The User Interface}
+%
+% To use this package place
+% \begin{quote}
+% |\usepackage|\oarg{options}\{captcont\}
+% \end{quote}
+%
+% \noindent
+% in the preamble of your document. The supported options are shown in
+% table~\ref{tab:options}.\footnote{If the \Lpack{subfigure} package is
+% also loaded, then the \Lpack{subfigure} package options override
+% these.} This package redefines the |\caption| command and defines
+% three new commands to work with it. The new commands act very similar
+% to the caption, but control when the \Lcount{figure} or \Lcount{table}
+% counter is incremented and whether or not the caption text shows up in
+% the List-of-Figures or List-of-Tables pages. The commands are:
+%
+% \begin{tabbing}
+% \qquad \=|\captcont|* \=\oarg{lst\_entry} \=\marg{caption}\kill
+% \>|\caption| \>\oarg{lst\_entry} \>\marg{caption}\\
+% \>|\caption|* \>\oarg{lst\_entry} \>\marg{caption}\\
+% \>|\captcont| \>\oarg{lst\_entry} \>\marg{caption}\\
+% \>|\captcont|* \>\oarg{lst\_entry} \>\marg{caption}
+% \end{tabbing}
+% \noindent
+% The |\captcont| and |\captcont|* commands do not increment the
+% \Lcount{figure} or \Lcount{table} counters and the |\captcont|* and
+% |\caption|* commands do not print to the List-of-Figures or
+% List-of-Tables.
+%
+% If the caption proceeds the figure ({\it i.e.\/}, \Lopt{figtopcap} or
+% \Lopt{tabtopcap}), then for a series of \Lenv{float} environments that
+% are to be considered as one \Lenv{figure} or \Lenv{table}, you begin
+% the first with a |\caption| or |\caption*| and use |\captcont| or
+% |\captcont*| in each of the the following ones. If the caption
+% follows the figure ({\it i.e.\/}, \Lopt{figbotcap} or
+% \Lopt{tabbotcap}), then you do just the opposite and use |\captcont|
+% or |\captcont*| on each of the series of \Lenv{float} environments
+% that are to be considered as one \Lenv{figure} or \Lenv{table}, the
+% use a |\caption| or |\caption*| on the very last one.
+%
+% \begin{table}
+% \caption{\Lpack{captcont} package options.}
+% \label{tab:options}
+% \DeleteShortVerb{\|}
+% \centering
+% \begin{tabular}{l|l}
+% \hline
+% \multicolumn{1}{c|}{\bf Option}
+% & \multicolumn{1}{c}{\bf Description} \\
+% \hline
+% \Lopt{figbotcap} & The figure caption follows the figure (default).\\
+% \Lopt{figtopcap} & The figure caption precedes the figure.\\ \hline
+% \Lopt{tabbotcap} & The table caption follows the figure.\\
+% \Lopt{tabtopcap} & The table caption precedes the figure (default).\\
+% \hline
+% \end{tabular}
+% \MakeShortVerb{\|}
+% \end{table}
+%
+% \section{Examples}
+%
+% Four examples are given below of the use of the \Lpack{captcont}
+% package. The ``figures'' in each are drawn using the following command
+% which creates a small box representing a figure in the example output
+% and centers provided text in the box. The height of the box is fixed
+% at 15mm and the width varies with the provided text.
+% \newpage ^finalhack
+%
+% \begin{verbatim}
+% \newcommand{\figbox}[1]{%
+% \fbox{% Frame the box to make the ``figure''
+% \vbox to 15mm{% Make it 15mm tall
+% \vfil Vertically center this next \hbox
+% \hbox{%
+% \space
+% #1% Add the supplied text with spaces
+% \space}%
+% \vfil}}}
+% \end{verbatim}
+%
+% \subsection{Two Continued Figures}
+%
+% Example~\ref{ex:one} shows the case of a set of three pages containing
+% parts of one figure. In this case the author desires that the caption
+% of each page shows up in the List-of-Figures page. The |\caption|
+% follows the figure body, so we use the |\captcont| command on the
+% inital pages and the |\caption| on the last.
+%
+% \begin{verbatim}
+% \listoffigures
+% ...
+% \begin{figure}[p]
+% \figbox{Figure~\ref{fig:ex1-1}, part 1, page \pageref{fig:ex1-1}}
+% \captcont{Figure one.}
+% \label{fig:ex1-1}
+% \end{figure}
+% \begin{figure}[p]
+% \figbox{Figure~\ref{fig:ex1-1}, part 2, page \pageref{fig:ex1-2}}
+% \captcont{Figure one. (cont)}
+% \label{fig:ex1-2}
+% \end{figure}
+% \begin{figure}[p]
+% \figbox{Figure~\ref{fig:ex1-1}, part 3, page \pageref{fig:ex1-3}}
+% \caption{Figure one. (cont)}
+% \label{fig:ex1-3}
+% \end{figure}
+% \end{verbatim}
+%
+% \begin{example}
+% \setcaptype{figure}^
+% \centering
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \begin{minipage}{2.1in}^
+% \vspace{.1in}^
+% \section*{ List of Figures}
+% \contentsline{figure}{\numberline{1}^
+% {\ignorespaces Figure one.}}{2}^
+% \contentsline{figure}{\numberline{1}^
+% {\ignorespaces Figure one. (cont)}}{3}^
+% \contentsline{figure}{\numberline{1}^
+% {\ignorespaces Figure one. (cont)}}{4}^
+% \hspace{40pt}\dots
+% \vspace{21pt}^
+% \end{minipage}^
+% \end{minipage}}^
+% \quad
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \figbox{Figure~\ref{fig:ex1-1}, part 1, page 2.}^
+% \vspace{-5pt}^
+% \captcont{Figure one.}^
+% \label{fig:ex1-1}^
+% \vspace{10pt}^
+% -2-
+% \vspace{.1in}^
+% \end{minipage}}\\[.1in]
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \figbox{Figure~\ref{fig:ex1-2}, part 2, page 3.}^
+% \vspace{-5pt}^
+% \captcont{Figure one. (cont)}^
+% \label{fig:ex1-2}^
+% \vspace{10pt}^
+% -3-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \quad
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \figbox{Figure~\ref{fig:ex1-3}, part 3, page 4.}^
+% \vspace{-5pt}^
+% \caption{Figure one. (cont)}^
+% \label{fig:ex1-3}^
+% \vspace{10pt}^
+% -4-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \setcaptype{example}^
+% \caption{Four pages showing a continued figure with
+% List-of-Figures entries for each.}
+% \label{ex:one}
+% \end{example}
+%
+% \newpage ^finalhack
+% Often, however, you do not want the continued captions to appear in
+% the List-of-Figures. Therefore the starred forms of the commands are
+% available to suppress the addition of the caption text to the
+% List-of-Figures, as shown in example~\ref{ex:two} where only the
+% first caption appears.
+%
+% \begin{verbatim}
+% \listoffigures
+% ...
+% \begin{figure}[p]
+% \figbox{Figure~\ref{fig:ex2-1}, part 1, page \pageref{fig:ex2-1}}
+% \captcont{Figure two.}
+% \label{fig:ex2-1}
+% \end{figure}
+% \begin{figure}[p]
+% \figbox{Figure~\ref{fig:ex2-1}, part 2, page \pageref{fig:ex2-2}}
+% \captcont*{Figure one. (cont)}
+% \label{fig:ex2-2}
+% \end{figure}
+% \begin{figure}[p]
+% \figbox{Figure~\ref{fig:ex2-1}, part 3, page \pageref{fig:ex2-3}}
+% \caption*{Figure one. (cont)}
+% \label{fig:ex2-3}
+% \end{figure}
+% \end{verbatim}
+%
+% \begin{example}^
+% \setcaptype{figure}^
+% \centering
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \begin{minipage}{2.1in}^
+% \vspace{.1in}^
+% \section*{ List of Figures}
+% \hspace{40pt}\dots
+% \vspace{3pt}^
+% \contentsline{figure}{\numberline{2}^
+% {\ignorespaces Figure two.}}{5}^
+% \hspace{40pt}\dots
+% \vspace{30pt}^
+% \end{minipage}^
+% \end{minipage}}^
+% \quad
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \figbox{Figure~\ref{fig:ex2-1}, part 1, page 5.}^
+% \vspace{-5pt}^
+% \captcont{Figure two.}^
+% \label{fig:ex2-1}^
+% \vspace{10pt}^
+% -5-
+% \vspace{.1in}^
+% \end{minipage}}\\[.1in]
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \figbox{Figure~\ref{fig:ex2-2}, part 2, page 6.}^
+% \vspace{-5pt}^
+% \captcont*{Figure two. (cont)}^
+% \label{fig:ex2-2}^
+% \vspace{10pt}^
+% -6-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \quad
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \figbox{Figure~\ref{fig:ex2-3}, part 3, page 7.}^
+% \vspace{-5pt}^
+% \caption*{Figure two. (cont)}^
+% \label{fig:ex2-3}^
+% \vspace{10pt}^
+% -7-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \setcaptype{example}^
+% \caption{Four pages showing a continued figure with
+% List-of-Figures entries for the first page only.}
+% \label{ex:two}
+% \end{example}
+%
+% \subsection{A Continued Series of Subfigures}
+%
+% Example~\ref{ex:three} shows the interaction of the \Lpack{contcapt} and
+% the \Lpack{subfigure} packages. When the \Lpack{subfigure} package is
+% also loaded, it overrides any options given with this package (it
+% doesn't matter if it is loaded before or after the \Lpack{captcont}
+% package). For this and the following example, we assume that the
+% \Lpack{subfigure} package was loaded with the options
+% [\Lopt{FIGBOTCAP},\Lopt{TABTOPCAP}]; therefore, for continued figures
+% and tables, we {\bf end} the series of continued figures and we {\bf
+% begin} the series of continued tables with with a |\caption| or
+% |\caption*| command. The rest of the figure or tables parts use
+% either the |\captcont| or the |\captcont*| command.
+%
+% \begin{example}^
+% \setcaptype{figure}^
+% \centering
+% \leavevmode
+% \small
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \subfigure[]{\figbox{Subfigure 1A}}^
+% \quad
+% \subfigure[]{\figbox{Subfigure 1B}}\\
+% \subfigure[]{\figbox{Subfigure 1C}}^
+% \quad
+% \subfigure[]{\figbox{Subfigure 1D}}\\
+% \vspace{-5pt}^
+% \caption{This is a simple figure.}^
+% \label{fig:ex3-1}^
+% \vspace{10pt}^
+% -8-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \quad
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \subfigure[]{\figbox{Subfigure 2A}}^
+% \quad
+% \subfigure[]{\figbox{Subfigure 2B}}\\
+% \subfigure[]{\figbox{Subfigure 2C}}^
+% \quad
+% \subfigure[]{\figbox{Subfigure 2D}}\\
+% \vspace{-5pt}^
+% \captcont{This is a continued figure.}
+% \label{fig:ex3-2a}^
+% \vspace{10pt}^
+% -9-
+% \vspace{.1in}^
+% \end{minipage}}\\[.1in]
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \subfigure[]{\figbox{Subfigure 2E}}^
+% \quad
+% \subfigure[]{\figbox{Subfigure 2F}}\\
+% \subfigure[]{\figbox{Subfigure 2G}}^
+% \quad
+% \subfigure[]{\figbox{Subfigure 2H}}^
+% \vspace{-5pt}^
+% \hfil\parbox{2.1in}{^
+% \captcont*{This is a continued figure (cont.)}
+% }\\
+% \label{fig:ex3-2b}^
+% \vspace{10pt}^
+% -10-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \quad
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \vspace{.1in}^
+% \subfigure[]{\figbox{Subfigure 2I}}^
+% \quad
+% \subfigure[]{\figbox{Subfigure 2J}}\\
+% \subfigure[]{\figbox{Subfigure 2K}}^
+% \quad
+% \subfigure[]{\figbox{Subfigure 2L}}
+% \vspace{-5pt}^
+% \hfil\parbox{2.1in}{^
+% \caption*{This is a continued figure (cont.)}
+% }\\
+% \label{fig:ex3-2c}
+% \vspace{10pt}^
+% -11-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \setcaptype{example}^
+% \caption{Four pages showing a regular figure with four subfigures
+% and a continued figure composed of twelve subfigures.}
+% \label{ex:three}
+% \end{example}
+%
+% \begin{verbatim}
+% \begin{figure}[p]%
+% \begin{center}%
+% \subfigure[]{\figbox{Subfigure 1A}}%
+% \quad
+% \subfigure[]{\figbox{Subfigure 1B}}\\
+% \subfigure[]{\figbox{Subfigure 1C}}%
+% \quad
+% \subfigure[]{\figbox{Subfigure 1D}}%
+% \end{center}%
+% \caption{This is a simple figure.}
+% \label{fig:ex3-1}
+% \end{figure}
+% \end{verbatim}
+%
+% \newpage ^finalhack
+% \enlargethispage{12pt} ^finalhack
+%
+% \begin{verbatim}
+% \begin{figure}[p]%
+% \begin{center}%
+% \subfigure[]{\figbox{Subfigure 2A}}%
+% \quad
+% \subfigure[]{\figbox{Subfigure 2B}}\\
+% \subfigure[]{\figbox{Subfigure 2C}}%
+% \quad
+% \subfigure[]{\figbox{Subfigure 2D}}%
+% \end{center}%
+% \captcont{This is a continued figure.}
+% \label{fig:ex3-2a}
+% \end{figure}
+% \end{verbatim}
+%
+% \begin{verbatim}
+% \begin{figure}[p]%
+% \begin{center}%
+% \subfigure[]{\figbox{Subfigure 2E}}%
+% \quad
+% \subfigure[]{\figbox{Subfigure 2F}}\\
+% \subfigure[]{\figbox{Subfigure 2G}}%
+% \quad
+% \subfigure[]{\figbox{Subfigure 2H}}%
+% \end{center}%
+% \captcont*{This is a continued figure (cont.)}
+% \label{fig:ex3-2b}
+% \end{figure}
+%
+% \begin{figure}[p]%
+% \begin{center}%
+% \subfigure[]{\figbox{Subfigure 2I}}%
+% \quad
+% \subfigure[]{\figbox{Subfigure 2J}}\\
+% \subfigure[]{\figbox{Subfigure 2K}}%
+% \quad
+% \subfigure[]{\figbox{Subfigure 2L}}%
+% \end{center}%
+% \caption*{This is a continued figure (cont.)}
+% \label{fig:ex3-2c}
+% \end{figure}
+% \end{verbatim}
+%
+% Here only the first two captions (for figures~\ref{fig:ex3-1} and
+% \ref{fig:ex3-2a}) appear in the List-of-Tables. The correct figure
+% and page numbers are generated by any |\label| commands for later use
+% with |\ref| or |\pageref|. When the \Lpack{subfigure} package is
+% loaded this goes for the \cmd{\subref} command also.
+%
+% \subsection{A Continued Series of Subtables}
+%
+% Example~\ref{ex:four} also shows the interaction of the \Lpack{contcapt}
+% and \Lpack{subfigure} packages. Here the \Lpack{table} environment is
+% used along with the \Lopt{TABTOPCAP} option which insures that the
+% numbering for the subtables is correct when the |\caption| preceeds
+% them rather than following them. As mentioned above, we use the
+% |\caption| or |\caption*| command for the first \Lenv{float} environment
+% and the |\captcont| or |\captcont*| command for the continued
+% \Lenv{float}'s.
+%
+% \begin{example}^
+% \setcaptype{table}^
+% \centering
+% \leavevmode
+% \small
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \caption{This is a simple table.}^
+% \label{tab:One}^
+% \vspace{4pt}^
+% \subtable[\label{tab:OneA}]{\figbox{Subtable 1A}}^
+% \quad
+% \subtable[\label{tab:OneB}]{\figbox{Subtable 1B}}\\
+% \subtable[\label{tab:OneC}]{\figbox{Subtable 1C}}^
+% \quad
+% \subtable[\label{tab:OneD}]{\figbox{Subtable 1D}}\par
+% \vspace{10pt}^
+% -12-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \quad
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \caption{This is a continued table.}^
+% \vspace{4pt}^
+% \subtable[]{\figbox{Subtable 2A}}^
+% \quad
+% \subtable[]{\figbox{Subtable 2B}}\\
+% \subtable[]{\figbox{Subtable 2C}}^
+% \quad
+% \subtable[]{\figbox{Subtable 2D}}\par
+% \vspace{10pt}^
+% -13-
+% \vspace{.1in}^
+% \end{minipage}}\\[.1in]
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \hfil\parbox{2.1in}{^
+% \captcont*{This is a continued table (cont.)}^
+% }\\
+% \vspace{4pt}^
+% \subtable[]{\figbox{Subtable 2E}}^
+% \quad
+% \subtable[]{\figbox{Subtable 2F}}\\
+% \subtable[]{\figbox{Subtable 2G}}^
+% \quad
+% \subtable[]{\figbox{Subtable 2H}}\par
+% \vspace{10pt}^
+% -14-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \quad
+% \fbox{^
+% \begin{minipage}{2.3in}^
+% \centering
+% \hfil\parbox{2.1in}{^
+% \captcont*{This is a continued table (cont.)}^
+% }\\
+% \vspace{4pt}^
+% \subtable[]{\figbox{Subtable 2I}}^
+% \quad
+% \subtable[]{\figbox{Subtable 2J}}\\
+% \subtable[]{\figbox{Subtable 2K}}^
+% \quad
+% \subtable[]{\figbox{Subtable 2L}}\par
+% \vspace{10pt}^
+% -15-
+% \vspace{.1in}^
+% \end{minipage}}^
+% \setcaptype{example}^
+% \caption{Four pages showing a regular table with four subtables
+% and a continued table composed of twelve subtables.}
+% \label{ex:four}
+% \end{example}
+%
+% \newpage ^finalhack
+% \enlargethispage{12pt} ^finalhack
+%
+% \begin{verbatim}
+% \begin{table}[p]%
+% \caption{This is a simple table.}%
+% \label{tab:One}%
+% \begin{center}%
+% \subtable[\label{tab:OneA}]{\figbox{Subtable 1A}}%
+% \quad
+% \subtable[\label{tab:OneB}]{\figbox{Subtable 1B}}\\
+% \subtable[\label{tab:OneC}]{\figbox{Subtable 1C}}%
+% \quad
+% \subtable[\label{tab:OneD}]{\figbox{Subtable 1D}}%
+% \end{center}%
+% \end{table}
+%
+% \begin{table}[p]%
+% \caption{This is a continued table.}%
+% \label{tab:Two}%
+% \begin{center}%
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2A}}%
+% \quad
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2B}}\\
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2C}}%
+% \quad
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2D}}%
+% \end{center}%
+% \end{table}
+%
+% \begin{table}[p]%
+% \captcont*{This is a continued table (cont.)}%
+% \begin{center}%
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2E}}%
+% \quad
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2F}}\\
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2G}}%
+% \quad
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2H}}%
+% \end{center}%
+% \end{table}
+%
+% \begin{table}[p]%
+% \captcont*{This is a continued table (cont.)}%
+% \begin{center}%
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2I}}%
+% \quad
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2J}}\\
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2K}}%
+% \quad
+% \subtable[\label{tab:Two}]{\figbox{Subtable 2L}}%
+% \end{center}%
+% \end{table}
+% \end{verbatim}
+%
+% \clearpage ^finalhack
+%
+% \StopEventually{^
+% \newpage ^finalhack
+% \section*{Acknowledgement}
+% I wish to thank William 'bil' L. Kleb (w.l.kleb@larc.nasa.gov) for
+% his willingness to proofread this document and his many valuable
+% suggestions as to its improvement.
+%
+% \begin{thebibliography}{6}^
+% \bibitem{Coch02}^
+% Steven Douglas Cochran,
+% \emph{The \Lpack{subfigure} Package},
+% 2002/02/14/.
+% (Available from CTAN as file \texttt{subfigure.dtx})
+% \bibitem{Carl00}^
+% David Carlisle,
+% \emph{The \Lpack{longtable} package},
+% 2000/10/22.
+% (Available from CTAN as file \texttt{longtable.dtx})
+% \bibitem{Braa-Jurr99}^
+% Johannes Braams and Theo Jurriens,
+% \emph{The \Lpack{supertabular} environment},
+% 1999/08/07.
+% (Available from CTAN as file \texttt{supertabular.dtx})
+% \end{thebibliography}}
+%
+% \section{The Code}
+% \iffalse
+%<*package>
+% \fi
+% \subsection{Identification}
+%
+% We start off by checking that we are loading into \LaTeXe\ and
+% announcing the name and version of this package.
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{captcont}[2002/02/14 v2.0 captcont package]
+% \end{macrocode}
+%
+% \subsection{Declaration and Execution of the Options}
+%
+% \begin{macro}{\iffiguretopcap}
+% \begin{macro}{\iftabletopcap}
+%
+% First we check if the flags \Lif{figuretopcap} and \Lif{tabletopcap}
+% exist; if they are not present, than they are created. These are used
+% to remember the options and are also the same internal |\if|'s used by
+% the \Lpack{subfigure} package for this purpose and so we check if the
+% \Lpack{subfigure} package has already been loaded (by the existance of
+% the |\@subfloat| command and if so, then we entirely skip loading the
+% options.
+%
+% However if the \Lpack{subfigure} package has not been loaded, we check
+% for the options below and set the two |\if|'s accordingly. By default
+% \Lif{figuretopcap} is set false and \Lif{tabletopcap} is set true. If
+% the \Lpack{subfigure} package is loaded later, then it will override
+% any settings made here!
+%
+% \begin{macrocode}
+\@ifundefined{figuretopcaptrue}{\newif\iffiguretopcap}{}
+\@ifundefined{tabletopcaptrue}{\newif\iftabletopcap}{}
+\@ifundefined{@subfloat}{%
+ \DeclareOption{figbotcap}{\figuretopcapfalse}
+ \DeclareOption{figtopcap}{\figuretopcaptrue}
+ \DeclareOption{tabbotcap}{\tabletopcapfalse}
+ \DeclareOption{tabtopcap}{\tabletopcaptrue}
+ \ExecuteOptions{figbotcap,tabtopcap}
+ \ProcessOptions}{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{The Updated \cmd{\caption} Commands}
+%
+% \begin{macro}{\caption}
+% \begin{macro}{\caption*}
+% \begin{macro}{\cc@caption}
+%
+% First, we save the current |\caption| command as |\cc@caption|. Then
+% we redefine |\caption| to check for a trailing `*' so that we can
+% choose the regular caption (|\cc@caption|) for a special caption
+% (|\cc@scaption|) that does not add a line to the ``List-of'' pages.
+%
+% \begin{macrocode}
+\let\cc@caption=\caption
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewcommand{\caption}{%
+ \@ifstar\cc@scaption\cc@caption}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\cc@scaption}
+% \begin{macro}{\cc@@scaption}
+%
+% Next, we define the |\cc@scaption| and |\cc@@scaption| commands to do
+% everything that the regular |\caption| command would have done, except
+% for adding a line to the ``List-of'' pages.
+%
+% If |\@captype| is undefined, then write out an error and `eat' ({\it
+% i.e.\/}, throw away) the argument(s). Otherwise, add one to the
+% \Lcount{figure} or \Lcount{table} counter and define the
+% |\@currentreference|, then call |\cc@@scaption| with the expanded
+% arguments.
+%
+% Note that we allow an optional argument for the |\cc@@scaption| even
+% though this will never be used. The reason for this is to allow the
+% shift from |\caption| to |\caption*| or back, when deciding if
+% something should or should not be shown in the ``List-of''
+% pages, to be done with just the addition or removal of the `*'.
+%
+% \begin{macrocode}
+\newcommand{\cc@scaption}{%
+ \ifx\@captype\@undefined
+ \@latex@error{\noexpand\caption* outside float}\@ehd
+ \expandafter\@gobble
+ \else
+ \refstepcounter\@captype
+ \expandafter\@firstofone
+ \fi
+ {\@dblarg{\cc@@scaption\@captype}}}
+% \end{macrocode}
+%
+% We add a |\par| to end the current horizontal list, then we normalize
+% the paragraph setting parameters, however we call |\@setminipage| if
+% the |\if@minipage| is still true to enable |\everypar| to make it
+% false later. (This is the case if the |\caption| is not the first
+% entry in the \Lenv{float}) environment.
+%
+% \begin{macrocode}
+\long\def\cc@@scaption#1[#2]#3{%
+ \par
+ \begingroup
+ \@parboxrestore
+ \if@minipage
+ \@setminipage
+ \fi
+% \end{macrocode}
+%
+% Next |\normalsize| is restored (we just assume something else was set)
+% and we typeset the caption followed by another |\par|. Unlike the
+% regular |\caption| command, we skipped adding a line to the
+% List-of-Figures or List-of-Tables.
+%
+% \begin{macrocode}
+ \normalsize
+ \@makecaption{\@nameuse{fnum@#1}}{\ignorespaces #3}\par
+ \endgroup}
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Work with the \cmd{\label}/\cmd{\ref} Mechanism}
+% \begin{macro}{\ccset@currentlabel}
+%
+% We define this command to conditionally increment the \Lcount{figure} or
+% \Lcount{table} counter according to the respective flag telling us if
+% the |\caption| is normally placed before or after the figure or table.
+% Then globally reset the \@currentlabel for use with the |\label|
+% command.
+%
+% Note that this leaves the counter with a possibly incorrect setting,
+% so this should be used within a group to limit it's scope.
+%
+% \begin{macrocode}
+\newcommand{\ccset@currentlabel}[1]{%
+ \@nameuse{if\@captype topcap}\else
+ \advance\@nameuse{c@\@captype}\@ne
+ \fi
+ \global\edef\@currentlabel{%
+ \@nameuse{p@#1}\@nameuse{the#1}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{The New Caption Continuation Commands}
+% \enlargethispage{-12pt} ^ finalhack
+%
+% \begin{macro}{\captcont}
+% \begin{macro}{\captcont*}
+%
+% The |\captcont| and |\captcont*| commands are just like the
+% corresponding |\caption| and |\caption*| command, except that they do
+% not cause the \Lcount{figure} or \Lcount{table} counters to be
+% incremented.
+%
+% The first step is to check for a following `*' to decide if an entry
+% on the ``List-of'' page is to be made. The `*' version does
+% not add an entry.
+%
+% \begin{macrocode}
+\newcommand{\captcont}{%
+ \@ifstar\cc@scaptcont\cc@captcont}
+% \end{macrocode}
+%
+% \begin{macro}{\cc@captcont}
+% \begin{macro}{\cc@scaptcont}
+%
+% Next, we define the |\cc@captcont| and |\cc@scaptcont| commands to check
+% to insure that we are inside a \Lenv{float} environemnt. If not, then
+% we report an error and exit. Otherwise we call the respective
+% |\cc@@captcont| or |\cc@@scaptcont| command to finish the processing,
+% without changing the current coutner value or updating the
+% |\@currentreference| value. Those will be done locally, as necessary,
+% in the following commands.
+%
+% Note that we have an optional argument for the |\cc@@scaptcont| even
+% though this will never be used. The reason for this, as above, is to
+% allow the shift from |\captcont| to |\captcont*| or back to be done
+% with just the addition or removal of the `*' when deciding if
+% something should or should not be shown in the ``List-of''
+% pages.
+%
+% \begin{macrocode}
+\newcommand{\cc@captcont}{%
+ \ifx\@captype\@undefined
+ \@latex@error{\noexpand\captcont outside float}\@ehd
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi
+ {\@dblarg{\cc@@captcont\@captype}}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macrocode}
+\newcommand{\cc@scaptcont}{%
+ \ifx\@captype\@undefined
+ \@latex@error{\noexpand\captcont* outside float}\@ehd
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi
+ {\@dblarg{\cc@@scaptcont\@captype}}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\cc@@captcont}
+% \begin{macro}{\cc@@scaptcont}
+%
+% These two commands do the real work and finish up the ``captcont''
+% processing. They both insert a |\par| to finish off the prior
+% horizontal list (if any) and then {\bf locally} update the
+% \Lcount{figure} or \Lcount{table} counter (if necessary) and {\bf
+% globally} set the |\@currentlabel| value using |\ccset@currentlabel|,
+% defined above.
+%
+% The difference between them is that |\cc@@captcont| then writes to the
+% ``List-of'' page, while |\cc@@scaptcont| does not. They both
+% then finish just like the |\cc@@scaption| command, by resetting the
+% paragraph and font parameters and then calling |\@makecaption| to
+% typeset the caption followed by a |\par|.
+%
+% \begin{macrocode}
+\long\def\cc@@captcont#1[#2]#3{%
+ \par
+ \begingroup
+ \ccset@currentlabel{#1}%
+ \addcontentsline{\@nameuse{ext@#1}}{#1}%
+ {\protect\numberline{\@nameuse{the#1}}{\ignorespaces #2}}%
+ \@parboxrestore
+ \if@minipage
+ \@setminipage
+ \fi
+ \normalsize
+ \@makecaption{\@nameuse{fnum@#1}}{\ignorespaces #3}\par
+ \endgroup}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macrocode}
+\long\def\cc@@scaptcont#1[#2]#3{%
+ \par
+ \begingroup
+ \ccset@currentlabel{#1}%
+ \@parboxrestore
+ \if@minipage
+ \@setminipage
+ \fi
+ \normalsize
+ \@makecaption{\@nameuse{fnum@#1}}{\ignorespaces #3}\par
+ \endgroup}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+%