diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:58:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:58:08 +0000 |
commit | 224bc14829bc59b7a4b09255ce1e1bcaf9419688 (patch) | |
tree | b81b173a45bcb60fbef6cf215e9ad057c348da97 /Master/texmf-dist/source | |
parent | 7c8cec7ea4c5d80937a8639b27cdffac9213bc81 (diff) |
trunk/Master/texmf-dist/source/latex/subfloat
git-svn-id: svn://tug.org/texlive/trunk@535 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/subfloat/Makefile | 80 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/subfloat/subfloat.dtx | 899 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/subfloat/subfloat.ins | 21 |
3 files changed, 1000 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/subfloat/Makefile b/Master/texmf-dist/source/latex/subfloat/Makefile new file mode 100644 index 00000000000..33d64913103 --- /dev/null +++ b/Master/texmf-dist/source/latex/subfloat/Makefile @@ -0,0 +1,80 @@ +SUBFLOATDIR=subfloat +INSTALLDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/tex/latex/subfloat +DOCDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/doc/latex/subfloat +VERSION=`grep '^\\\\def\\\\fileversion' subfloat.dtx | sed 's/^\\\\def\\\\fileversion{\\(.*\\)\\.\\(.*\\)}/\\1_\\2/'` + +.SUFFIXES: .sty .ins .dtx .dvi .ps + + +.ins.sty: + latex $< + +.dtx.dvi: + latex $< + latex $< + makeindex -s gind.ist $(*D)/$(*F) + makeindex -s gglo.ist -o $(*D)/$(*F).gls $(*D)/$(*F).glo + latex $< + +.dvi.ps: + dvips -o $(*D)/$(*F).ps $(*D)/$(*F) + + +all: subfloat.sty subfloat.dvi ausgabe + +subfloat: subfloat.sty + +clean: + @-rm -f subfloat.{glo,gls,idx,ilg,ind,aux,log,toc} + @-rm -f *~ + +distclean: clean + @-rm -f subfloat.{sty,dvi,ps} + +tar: all clean + echo Lege subfloat.tar.gz an + -rm -f subfloat-*.tar.gz + tar czCf .. subfloat-$(VERSION).tar.gz \ + $(SUBFLOATDIR)/README $(SUBFLOATDIR)/Makefile \ + $(SUBFLOATDIR)/subfloat.{dtx,ins,dvi} \ + $(SUBFLOATDIR)/install.sh \ + $(SUBFLOATDIR)/subfloat.xml $(SUBFLOATDIR)/ChangeLog + +zip: all clean + -@rm -f subfloat-$(VERSION).zip + mkdirhier tex/latex/subfloat + mkdirhier doc/latex/subfloat + mkdirhier source/latex/subfloat + mv subfloat.sty tex/latex/subfloat + cp subfloat.{dtx,ins,xml} Makefile source/latex/subfloat + cp ChangeLog README subfloat.dvi doc/latex/subfloat + zip -r subfloat-$(VERSION).zip tex doc source + rm -r tex/ doc/ source/ + +install: all + if [ ! -d $(INSTALLDIR) ]; then mkdirhier $(INSTALLDIR); fi + if [ ! -d $(DOCDIR) ]; then mkdirhier $(DOCDIR); fi + install -m622 subfloat.sty $(INSTALLDIR) + install -m622 subfloat.dvi $(DOCDIR) + texhash + +ausgabe: + @echo "Please copy subfloat.sty to a directory" + @echo "in the LaTeX search path" + +tpm: all + mkdirhier texmf-local/tex/latex/subfloat + mkdirhier texmf-local/doc/latex/subfloat + mkdirhier texmf-local/source/latex/subfloat + cp subfloat.dtx subfloat.ins README Makefile texmf-local/source/latex/subfloat + cp README subfloat.dvi texmf-local/doc/latex/subfloat + cp subfloat.sty texmf-local/tex/latex/subfloat + @-rm -f subfloat.zip + zip -r subfloat texmf-local + rm -rf texmf-local + + + +subfloat.sty: subfloat.ins subfloat.dtx + + diff --git a/Master/texmf-dist/source/latex/subfloat/subfloat.dtx b/Master/texmf-dist/source/latex/subfloat/subfloat.dtx new file mode 100644 index 00000000000..37d6c9af67a --- /dev/null +++ b/Master/texmf-dist/source/latex/subfloat/subfloat.dtx @@ -0,0 +1,899 @@ +% \iffalse meta comment +% File: subfloat.dtx Copyright (C) 1999 Harald Harders +% \fi +% +% \iffalse +% +%<*package> +\def\packagename{subfloat} +\def\fileversion{2.14} +\def\filedate{2003/08/21} +\def\docdate{2003/08/21} +%</package> +%<*driver> +\documentclass{ltxdoc} +\IfFileExists{subfloat.sty}{\usepackage{subfloat} + \let\subfloatSTYfound\active}{\GenericWarning{subfloat.dtx}{Package + file subfloat.sty not found (Documentation will be messed up!^^J^^A + Generate subfloat.sty by (La)TeXing subfloat.ins, process + subfloat.dtx again)^^J}\stop} +\usepackage{longtable} +\title{The \texttt{subfloat} package\thanks{This file has version + \fileversion\ last revised \filedate, documentation dated \docdate.}} +\author{Harald Harders\\\texttt{h.harders@tu-bs.de}} +\date{File Date \filedate, Printed \today} +\newlength{\tempdima}% +\makeatletter +\renewenvironment{table}[1][]{% + \@float{table}[#1]% + \centering% + \setlength{\tempdima}{\abovecaptionskip}% + \setlength{\abovecaptionskip}{\belowcaptionskip}% + \setlength{\belowcaptionskip}{\tempdima}% + }{% +\end@float +} +\makeatother +\EnableCrossrefs +\CodelineIndex +\DoNotIndex{\def,\edef,\let,\newcommand,\newenvironment,\newcounter} +\DoNotIndex{\setcounter,\space,\endinput,\@auxout,\@bsphack,\@esphack} +\DoNotIndex{\@firstoftwo,\if,\else,\fi,\ifnum,\fi,\ifx,\fi,\MessageBreak} +\DoNotIndex{\relax,\string,\thepage,\@ifpackageloaded,\expandafter} +\DoNotIndex{\message,\newif,\protect,\protected@write} +\CodelineNumbered +\RecordChanges +\CheckSum{280} +\setcounter{topnumber}{5} +\setcounter{bottomnumber}{1} +\setcounter{totalnumber}{6} +\begin{document} + \DocInput{subfloat.dtx} +\end{document} +%</driver> +% \fi +% +% \changes{1.01}{1999/06/08}{Documentation improved} +% \changes{1.02}{1999/06/08}{Error in change history corrected} +% \changes{1.03}{1999/10/08}{email address changed} +% \changes{1.04}{2002/08/18}{Suggestions made by Frank Mittelbach +% implemented: Changes in implementation, macros to change label format} +% \changes{2.00}{2002/09/06}{Total new implementation of the package +% with help of Frank Mittelbach} +% \changes{2.12}{2002/10/30}{Correct a typo (thanks to Michael M\"uller)}% +% \maketitle +% \begin{abstract} +% \noindent This package enables subnumbering of floats (figures and +% tables) similar to the subequations environment of the amsmath +% package. It does not the same as the subfigure package which +% generates subfigures within one normal figure. +% \end{abstract} +% +% \tableofcontents +% +% \section*{Copyright} +% Copyright 1999, 2002 Harald Harders. +% +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or any later version. +% +% \section{Introduction} +% Sometimes two or more floats (figures or tables) belong together in a +% way you should not use different caption numbers for them. +% With a subnumbering like that of the amsmath package for equations +% it is possible to point out the connection of the floats. +% This package provides two environments and four macros to achive +% subnumbering of floats. +% It is possible to change the caption labels. +% +% In case of problems or bugs please send an email to my address +% printed on the title page. +% +% \section{The user interface} +% +% To use this package place +% \begin{verbatim} +% \usepackage{subfloat} +% \end{verbatim} +% in the preamble of your document. +% No options are necessary. +% +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% If you want to be able to count the number of subfloats with the +% same main number you have to add the package option |countmax|: +% \begin{verbatim} +% \usepackage[countmax]{subfloat} +% \end{verbatim} +% For more description to counting see section~\ref{sec:count}. +% +% \subsection{Environments} +% \DescribeEnv{subfigures} +% Put +% \begin{verbatim} +% \begin{subfigures} +% \end{subfigures} +% \end{verbatim} +% around the figures which belong together. +% By default, they get the same figure number with an increasing +% lowercase character added. +% \DescribeEnv{subtables} +% In the same way you can put +% \begin{verbatim} +% \begin{subtables} +% \end{subtables} +% \end{verbatim} +% around tables. The macros for the environments have to be placed outside +% the picture or table environments. +% +% \subsection{Macros} +% \DescribeMacro{\subfiguresbegin} +% \DescribeMacro{\subfiguresend} +% Instead using of the environments it is possible to use adequate macros: +% \begin{verbatim} +% \subfiguresbegin +% \subfiguresend +% \end{verbatim} +% \DescribeMacro{\subtablesbegin} +% \DescribeMacro{\subtablesend} +% or +% \begin{verbatim} +% \subtablesbegin +% \subtablesend +% \end{verbatim} +% +% Put these macros in place of the environment macros. The macros are +% necessary to be able to nest subnumbered figures and tables. +% +% If you put labels inside the figure and table environments the subfloat +% label numberes are referenced. +% If you want a reference to the common figure or table number place a +% label right after the |\begin{subfigures}|, |\subfiguresbegin|, +% |\begin{subtables}|, or |\subtablesbegin| command. +% +% \section{Examples} +% \subsection{Using the environments} +% +% \DescribeEnv{subfigures} +% The code +% \begin{verbatim} +% \begin{subfigures} +% \label{fig:fig1a2} +% % +% \begin{figure}\centering +% \fbox{fig. 1} +% \caption{This is the first figure}\label{fig:fig1} +% \end{figure} +% % +% \begin{figure}\centering +% \fbox{fig. 2} +% \caption{This is the second figure}\label{fig:fig2} +% \end{figure} +% % +% \end{subfigures} +% \end{verbatim} +% produces the output of the figures~\ref{fig:fig1a2} +% (figure~\ref{fig:fig1} and figure~\ref{fig:fig2}). +% References are made as usual with +% e.\,g. |\ref{fig:fig1}|. +% % +% \begin{subfigures} +% \label{fig:fig1a2} +% % +% \begin{figure}\centering +% \fbox{fig. 1} +% \caption{This is the first figure}\label{fig:fig1} +% \end{figure} +% % +% \begin{figure}\centering +% \fbox{fig. 2} +% \caption{This is the second figure}\label{fig:fig2} +% \end{figure} +% % +% \end{subfigures} +% +% \DescribeEnv{subtables} +% The output of the tables~\ref{tab:tab1} and \ref{tab:tab1} is +% generated similarly: +% \begin{verbatim} +% \begin{subtables} +% % +% \begin{table}\centering +% \caption{This is the first table}\label{tab:tab1} +% \begin{tabular}{l} \hline +% table 1\\ \hline +% \end{tabular} +% \end{table} +% % +% \begin{table}\centering +% \caption{This is the second table}\label{tab:tab2} +% \begin{tabular}{l} \hline +% table 2\\ \hline +% \end{tabular} +% \end{table} +% % +% \end{subtables} +% \end{verbatim} +% % +% \begin{subtables} +% % +% \begin{table}\centering +% \caption{This is the first table}\label{tab:tab1} +% \begin{tabular}{l} \hline +% table 1\\ \hline +% \end{tabular} +% \end{table} +% % +% \begin{table}\centering +% \caption{This is the second table}\label{tab:tab2} +% \begin{tabular}{l} \hline +% table 2\\ \hline +% \end{tabular} +% \end{table} +% % +% \end{subtables} +% +% The environment names |subfigures| and |subtables| were +% chosen to be similar to the |subequations| environment of the +% amsmath package. But what is to do when both environments have to be +% nested? This case is handled in the next section. +% +% \subsection{Using the macros} +% \DescribeMacro{\subfiguresbegin} +% \DescribeMacro{\subfiguresend} +% \DescribeMacro{\subtablesbegin} +% \DescribeMacro{\subtablesend} +% The usage of the macros is shown in the example below: +% \begin{verbatim} +% \subfiguresbegin +% \begin{figure} +% [...] +% \begin{table} +% [...] +% \subtablesbegin +% \begin{table} +% [...] +% \begin{figure} +% [...] +% \subfiguresend +% \begin{figure} +% [...] +% \begin{table} +% [...] +% \subtablesend +% \end{verbatim} +% % +% \subfiguresbegin +% % +% \begin{figure}\centering +% \fbox{fig. 3} +% \caption{This is the third figure}\label{fig:fig3} +% \end{figure} +% % +% \begin{table}\centering +% \caption{This is the third table}\label{tab:tab3} +% \begin{tabular}{l} \hline +% table 3\\ \hline +% \end{tabular} +% \end{table} +% +% \subtablesbegin +% % +% \begin{table}\centering +% \caption{This is the forth table}\label{tab:tab4} +% \begin{tabular}{l} \hline +% table 4\\ \hline +% \end{tabular} +% \end{table} +% % +% \begin{figure}\centering +% \fbox{fig. 4} +% \caption{This is the forth figure}\label{fig:fig4} +% \end{figure} +% % +% \subfiguresend +% % +% \begin{figure}\centering +% \fbox{fig. 5} +% \caption{This is the fifth figure}\label{fig:fig5} +% \end{figure} +% % +% \begin{table}\centering +% \caption{This is the fifth table}\label{tab:tab5} +% \begin{tabular}{l} \hline +% table 5\\ \hline +% \end{tabular} +% \end{table} +% % +% \subtablesend +% +% With these macros it is possible to realise nested subnumbers of +% figures and tables. Even nested subnumbers of figures or tables and +% equations made with the subequations environment of the amsmath +% package are possible. +% +% \section{Change the label format} +% +% The standard label format is the global float number followed by a +% lowercase alphanumerical subfloat number. +% This can be changed by redefining the commands |\thesubfloatfigure| +% and |\thesubfloattable|. +% Both define the whole float number including the main number. +% The main number is referred by |\themainfigure| resp.\ +% |\themaintable|. +% The counters of the subfloats are |subfloatfigure| resp.\ +% |subfloattable|. +% The default values are: +% \begin{verbatim} +% \newcommand*\thesubfloatfigure{\themainfigure\alph{subfloatfigure}} +% \newcommand*\thesubfloattable{\themaintable\alph{subfloattable}} +% \end{verbatim} +% If you want to print the subnumber of figures in brackets, you may +% define this: +% \begin{verbatim} +% \renewcommand*\thesubfloatfigure{\themainfigure(\alph{subfloatfigure})} +% \end{verbatim} +% If you want a sublabel in the format 1--1, 1--2, \dots\ you can +% get it by the following command sequence: +% \begin{verbatim} +% \renewcommand*\thesubfloatfigure{\themainfigure--\arabic{subfloatfigure}} +% \end{verbatim} +% +% Since it is done the same for tables this it not described again. +% +% \section{Count subfloats}% +% \label{sec:count}% +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% +% If the package option |countmax| is used the package counts the +% number of all subfloats with the same main float number. This number +% is stored in the counters |subfloatfiguremax| resp.\ +% |subfloattablemax| and can be used for changeing the labels, e.g.: +% \begin{verbatim} +% \renewcommand*\thesubfloatfigure{% +% \themainfigure(\arabic{subfloatfigure}/\arabic{subfloatfiguremax})} +% \end{verbatim} +% \changes{2.13}{2002/12/16}{Remove generation of error message +% because of incompatibility with tabularx}% +% If the package option is not set but |subfloatfiguremax| used an +% error messages is produced by \LaTeX. Normally there should be an +% error message of the following types: +% \begin{verbatim} +% ! Missing number, treated as zero. +% <to be read again> +% \c@subfloatfiguremax +% l.64 } +% +% ? +% \end{verbatim} +% or +% \begin{verbatim} +% ! Undefined control sequence. +% <write> ...abel{ressim2}{{I(b/\c@subfloattablemax +% )}{\thepage }{Estimation o... +% l.105 \end{document} +% +% ? +% \end{verbatim} +% There may be |\c@subfloatfiguremax| or |\c@subfloattablemax|. +% In a former version, |subfloat| has generated a nice error +% message. But unfortunately this code has been incompatible to +% |tabularx|. +% +% In order to get the numbers right \LaTeX\ has to be run twice or +% three times.\footnote{Internally, this is implemented using labels. +% After the first \LaTeX\ run, the counter is zero end thus not +% displayed for alpha or roman numbering.} +% +% \section{Command reference} +% This sections gives a short list of the main commands and environments +% of this package. +% +% \begin{longtable}[l]{@{}p{0.3\linewidth}@{}p{0.7\linewidth}@{}} +% \hline +% \textbf{environment}&\textbf{description}\\ +% \hline +% \texttt{subfigures}&Increases the figure number by one and starts +% subnumbering by appending a, b, c, \dots to the fixed figure number\\ +% \texttt{subtables}&Increases the table number by one and starts +% subnumbering by appending a, b, c, \dots to the fixed table number\\ +% \hline +% \end{longtable} +% \begin{longtable}[l]{@{}p{0.3\linewidth}@{}p{0.7\linewidth}@{}} +% \hline +% \textbf{macro}&\textbf{description}\\ +% \hline +% \texttt{\bslash subfiguresbegin}&Increases the figure number by one +% and starts subnumbering by appending a, b, c, \dots to the fixed figure +% number\\ +% \texttt{\bslash subfiguresend}&Returns to ordinary figure numbering\\ +% \texttt{\bslash subtablesbegin}&Increases the table number by one and starts +% subnumbering by appending a, b, c, \dots to the fixed table number\\ +% \texttt{\bslash subtablesend}&Returns to ordinary table numbering\\ +% \hline +% \texttt{\bslash thesubfloatfigure}& Defines the output format of the +% main and subfigure number.\\ +% \texttt{\bslash themainfigure}& Number of the main figure\\ +% \texttt{\bslash thesubfloattable}& Defines the output format of the +% main and subtable number.\\ +% \texttt{\bslash themaintable}& Number of the main table\\ +% \hline +% \end{longtable} +% +% +% \section*{To do} +% +% At the moment, I don't know anything. +% +% \section*{Acknowledgements} +% +% Thanks to Frank Mittelbach who had the idea to make the label +% changeable. Furthermore, he helped to develop a user friendly +% interface to do this. +% +% \StopEventually{\PrintChanges \PrintIndex} +% +% \section{The implementation} +% \iffalse +%<*package> +% \fi +% Heading of the package: +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{subfloat} + [\filedate\space version \fileversion] +\message{Package `subfloat', Version \fileversion\space of \filedate.} +% \end{macrocode} +% +% \subsection{Options}% +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% +% \begin{macrocode} +\newif\ifsubfloat@countmax +% \end{macrocode} +% Option to count the floats. +% \changes{2.13}{2002/12/16}{Remove generation of error message +% because of incompatibility with tabularx}% +% \changes{2.14}{2003/08/21}{Moved warning outside options}% +% \begin{macrocode} +\DeclareOption{countmax}{\subfloat@countmaxtrue} +\DeclareOption{nocountmax}{\subfloat@countmaxfalse}% +% \end{macrocode} +% \begin{macrocode} +\ExecuteOptions{nocountmax} +% \end{macrocode} +% \begin{macrocode} +\ProcessOptions\relax +% \end{macrocode} +% +% \subsection{Figures} +% +% \begin{macro}{\thesubfloatfigure}% +% Defining the output format of captions: +% \begin{macrocode} +\newcommand*\thesubfloatfigure{\themainfigure\alph{subfloatfigure}} +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{subfigures}% +% Defining the environment |subfigures|: +% \begin{macrocode} +\newenvironment{subfigures}{% +% \end{macrocode} +% Call start command for subnumbering: +% \begin{macrocode} + \subfiguresbegin +}{% +% \end{macrocode} +% Call end command for subnumbering: +% \begin{macrocode} + \subfiguresend + \global\@ignoretrue +} +% \end{macrocode} +% \end{environment} +% +% Make a copy of |\c@figure| in |\c@subfloatfigure| in order to be +% able to use the counter |subfloatfigure| in the defintion of +% |\thesubfloatfigure|: +% \begin{macrocode} +\let\c@subfloatfigure=\c@figure +% \end{macrocode} +% Define the boolean |\ifinsubfloatfigures| to determine if we are +% inside a subfloatfigures area: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloatfigure areas}% +% \begin{macrocode} +\newif\ifinsubfloatfigures +% \end{macrocode} +% \begin{macro}{\thefiguresbegin}% +% Defining the macro |\thefiguresbegin|: +% \begin{macrocode} +\newcommand{\subfiguresbegin}{% +% \end{macrocode} +% Check if |\subfiguresbegin| may be called here: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloatfigure areas}% +% \begin{macrocode} +\ifinsubfloatfigures + \PackageError{subfloat}{Cannot start subfloatfigures inside + a\MessageBreak subfloatfigure area}{You probably have used + \string\subfiguresbegin\space or \string\begin{subfigures} inside + the^^Jsame environment or after \string\subfiguresbegin.}% +\fi +% \end{macrocode} +% Set testing boolean to true: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloatfigure areas}% +% \begin{macrocode} +\global\insubfloatfigurestrue +% \end{macrocode} +% Increase figure number: +% \begin{macrocode} + \refstepcounter{figure}% +% \end{macrocode} +% Save value of counter |figure|: +% \begin{macrocode} + \protected@xdef\figure@value{\the\c@figure}% +% \end{macrocode} +% Save counter |figure| in printed format: +% \begin{macrocode} + \protected@xdef\themainfigure{\thefigure}% +% \end{macrocode} +% Save the original macro |\thefigure|: +% \begin{macrocode} + \global\let\thefigure@original=\thefigure +% \end{macrocode} +% Reset counter |figure| to zero. +% It functions as subfloat counter until |\subfiguresend|. +% \begin{macrocode} + \setcounter{figure}{0}% +% \end{macrocode} +% Redefine macro |\thefigure| to use subnumbering: +% \begin{macrocode} + \gdef\thefigure{\thesubfloatfigure}% +% \end{macrocode} +% Set counter to maximal number of subfloatfigures. Therefore local +% redefinition of |\@setref| in order to change the warning and to set +% the counter |subfloatfiguremax| correct. Thereafter call |\@setref| +% using the |\ref| command: +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% \begin{macrocode} + \ifsubfloat@countmax + {\def\@setref##1##2##3{% + \ifx##1\relax + \protect\G@refundefinedtrue + \setcounter{subfloatfiguremax}{0}% + \PackageWarningNoLine{subfloat}{Reference `##3' on page + \thepage \space undefined\MessageBreak + (count subfloatfigures)}% + \else + \setcounter{subfloatfiguremax}{\expandafter\@firstoftwo##1}% + \fi}% + \ref{subfloat@@figure\figure@value}}% + \fi +% \end{macrocode} +% Redefine the macro |\p@subfigure| (from |subfigure.sty|) in order to +% generate correct labels for subfigures: +% \changes{2.01}{2002/09/06}{Add support for subfigure.sty}% +% \begin{macrocode} +%% \@ifpackageloaded{subfigure}{% + \let\p@subfigure=\thesubfloatfigure +%% }{}% +% \end{macrocode} +% Ignore spaces: +% \begin{macrocode} + \ignorespaces +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\thefiguresend} +% Defining the macro |\thefiguresend|: +% \begin{macrocode} +\newcommand{\subfiguresend}{% +% \end{macrocode} +% Check if |\subfiguresend| may be called here: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloatfigure areas}% +% \begin{macrocode} +\ifinsubfloatfigures +\else + \PackageError{subfloat}{Cannot stop subfloatfigures outside + a\MessageBreak subfloatfigure area}{You probably have used + \string\subfiguresend\space or \string\end{subfigures} without + starting a^^Jsubfloatfigure area using the same environment or + \string\subfiguresbegin.}% +\fi +% \end{macrocode} +% Set testing boolean to false: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloatfigure areas}% +% \begin{macrocode} +\global\insubfloatfiguresfalse +% \end{macrocode} +% Write the number of subfloatfigures into the |aux| file: +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% \begin{macrocode} + \ifsubfloat@countmax + \subfloat@figurelabel{subfloat@@figure\figure@value}% + \fi +% \end{macrocode} +% Set counter |figure| back to original value: +% \begin{macrocode} + \setcounter{figure}{\figure@value}% +% \end{macrocode} +% Restore the original macro |\thefigure|: +% \begin{macrocode} + \global\let\thefigure=\thefigure@original +% \end{macrocode} +% Restore the original macro |\p@subfigure| (from |subfigure.sty|): +% \changes{2.01}{2002/09/06}{Add support for subfigure.sty}% +% \begin{macrocode} +%% \@ifpackageloaded{subfigure}{% + \let\p@subfigure=\thefigure +%% }{}% +% \end{macrocode} +% Ignore spaces: +% \begin{macrocode} + \ignorespaces +} +%% +% \end{macrocode} +% \end{macro} +% +% Introduce the counter for the number of subfloatfigures. +% If both the option |countmax| is not used and this counter is tried +% to be used, an not understandable error message is generated (e.g.\ +% ``! Missing number, treated as zero''. There has been code that +% produced a nice error message, but it was incompatible to tabularx +% (namely the command |\cl@@ckpt|). +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% \changes{2.13}{2002/12/16}{Remove generation of error message +% because of incompatibility with tabularx}% +% \begin{macrocode} +\ifsubfloat@countmax + \newcounter{subfloatfiguremax} +\else +% \end{macrocode} +% \changes{2.14}{2003/08/21}{Moved warning outside options}% +% Warning if countmax is off. +% \begin{macrocode} + \PackageWarningNoLine{subfloat}{Numbers of floats not + counted:\MessageBreak + If you use one of the counters subfloatfiguremax or\MessageBreak + subfloattablemax you will get strange error messages\MessageBreak + containing \string\c@subfloatfiguremax\space or\MessageBreak + \string\c@subfloattablemax:\MessageBreak + Please switch on countmax or + remove the code using\MessageBreak + the counter then.} +\fi +% \end{macrocode} +% \begin{macro}{\subfloat@figurelabel} +% This command makes a label for the current figure, always with an +% arabic number: +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% \begin{macrocode} +\ifsubfloat@countmax + \newcommand*\subfloat@figurelabel[1]{\@bsphack + \protected@write\@auxout{}% + {\string\newlabel{#1}{{\the\c@figure}{\thepage}}}% + \@esphack} +\fi +% \end{macrocode} +% \end{macro} +% +% \subsection{Tables} +% +% \begin{macro}{\thesubfloattable}% +% Defining the output format of captions: +% \begin{macrocode} +\newcommand*\thesubfloattable{\themaintable\alph{subfloattable}} +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{subtables}% +% Defining the environment |subtables|: +% \begin{macrocode} +\newenvironment{subtables}{% +% \end{macrocode} +% Call start command for subnumbering: +% \begin{macrocode} + \subtablesbegin +}{% +% \end{macrocode} +% Call end command for subnumbering: +% \begin{macrocode} + \subtablesend + \global\@ignoretrue +} +% \end{macrocode} +% \end{environment} +% +% Make a copy of |\c@table| in |\c@subfloattable| in order to be +% able to use the counter |subfloattable| in the defintion of +% |\thesubfloattable|: +% \begin{macrocode} +\let\c@subfloattable=\c@table +% \end{macrocode} +% Define the boolean |\ifinsubfloattables| to determine if we are +% inside a subfloattables area: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloattable areas}% +% \begin{macrocode} +\newif\ifinsubfloattables +% \end{macrocode} +% \begin{macro}{\thetablesbegin}% +% Defining the macro |\thetablesbegin|: +% \begin{macrocode} +\newcommand{\subtablesbegin}{% +% \end{macrocode} +% Check if |\subtablesbegin| may be called here: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloattable areas}% +% \begin{macrocode} +\ifinsubfloattables + \PackageError{subfloat}{Cannot start subfloattables inside + a\MessageBreak subfloatfigure area}{You probably have used + \string\subtablesbegin\space or \string\begin{subtables} inside + the^^Jsame environment or after \string\subtablesbegin.}% +\fi +% \end{macrocode} +% Set testing boolean to true: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloattable areas}% +% \begin{macrocode} +\global\insubfloattablestrue +% \end{macrocode} +% Increase table number: +% \begin{macrocode} + \refstepcounter{table}% +% \end{macrocode} +% Save value of counter |table|: +% \begin{macrocode} + \protected@xdef\table@value{\the\c@table}% +% \end{macrocode} +% Save counter |table| in printed format: +% \begin{macrocode} + \protected@xdef\themaintable{\thetable}% +% \end{macrocode} +% Save the original macro |\thetable|: +% \begin{macrocode} + \global\let\thetable@original=\thetable +% \end{macrocode} +% Reset counter |table| to zero. It functions as subfloat counter +% until |\subtablesend|. +% \begin{macrocode} + \setcounter{table}{0}% +% \end{macrocode} +% Redefine macro |\thetable| to use subnumbering: +% \begin{macrocode} + \gdef\thetable{\thesubfloattable}% +% \end{macrocode} +% Set counter to maximal number of subfloattables. Therefore local +% redefinition of |\@setref| in order to change the warning and to set +% the counter |subfloattablemax| correct. Thereafter call |\@setref| +% using the |\ref| command: +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% \begin{macrocode} + \ifsubfloat@countmax + {\def\@setref##1##2##3{% + \ifx##1\relax + \protect\G@refundefinedtrue + \setcounter{subfloattablemax}{0}% + \PackageWarningNoLine{subfloat}{Reference `##3' on page + \thepage \space undefined\MessageBreak + (count subfloattables)}% + \else + \setcounter{subfloattablemax}{\expandafter\@firstoftwo##1}% + \fi}% + \ref{subfloat@@table\table@value}}% + \fi +% \end{macrocode} +% Redefine the macro |\p@subtable| (from |subfigure.sty|) in order to +% generate correct labels for subtables: +% \changes{2.01}{2002/09/06}{Add support for subfigure.sty}% +% \begin{macrocode} +%% \@ifpackageloaded{subfigure}{% + \let\p@subtable=\thesubfloattable +%% }{}% +% \end{macrocode} +% Ignore spaces: +% \begin{macrocode} + \ignorespaces +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\subtablesend} +% \changes{2.12}{2002/10/30}{Remove the corrupt greater sign}% +% Defining the macro |\thetablesend|: +% \begin{macrocode} +\newcommand{\subtablesend}{% +% \end{macrocode} +% Check if |\subtablesend| may be called here: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloatfigure areas}% +% \begin{macrocode} +\ifinsubfloattables +\else + \PackageError{subfloat}{Cannot stop subfloattables outside + a\MessageBreak subfloatfigure area}{You probably have used + \string\subtablesend\space or \string\end{subtables} without + starting a^^Jsubfloatfigure area using the same environment or + \string\subtablesbegin.}% +\fi +% \end{macrocode} +% Set testing boolean to false: +% \changes{2.11}{2002/09/10}{Test for nesting of subfloatfigure areas}% +% \begin{macrocode} +\global\insubfloattablesfalse +% \end{macrocode} +% Write the number of subfloattables into the |aux| file: +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% \begin{macrocode} + \ifsubfloat@countmax + \subfloat@tablelabel{subfloat@@table\table@value}% + \fi +% \end{macrocode} +% Set counter |table| back to original value: +% \begin{macrocode} + \setcounter{table}{\table@value}% +% \end{macrocode} +% Restore the original macro |\thetable|: +% \begin{macrocode} + \global\let\thetable=\thetable@original +% \end{macrocode} +% Restore the original macro |\p@subtable| (from |subfigure.sty|): +% \changes{2.01}{2002/09/06}{Add support for subfigure.sty}% +% \begin{macrocode} +%% \@ifpackageloaded{subfigure}{% + \let\p@subtable=\thetable +%% }{}% +% \end{macrocode} +% Ignore spaces: +% \begin{macrocode} + \ignorespaces +} +%% +% \end{macrocode} +% \end{macro} +% +% Introduce the counter for the number of subfloattables. +% If both the option |countmax| is not used and this counter is tried +% to be used, an not understandable error message is generated (e.g.\ +% ``! Missing number, treated as zero''. There has been code that +% produced a nice error message, but it was incompatible to tabularx +% (namely the command |\cl@@ckpt|). +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% \changes{2.13}{2002/12/16}{Remove generation of error message +% because of incompatibility with tabularx}% +% \begin{macrocode} +\ifsubfloat@countmax + \newcounter{subfloattablemax} +%\else +% \newcounter{subfloattablemax} +% \let\orig@c@subfloattablemax=\c@subfloattablemax +% \def\c@subfloattablemax{\orig@c@subfloattablemax +% \PackageError{subfloat}{Counter subfloattablemax used +% without\MessageBreak +% package option countmax}{The counter subfloattablemax may +% only be used with the package option\MessageBreak +% countmax. Normally this error happens when +% \string\thesubfloattable\space is redefined.}} +\fi +% \end{macrocode} +% \begin{macro}{\subfloat@tablelabel} +% This command makes a label for the current table, always with an +% arabic number: +% \changes{2.10}{2002/09/06}{Add counting of subfloats}% +% \begin{macrocode} +\ifsubfloat@countmax + \newcommand*\subfloat@tablelabel[1]{\@bsphack + \protected@write\@auxout{}% + {\string\newlabel{#1}{{\the\c@table}{\thepage}}}% + \@esphack} +\fi +% \end{macrocode} +% \end{macro} +% +% The end of the package: +% \begin{macrocode} +\endinput +% \end{macrocode} +% \iffalse +%</package> +% \fi +% \Finale + diff --git a/Master/texmf-dist/source/latex/subfloat/subfloat.ins b/Master/texmf-dist/source/latex/subfloat/subfloat.ins new file mode 100644 index 00000000000..e1048f2a214 --- /dev/null +++ b/Master/texmf-dist/source/latex/subfloat/subfloat.ins @@ -0,0 +1,21 @@ +\def\batchfile{subfloat.ins} +\input docstrip.tex +\preamble + + subfloat package + + Copyright 1999, 2002 Harald Harders + + This program can be redistributed and/or modified under the terms + of the LaTeX Project Public License Distributed from CTAN + archives in directory macros/latex/base/lppl.txt; either + version 1 of the License, or any later version. + + h.harders@tu-bs.de + +\endpreamble +% Files +%%%%%%%%%%%%%%%%%%%%%% +\generateFile{subfloat.sty}{f}{\from{subfloat.dtx}{package}} + +\Msg{* Ready} |