summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/caption
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:52:41 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:52:41 +0000
commite981a6612f28cfef515e09e1ab000e49d496f335 (patch)
treee779d00bca4e44a5729cd3a72cd140fb4d6d9e51 /Master/texmf-dist/tex/latex/caption
parenta4d46fef06c272aff74fc9329ad0c7c1e2613eab (diff)
caption
git-svn-id: svn://tug.org/texlive/trunk@737 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/caption')
-rw-r--r--Master/texmf-dist/tex/latex/caption/caption.sty384
-rw-r--r--Master/texmf-dist/tex/latex/caption/caption2.sty421
-rw-r--r--Master/texmf-dist/tex/latex/caption/caption3.sty414
3 files changed, 1219 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/caption/caption.sty b/Master/texmf-dist/tex/latex/caption/caption.sty
new file mode 100644
index 00000000000..506c95edab5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/caption/caption.sty
@@ -0,0 +1,384 @@
+%%
+%% This is file `caption.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% caption.dtx (with options: `package')
+%%
+%% Copyright (C) 1994-2005 Axel Sommerfeldt (caption@sommerfeldt.net)
+%%
+%% --------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% 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.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Axel Sommerfeldt.
+%%
+%% This work consists of the files caption.ins, caption.dtx,
+%% caption2.dtx, caption.xml, and anleitung.tex and the derived files
+%% caption.sty, caption2.sty, caption3.sty, and manual.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{caption}[2005/06/28 v3.0g Customising captions (AS)]
+\RequirePackage{caption3}
+\DeclareCaptionOption{type}{\def\@captype{#1}}% new v3.0d
+\newcommand*\caption@floatname[1]{\@nameuse{#1name}}
+\DeclareCaptionOption*{figureposition}{\captionsetup[figure]{position=#1}}% new v3.0a
+\DeclareCaptionOption*{tableposition}{\captionsetup[table]{position=#1}}% new v3.0a
+\DeclareCaptionOption{config}[caption]{%
+ \InputIfFileExists{#1.cfg}{\typeout{*** Local configuration file
+ #1.cfg used ***}}%
+ {\PackageWarning{caption}{Configuration
+ file #1.cfg not found}}}
+\DeclareCaptionOption*{normal}[]{\caption@setformat{normal}}
+\DeclareCaptionOption*{isu}[]{\caption@setformat{hang}}
+\DeclareCaptionOption*{hang}[]{\caption@setformat{hang}}
+\DeclareCaptionOption*{center}[]{\caption@setjustification{centering}}
+\DeclareCaptionOption*{anne}[]{\caption@setjustification{centerlast}}
+\DeclareCaptionOption*{centerlast}[]{\caption@setjustification{centerlast}}
+\DeclareCaptionOption*{scriptsize}[]{\def\captionfont{\scriptsize}}
+\DeclareCaptionOption*{footnotesize}[]{\def\captionfont{\footnotesize}}
+\DeclareCaptionOption*{small}[]{\def\captionfont{\small}}
+\DeclareCaptionOption*{normalsize}[]{\def\captionfont{\normalsize}}
+\DeclareCaptionOption*{large}[]{\def\captionfont{\large}}
+\DeclareCaptionOption*{Large}[]{\def\captionfont{\Large}}
+\DeclareCaptionOption*{up}[]{\l@addto@macro\captionlabelfont\upshape}
+\DeclareCaptionOption*{it}[]{\l@addto@macro\captionlabelfont\itshape}
+\DeclareCaptionOption*{sl}[]{\l@addto@macro\captionlabelfont\slshape}
+\DeclareCaptionOption*{sc}[]{\l@addto@macro\captionlabelfont\scshape}
+\DeclareCaptionOption*{md}[]{\l@addto@macro\captionlabelfont\mdseries}
+\DeclareCaptionOption*{bf}[]{\l@addto@macro\captionlabelfont\bfseries}
+\DeclareCaptionOption*{rm}[]{\l@addto@macro\captionlabelfont\rmfamily}
+\DeclareCaptionOption*{sf}[]{\l@addto@macro\captionlabelfont\sffamily}
+\DeclareCaptionOption*{tt}[]{\l@addto@macro\captionlabelfont\ttfamily}
+\DeclareCaptionOption*{nooneline}[]{\caption@setbool{slc}{0}}
+\caption@setbool{ruled}{0}
+\DeclareCaptionOption*{ruled}[]{\caption@setbool{ruled}{1}}
+\newcommand*\DeclareCaptionPackage[1]{%
+ \caption@setbool{pkt@#1}{1}%
+ \DeclareCaptionOption*{#1}{\caption@setbool{pkt@#1}{##1}}}
+\AtEndOfPackage{\let\DeclareCaptionPackage\@undefined}
+\newcommand\caption@ifpackage[3]{%
+ \caption@ifbool{pkt@#1}{%
+ \@ifundefined{#2}%
+ {\let\next\AtBeginDocument}%
+ {\let\next\@firstofone}%
+ }{%
+ \let\next\@gobble
+ }%
+ \ifodd\caption@debug\relax
+ \edef\caption@tempa{%
+ \caption@ifbool{pkt@#1}{%
+ \@ifundefined{#2}{AtBeginDocument}{firstofone}%
+ }{gobble}}%
+ \PackageInfo{caption}{#1 = \caption@ifbool{pkt@#1}{1}{0} %
+ (\@ifundefined{#2}{not }{}loaded -> \caption@tempa)}%
+ \fi
+ \@nameundef{caption@ifpkt@#1}% bugfixed v3.0a
+ \next{%
+ \expandafter\ifx\csname #2\endcsname\relax
+ \else
+ #3
+ \fi}}
+\AtEndOfPackage{\let\caption@ifpackage\@undefined}
+\DeclareCaptionPackage{caption}
+\DeclareCaptionPackage{float}
+\DeclareCaptionPackage{floatrow}
+\DeclareCaptionPackage{hyperref}
+\DeclareCaptionPackage{hypcap}
+\DeclareCaptionPackage{listings}
+\DeclareCaptionPackage{longtable}
+\DeclareCaptionPackage{rotating}
+\DeclareCaptionPackage{sidecap}
+\DeclareCaptionPackage{supertabular}
+\def\ProcessOptionsWithKV#1{% bugfixed v3.0a
+ \let\@tempc\relax
+ \let\caption@tempa\@empty
+ \@for\CurrentOption:=\@classoptionslist\do{%
+ \@ifundefined{KV@#1@\CurrentOption}%
+ {}%
+ {%
+ \edef\caption@tempa{\caption@tempa,\CurrentOption,}%
+ \@expandtwoargs\@removeelement\CurrentOption
+ \@unusedoptionlist\@unusedoptionlist
+ }%
+ }%
+ \edef\caption@tempa{%
+ \noexpand\setkeys{#1}{%
+ \caption@tempa\@ptionlist{\@currname.\@currext}%
+ }%
+ }%
+ \caption@tempa
+ \let\CurrentOption\@empty
+ \AtEndOfPackage{\let\@unprocessedoptions\relax}}
+\ProcessOptionsWithKV{caption}
+\let\ProcessOptionsWithKV\@undefined
+\caption@ifbool{pkt@caption}{}{\endinput}
+\@nameundef{caption@ifpkt@caption}
+\def\captionof{\@ifstar{\caption@of{\caption*}}{\caption@of\caption}}
+\newcommand*\caption@of[2]{\def\@captype{#2}#1}
+\providecommand\ContinuedFloat{%
+ \ifx\@captype\@undefined
+ \@latex@error{\noexpand\ContinuedFloat outside float}\@ehd
+ \else
+ \addtocounter\@captype\m@ne
+ \caption@ContinuedFloat\@captype
+ \fi}%
+\let\caption@ContinuedFloat\@gobble
+\let\caption@resetContinuedFloat\@gobble
+\newcommand*\caption@begin[1]{%
+ \caption@resetContinuedFloat{#1}%
+ \begingroup
+ \caption@setfloattype{#1}%
+ \ifx\caption@lfmt\caption@lfmt@default\else
+ \@namedef{fnum@#1}{%
+ \caption@lfmt{\caption@floatname{#1}}{\@nameuse{the#1}}}%
+ \fi
+ \caption@fixposition
+ \global\let\caption@fixedposition\caption@position
+ \caption@@begin{#1}}
+\newcommand*\caption@beginex[1]{%
+ \caption@begin{#1}%
+ \caption@preparelof}
+\newcommand*\caption@end{%
+ \caption@@end
+ \endgroup
+ \let\caption@position\caption@fixedposition}
+\let\caption@setfloattype\caption@settype% new v3.0a
+\newcommand*\caption@letfloattype[2]{%
+ \def\caption@setfloattype##1{%
+ \caption@settype{##1}#2\caption@settype{#1}}}
+\newcommand*\caption@preparelof[1]{% changed v3.0b
+ \caption@iflof%
+ {\def\caption@tempa{#1}}%
+ {\let\caption@tempa\@empty}%
+ \ifx\caption@tempa\@empty
+ \def\addcontentsline##1##2##3{}%
+ \fi}
+\let\caption@@begin\@gobble % new v3.0a
+\let\caption@@end\@empty % new v3.0a
+\AtBeginDocument{%
+ \let\caption@old\caption
+ \let\caption@@old\@caption
+ \@ifundefined{cc@caption}{%
+ \def\caption{\caption@caption\caption@old}%
+ \def\caption@caption#1{%
+ \@ifstar{\ContinuedFloat\global\caption@startrue #1[]}{#1}}%
+ \long\def\@caption#1[#2]#3{%
+ \caption@beginex{#1}{#2}%
+ \caption@@old{#1}[{#2}]{#3}%
+ \caption@end}%
+ }{%
+ \PackageInfo{caption}{captcont package v2.0 detected}%
+ \def\caption@caption#1{#1}% added v3.0c
+ }%
+}
+\renewcommand\@makecaption[2]{%
+ \caption@iftop{\vskip\belowcaptionskip}{\vskip\abovecaptionskip}%
+ \ifnum\caption@debug>1 %
+ \llap{$\caption@iftop\downarrow\uparrow$ }%
+ \fi
+ \caption@@make{#1}{#2}%
+ \caption@iftop{\vskip\abovecaptionskip}{\vskip\belowcaptionskip}}
+\AtBeginDocument{\let\scr@caption\caption}
+\def\caption@setfloatposition{%
+ \caption@setposition{\@fs@iftopcapt t\else b\fi}}
+\caption@ifpackage{float}{@float@setevery}{%
+ \PackageInfo{caption}{float package v1.3 (or newer) detected}%
+ \let\caption@of@float\@gobble
+ \renewcommand*\caption@of[2]{%
+ \@ifundefined{fst@#2}{}{%
+ \let\caption@of@float\@firstofone
+ \@nameuse{fst@#2}\@float@setevery{#2}}%
+ \def\@captype{#2}#1}%
+ \let\caption@@float\float@caption
+ \long\def\float@caption#1[#2]#3{%
+ \caption@beginex{#1}{#2}%
+ \let\@fs@capt\caption@@make
+ \caption@@float{#1}[{#2}]{#3}%
+ \caption@of@float{%
+ \def\caption@@make##1##2{\unvbox\@floatcapt}%
+ \@makecaption{}{}}%
+ \caption@end}%
+ \let\caption@float@setevery\@float@setevery
+ \def\@float@setevery#1{%
+ \caption@float@setevery{#1}%
+ \def\caption@floatname##1{\@nameuse{fname@#1}}%
+ \expandafter\let\expandafter\caption@tempa\csname @float@c@#1\endcsname
+ \ifx\caption@tempa\float@caption
+ \else\ifx\caption@tempa\@caption
+ \else\ifx\caption@tempa\caption@@float
+ \expandafter\let\csname @float@c@#1\endcsname\float@caption
+ \else
+ \expandafter\let\csname @float@c@#1\endcsname\@caption
+ \fi\fi\fi
+ \expandafter\ifx\csname @float@c@#1\endcsname\float@caption
+ \caption@setfloatposition% changed v3.0b+f
+ \expandafter\let\expandafter\caption@fst\csname fst@#1\endcsname
+ \edef\caption@fst{\noexpand\string\expandafter\noexpand\caption@fst}%
+ \edef\caption@fst{\noexpand\@gobblefour\caption@fst}%
+ \caption@setstyle*\caption@fst
+ \caption@settype\caption@fst% new v3.0f
+ \fi}%
+ \g@addto@macro\fs@plaintop{\def\@fs@mid{\vspace\abovecaptionskip\relax}}%
+ \g@addto@macro\fs@boxed{\def\@fs@mid{\kern\abovecaptionskip\relax}}%
+}
+\captionsetup[boxed]{skip=2pt}%
+\caption@ifbool{ruled}{%
+ \captionsetup[ruled]{margin=0pt,singlelinecheck=0}% new v3.0f
+}{% v3.0f: "strut=0" added
+ \DeclareCaptionStyle{ruled}{labelfont=bf,labelsep=space,strut=0}}
+\let\caption@ifruled\@undefined
+\caption@ifpackage{floatrow}{flrow@setlist}{%
+ \PackageInfo{caption}{floatrow package v0.1f (or newer) detected}%
+ \renewcommand*\caption@of[2]{%
+ \def\@captype{#2}\flrow@setlist{{#2}}#1}%
+ \renewcommand*\caption@floatname[1]{%
+ \@nameuse{\@ifundefined{fname@#1}{#1name}{fname@#1}}}%
+}
+\caption@ifpackage{hyperref}{theHfigure}{%
+ \PackageInfo{caption}{hyperref package v6.74m (or newer) detected}%
+ \def\caption@ContinuedFloat#1{%
+ \@ifundefined{theH#1}{}{%
+ \@ifundefined{CF@#1}{%
+ \expandafter\newcount\csname CF@#1\endcsname
+ \caption@resetContinuedFloat{#1}}{}%
+ \global\advance\csname CF@#1\endcsname\@ne\relax
+ \expandafter\l@addto@macro\csname theH#1\endcsname{.\expandafter\@arabic\csname CF@#1\endcsname}%
+ \let\caption@resetContinuedFloat\@gobble
+ }}%
+ \def\caption@resetContinuedFloat#1{%
+ \@ifundefined{CF@#1}{}{\global\csname CF@#1\endcsname\z@\relax}}%
+}
+\caption@ifpackage{hypcap}{hc@caption}{%
+ \PackageInfo{caption}{hypcap package v1.0 (or newer) detected}%
+ \let\caption@capstart\capstart
+ \def\capstart{%
+ \let\hc@org@caption\caption
+ \begingroup
+ \let\H@refstepcounter\@gobble
+ \Hy@hypertexnamesfalse
+ \caption@capstart
+ \global\let\caption@currentHref\@currentHref
+ \endgroup
+ \def\caption{%
+ \let\caption\hc@org@caption
+ \H@refstepcounter\@captype
+ \caption@caption\hc@caption}}%
+ \let\caption@hc@@caption\hc@@caption
+ \long\def\hc@@caption#1[#2]#3{%
+ \caption@beginex{#1}{#2}%
+ \let\caption@hyper@makecurrent\hyper@makecurrent
+ \def\hyper@makecurrent\@captype{%
+ \let\hyper@makecurrent\caption@hyper@makecurrent
+ \global\let\@currentHref\caption@currentHref}%
+ \caption@hc@@caption{#1}[{#2}]{#3}%
+ \caption@end}%
+}
+\caption@ifpackage{listings}{lst@MakeCaption}{%
+ \PackageInfo{caption}{listings package v1.2 (or newer) detected}%
+ \let\caption@lst@MakeCaption\lst@MakeCaption
+ \def\lst@MakeCaption#1{%
+ \let\caption@setfloattype\caption@settype
+ \def\caption@autoposition{\caption@setposition{#1}}%
+ \caption@begin{lstlisting}%
+ \caption@lst@MakeCaption{#1}%
+ \caption@end}%
+}
+\caption@ifpackage{longtable}{LT@makecaption}{%
+ \PackageInfo{caption}{longtable package v3.15 (or newer) detected}%
+ \def\LT@makecaption#1#2#3{%
+ \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\hsize{%
+ \caption@letfloattype{longtable}{% bugfixed v3.0e
+ \ifdim\LTcapwidth=4in \else
+ \caption@setwidth\LTcapwidth
+ \fi}%
+ \let\caption@defaultpos\@firstoftwo% default = top
+ \def\caption@autoposition{% does not work within \end(last)foot!
+ \caption@setposition{\ifcase\LT@rows t\else b\fi}}%
+ \caption@begin{table}%
+ \vskip-\ht\@arstrutbox
+ \caption@iftop{\vskip\belowcaptionskip}{\vskip\abovecaptionskip}%
+ \caption@startrue#1\caption@starfalse
+ \caption@@make{#2}{#3}\endgraf
+ \caption@iftop{\vskip\abovecaptionskip}{\vskip\belowcaptionskip}%
+ \caption@end}%
+ \hss}}}%
+}
+\caption@ifpackage{rotating}{@rotcaption}{%
+ \PackageInfo{caption}{rotating package v2.0 (or newer) detected}%
+ \let\caption@rot\rotcaption
+ \def\rotcaption{\caption@caption\caption@rot}%
+ \let\caption@@rot\@rotcaption
+ \long\def\@rotcaption#1[#2]#3{%
+ \caption@beginex{#1}{#2}%
+ \caption@@rot{#1}[{#2}]{#3}%
+ \caption@end}%
+ \long\def\@makerotcaption#1#2{%
+ \rotatebox{90}{%
+ \begin{minipage}{.8\textheight}%
+ \caption@@make{#1}{#2}%
+ \end{minipage}%
+ }\par
+ \hspace{12pt}}%
+}
+\caption@ifpackage{sidecap}{endSC@FLOAT}{%
+ \PackageInfo{caption}{sidecap package v1.4d (or newer) detected}%
+ \let\SC@caption=\caption
+ \let\caption@SC@zfloat\SC@zfloat
+ \def\SC@zfloat#1#2#3[#4]{%
+ \caption@SC@zfloat{#1}{#2}{#3}[#4]%
+ \global\let\SC@CAPsetup\@empty
+ \def\captionsetup##1{\g@addto@macro\SC@CAPsetup{,##1}}%
+ \let\caption@old\caption
+ \def\caption{\caption@caption\caption@old}%
+ }%
+ \let\caption@endSC@FLOAT\endSC@FLOAT
+ \def\endSC@FLOAT{%
+ \let\@captype\SC@captype
+ \caption@esetup\SC@CAPsetup
+ \caption@letfloattype{SC\@captype}{% bugfixed v3.0e
+ \caption@setmargin\z@
+ \@ifundefined{SC@justify}{}{%
+ \ifx\SC@justify\@empty\else
+ \let\caption@hj\SC@justify
+ \let\SC@justify\@empty
+ \fi}}%
+ \long\def\caption@ifempty##1{% bugfix v3.0e
+ \ifx\SC@CAPtext\@empty
+ \expandafter\@firstofone
+ \else
+ \expandafter\@gobble
+ \fi}%
+ \caption@endSC@FLOAT}%
+}
+\def\caption@setSTposition{%
+ \caption@setposition{\if@topcaption t\else b\fi}}
+\caption@ifpackage{supertabular}{ST@caption}{%
+ \PackageInfo{caption}{supertabular package detected}%
+ \let\caption@tablecaption\tablecaption
+ \def\tablecaption{\caption@caption\caption@tablecaption}%
+ \let\caption@ST\ST@caption
+ \long\def\ST@caption#1[#2]#3{\par% bugfixed v3.0a
+ \caption@letfloattype{supertabular}{}%
+ \let\caption@fixposition\caption@setSTposition
+ \caption@beginex{#1}{#2}%
+ \addcontentsline{\csname ext@#1\endcsname}{#1}%
+ {\protect\numberline{%
+ \csname the#1\endcsname}{\ignorespaces #2}}%
+ \@parboxrestore
+ \normalsize
+ \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+ \caption@end}%
+}
+\endinput
+%%
+%% End of file `caption.sty'.
diff --git a/Master/texmf-dist/tex/latex/caption/caption2.sty b/Master/texmf-dist/tex/latex/caption/caption2.sty
new file mode 100644
index 00000000000..fa7ffb21b57
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/caption/caption2.sty
@@ -0,0 +1,421 @@
+%%
+%% This is file `caption2.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% caption2.dtx (with options: `package')
+%%
+%% Copyright (C) 1994-2005 Axel Sommerfeldt (caption@sommerfeldt.net)
+%%
+%% --------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% 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.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Axel Sommerfeldt.
+%%
+%% This work consists of the files caption.ins, caption.dtx,
+%% caption2.dtx, caption.xml, and anleitung.tex and the derived files
+%% caption.sty, caption2.sty, caption3.sty, and manual.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{caption2}[2004/05/10 v2.1c Customising captions (AS)]
+\newcommand*\captionfont{}
+\newcommand*\captionlabelfont{}
+\newcommand*\captionlabeldelim{}
+\newcommand*\captionlabelsep{}
+\newcommand*\captionsize{}
+\newdimen\captionmargin
+\newdimen\captionwidth
+\newif\ifcaptionwidth
+\newdimen\captionindent
+\newif\ifcaptionlabel\captionlabeltrue
+\newif\ifonelinecaptions
+\newif\ifignoreLTcapwidth
+\newcommand*\setcaptionmargin{%
+ \captionwidthfalse
+ \setlength\captionmargin}
+\newcommand*\setcaptionwidth{%
+ \captionwidthtrue
+ \setlength\captionwidth}
+\newcommand*\normalcaptionparams{%
+ \let\captionsize\@empty
+ \renewcommand*\captionfont{\captionsize}%
+ \let\captionlabelfont\@empty
+ \renewcommand*\captionlabeldelim{:}%
+ \renewcommand*\captionlabelsep{\space}%
+ \setcaptionmargin\z@\setlength\captionindent\z@
+ \onelinecaptionstrue}
+\newcommand*\caption@eh{%
+ If you do not understand this error, please take a closer look\MessageBreak
+ at the documentation of the `caption2' package.\MessageBreak
+ \@ehc}
+\newcommand*\defcaptionstyle[1]{%
+ \@namedef{caption@@#1}}
+\newcommand*\newcaptionstyle[1]{%
+ \expandafter\ifx\csname caption@@#1\endcsname\relax
+ \expandafter\defcaptionstyle
+ \else
+ \PackageError{caption2}{Caption style `#1' already defined}{\caption@eh}%
+ \expandafter\@gobbletwo
+ \fi
+ {#1}}
+\newcommand*\renewcaptionstyle[1]{%
+ \expandafter\ifx\csname caption@@#1\endcsname\relax
+ \PackageError{caption2}{Caption style `#1' undefined}{\caption@eh}%
+ \expandafter\@gobbletwo
+ \else
+ \expandafter\defcaptionstyle
+ \fi
+ {#1}}
+\newcommand*\dummycaptionstyle[2]{%
+ \defcaptionstyle{#1}{%
+ \expandafter\ifx\csname caption@@\caption@style\expandafter\endcsname%
+ \csname caption@@#1\endcsname
+ \PackageError{caption2}{You can't use the caption style `#1' directy}{%
+ The caption style `#1' is only a dummy and does not really exists.%
+ \MessageBreak You have to redefine it (with \protect\renewcaptionstyle)
+ before you can select\MessageBreak it with \protect\captionstyle.
+ \space\caption@eh}%
+ \else
+ #2\usecaptionstyle{\caption@style}%
+ \fi}}
+\newcommand*\captionstyle[1]{%
+ \expandafter\ifx\csname caption@@#1\endcsname\relax
+ \PackageError{caption2}{Undefined caption style `#1'}{\caption@eh}%
+ \else
+ \def\caption@style{#1}%
+ \fi}
+\newcaptionstyle{normal}{\caption@make{normal}}
+\newcaptionstyle{center}{\caption@make{center}}
+\newcaptionstyle{centerlast}{\caption@make{centerlast}}
+\newcaptionstyle{flushleft}{\caption@make{flushleft}}
+\newcaptionstyle{flushright}{\caption@make{flushright}}
+\newcaptionstyle{hang}{\caption@make{hang}}
+\newcaptionstyle{hang+center}{\caption@make{hang@center}}
+\newcaptionstyle{hang+centerlast}{\caption@make{hang@centerlast}}
+\newcaptionstyle{hang+flushleft}{\caption@make{hang@flushleft}}
+\newcaptionstyle{indent}{\caption@make{indent}}
+\newcommand*\caption@makecaption[1]{%
+ \usecaptionmargin
+ \ifcaptionlabel
+ \def\caption@label{%
+ {\captionlabelfont\captionlabel\captionlabeldelim}\captionlabelsep}%
+ \else
+ \let\caption@label\@empty
+ \fi
+ \captionfont
+ \onelinecaption
+ {\caption@label\captiontext}%
+ {\parbox[b]\captionlinewidth{\strut\@nameuse{caption@@@#1}\par}\par}}
+\newcommand*\caption@make{\caption@makecaption}
+\newcommand*\caption@@@normal{%
+ \caption@label\captiontext}
+\newcommand*\caption@@@center{%
+ \centering\caption@label\captiontext}%
+\newcommand*\caption@centerlast{%
+ \advance\leftskip by 0pt plus 1fil%
+ \advance\rightskip by 0pt plus -1fil%
+ \parfillskip0pt plus 2fil\relax}
+\newcommand*\caption@@@centerlast{%
+ \caption@centerlast\caption@label\captiontext}
+\newcommand*\caption@@@flushleft{%
+ \raggedright\caption@label\captiontext}%
+\newcommand*\caption@@@flushright{%
+ \raggedleft\caption@label\captiontext}%
+\newcommand*\caption@@@hang{%
+ \sbox\@tempboxa{\caption@label}%
+ \hangindent\wd\@tempboxa\noindent
+ \usebox\@tempboxa\caption@hangplus\captiontext}
+\newcommand*\caption@hangplus{}
+\newcommand*\caption@@@hang@center{%
+ \let\caption@hangplus\centering\caption@@@hang}
+\newcommand*\caption@@@hang@centerlast{%
+ \let\caption@hangplus\caption@centerlast\caption@@@hang}
+\newcommand*\caption@@@hang@flushleft{%
+ \let\caption@hangplus\raggedright\caption@@@hang}
+\newcommand*\caption@@@indent{%
+ \hangindent\captionindent\noindent
+ \caption@label\captiontext}
+\DeclareOption{normal}{\captionstyle{normal}}
+\DeclareOption{center}{\captionstyle{center}}
+\DeclareOption{centerlast}{\captionstyle{centerlast}}
+\DeclareOption{flushleft}{\captionstyle{flushleft}}
+\DeclareOption{flushright}{\captionstyle{flushright}}
+\DeclareOption{anne}{\ExecuteOptions{centerlast}}
+\DeclareOption{hang}{\captionstyle{hang}}
+\DeclareOption{hang+center}{\captionstyle{hang+center}}
+\DeclareOption{hang+centerlast}{\captionstyle{hang+centerlast}}
+\DeclareOption{hang+flushleft}{\captionstyle{hang+flushleft}}
+\DeclareOption{isu}{\ExecuteOptions{hang}}
+\DeclareOption{indent}{\captionstyle{indent}}
+\DeclareOption{scriptsize}{\g@addto@macro\captionsize\scriptsize}
+\DeclareOption{footnotesize}{\g@addto@macro\captionsize\footnotesize}
+\DeclareOption{small}{\g@addto@macro\captionsize\small}
+\DeclareOption{normalsize}{\g@addto@macro\captionsize\normalsize}
+\DeclareOption{large}{\g@addto@macro\captionsize\large}
+\DeclareOption{Large}{\g@addto@macro\captionsize\Large}
+\DeclareOption{up}{\g@addto@macro\captionlabelfont\upshape}
+\DeclareOption{it}{\g@addto@macro\captionlabelfont\itshape}
+\DeclareOption{sl}{\g@addto@macro\captionlabelfont\slshape}
+\DeclareOption{sc}{\g@addto@macro\captionlabelfont\scshape}
+\DeclareOption{md}{\g@addto@macro\captionlabelfont\mdseries}
+\DeclareOption{bf}{\g@addto@macro\captionlabelfont\bfseries}
+\DeclareOption{rm}{\g@addto@macro\captionlabelfont\rmfamily}
+\DeclareOption{sf}{\g@addto@macro\captionlabelfont\sffamily}
+\DeclareOption{tt}{\g@addto@macro\captionlabelfont\ttfamily}
+\DeclareOption{oneline}{\onelinecaptionstrue}
+\DeclareOption{nooneline}{\onelinecaptionsfalse}
+\newcommand*\caption@package[1]{\@namedef{caption@pkt@#1}}
+\DeclareOption{float}{\caption@twozerofalse\caption@package{float}{1}}
+\DeclareOption{longtable}{\caption@twozerofalse\caption@package{longtable}{1}}
+\DeclareOption{subfigure}{\caption@twozerofalse\caption@package{subfigure}{1}}
+\DeclareOption{none}{\caption@twozerofalse
+ \caption@package{float}{0}\caption@package{longtable}{0}%
+ \caption@package{subfigure}{0}}
+\DeclareOption{all}{\ExecuteOptions{float,longtable,subfigure}}
+\newif\ifcaption@ruled
+\DeclareOption{ruled}{\caption@ruledtrue}
+\DeclareOption{boxed}{}
+\DeclareOption{ignoreLTcapwidth}{\ignoreLTcapwidthtrue}
+\DeclareOption{debug}{\caption@debugtrue}
+\newif\ifcaption@debug
+\newif\ifcaption@twozero
+\normalcaptionparams
+\ExecuteOptions{none,normal}
+\caption@twozerotrue
+\ProcessOptions*
+\ifcaption@twozero
+ \PackageInfo{caption2}{Running in caption2 v2.0 compatibility mode}
+\fi
+\def\captionof{\@ifstar{\caption@of{\caption*}}{\caption@of\caption}}
+\newcommand*\caption@of[2]{\def\@captype{#2}#1}
+\@ifundefined{abovecaptionskip}{%
+ \newlength\abovecaptionskip\setlength\abovecaptionskip{10\p@}}{}
+\@ifundefined{belowcaptionskip}{%
+ \newlength\belowcaptionskip\setlength\belowcaptionskip{0\p@}}{}
+\newdimen\captionlinewidth
+\newdimen\realcaptionwidth
+\newcommand*\usecaptionmargin{%
+ \ifcaptionwidth
+ \leftskip\captionlinewidth
+ \advance\leftskip by -\captionwidth
+ \divide\leftskip by 2
+ \rightskip\leftskip
+ \captionlinewidth\captionwidth
+ \else
+ \leftskip\captionmargin
+ \rightskip\captionmargin
+ \advance\captionlinewidth by -2\captionmargin
+ \fi
+ \realcaptionwidth\captionlinewidth}
+\newcommand\onelinecaption[1]{%
+ \let\next\@firstofone
+ \ifonelinecaptions
+ \sbox\@tempboxa{#1}%
+ \ifdim\wd\@tempboxa >\captionlinewidth
+ \else
+ \def\next{{\centering\usebox{\@tempboxa}\par}\@gobble}%
+ \fi
+ \fi\next}
+\newcommand*\usecaptionstyle[1]{%
+ \@ifundefined{captiontext}{%
+ \PackageError{caption2}{You can't use \protect#1
+ in normal text}{The usage of \protect#1 is only
+ allowed inside code declared with\MessageBreak \protect\defcaptionstyle,
+ \protect\newcaptionstyle \space or \protect\renewcaptionstyle.
+ \space\caption@eh}
+ }{%
+ \@ifundefined{caption@@#1}%
+ {\PackageError{caption2}{Caption style `#1' undefined}{\caption@eh}}%
+ {\@nameuse{caption@@#1}}%
+ }}
+\renewcommand\@makecaption[2]{%
+ \vskip\abovecaptionskip
+ \captionlinewidth\hsize
+ \realcaptionwidth\hsize
+ \def\captionlabel{#1}%
+ \def\captiontext{#2}%
+ \usecaptionstyle{\caption@style}%
+ \vskip\belowcaptionskip}
+\renewcommand*\caption@package[3]{%
+ \if1\@nameuse{caption@pkt@#1}%
+ \@ifundefined{#2}%
+ {\let\next\AtBeginDocument}%
+ {\let\next\@firstofone}%
+ \else\ifcaption@twozero
+ \@ifundefined{#2}%
+ {#3\let\next\@gobble}%
+ {\let\next\@firstofone}%
+ \else
+ #3\let\next\@gobble
+ \fi\fi
+ \expandafter\let\csname caption@pkt@#1\endcsname\undefined
+ \ifcaption@debug
+ \ifx\next\@gobble\PackageInfo{caption2}{#1 => gobble}%
+ \else\ifx\next\@firstofone\PackageInfo{caption2}{#1 => firstofone}%
+ \else\ifx\next\AtBeginDocument\PackageInfo{caption2}{#1 => AtBeginDocument}%
+ \fi\fi\fi
+ \fi
+ \next}
+\caption@package{float}{floatc@plain}{}{%
+ \ifx\floatc@plain\relax
+ \PackageWarning{caption2}{%
+ Option `float' was set but there is no float package loaded}
+ \else
+ \PackageInfo{caption2}{float package v1.2 (or newer) detected}
+ \newcommand\caption@floatc[3]{%
+ \ifx\captionlabelfont\@empty
+ \let\captionlabelfont\@fs@cfont
+ \fi
+ \captionlinewidth\hsize
+ \realcaptionwidth\hsize
+ \def\captionlabel{#2}%
+ \def\captiontext{#3}%
+ \usecaptionstyle{#1}}
+ \renewcommand*\floatc@plain{\caption@floatc{\caption@style}}
+ \ifcaption@ruled
+ \dummycaptionstyle{ruled}{\onelinecaptionsfalse\setcaptionmargin{\z@}}%
+ \else
+ \newcaptionstyle{ruled}{%
+ \ifcaptionlabel
+ {\@fs@cfont\captionlabel}\space%
+ \fi\captiontext\par}%
+ \fi
+ \renewcommand*\floatc@ruled{\caption@floatc{ruled}}
+ \renewcommand*\caption@of[2]{\def\@captype{#2}%
+ \@ifundefined{fst@#2}{}{%
+ \@nameuse{fst@#2}%
+ \@ifundefined{@float@setevery}{}{\@float@setevery{#2}}%
+ \let\caption@fs@capt\@fs@capt
+ \let\@fs@capt\caption@of@float}%
+ #1}
+ \newcommand\caption@of@float[2]{\egroup
+ \vskip\abovecaptionskip
+ \normalsize\caption@fs@capt{#1}{#2}%
+ \vskip\belowcaptionskip
+ \bgroup}%
+ \fi}
+\caption@package{longtable}{LT@makecaption}{}{%
+ \ifx\LT@makecaption\relax
+ \PackageWarning{caption2}{%
+ Option `longtable' was set but there is no longtable package loaded}
+ \else
+ \PackageInfo{caption2}{longtable package v3.15 (or newer) detected}
+ \dummycaptionstyle{longtable}{}
+ \renewcommand\LT@makecaption[3]{%
+ \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\hsize{%
+ \ifignoreLTcapwidth
+ \else
+ \setcaptionwidth\LTcapwidth
+ \fi
+ \captionlinewidth\hsize
+ \realcaptionwidth\hsize
+ \captionlabelfalse#1\captionlabeltrue
+ \def\captionlabel{#2}%
+ \def\captiontext{#3}%
+ \usecaptionstyle{longtable}%
+ \endgraf\vskip\baselineskip}%
+ \hss}}}
+ \fi}
+\newcommand*\setsubcapstyle{%
+ \@ifundefined{subcapraggedrightfalse}{%
+ \newif\ifsubcapraggedright}{}%
+ \ifsubcaphang
+ \ifsubcapcenter
+ \subcapstyle{hang+center}%
+ \else\ifsubcapcenterlast
+ \subcapstyle{hang+centerlast}%
+ \else\ifsubcapraggedright
+ \subcapstyle{hang+flushleft}%
+ \else
+ \subcapstyle{hang}%
+ \fi\fi\fi
+ \else\ifsubcapcenter
+ \subcapstyle{center}%
+ \else\ifsubcapcenterlast
+ \subcapstyle{centerlast}%
+ \else\ifsubcapraggedright
+ \subcapstyle{flushleft}%
+ \else
+ \subcapstyle{normal}%
+ \fi\fi\fi\fi}
+\newcommand\caption@makesubcaption[2]{%
+ \renewcommand*\captionfont{\subcapsize\subcapfont}%
+ \renewcommand*\captionlabelfont{\normalfont\subcapsize\subcaplabelfont}%
+ \let\captionlabeldelim\subcaplabeldelim
+ \let\captionlabelsep\subcaplabelsep
+ \ifsubfigcapwidth\captionwidthtrue\else\captionwidthfalse\fi
+ \setlength\captionmargin\subfigcapmargin
+ \setlength\captionwidth\subfigcapwidth
+ \captionindent\subcapindent
+ \ifsubcapnooneline\onelinecaptionsfalse\else\onelinecaptionstrue\fi
+ \hbox to\@tempdima{%
+ \caption@subfig@hss\parbox[t]{\@tempdima}{%
+ \captionlinewidth\@tempdima
+ \realcaptionwidth\@tempdima
+ \captionlabeltrue
+ \def\captionlabel{#1}%
+ \def\captiontext{\ignorespaces #2}%
+ \usecaptionstyle{\caption@substyle}}%
+ \caption@subfig@hss}}
+\caption@package{subfigure}{@makesubfigurecaption}{%
+ \let\setsubcapstyle\undefined
+ \let\caption@makesubcaption\undefined}{%
+ \ifx\@makesubfigurecaption\relax
+ \PackageWarning{caption2}{%
+ Option `subfigure' was set but there is no subfigure package loaded}
+ \let\setsubcapstyle\undefined
+ \let\caption@makesubcaption\undefined
+ \else
+ \ifx\subcapfont\undefined
+ \PackageInfo{caption2}{subfigure package v2.0 detected}
+ \let\subcapfont\@empty
+ \newcommand*\subfigcapwidth{\z@}
+ \newcommand*\setsubcapmargin{%
+ \subfigcapwidthfalse
+ \renewcommand*\subfigcapmargin}
+ \newcommand*\setsubcapwidth{%
+ \subfigcapwidthtrue
+ \renewcommand*\subfigcapwidth}
+ \newcommand*\subcaplabelsep{\space}
+ \let\caption@subfig@hss\hfil
+ \else
+ \PackageInfo{caption2}{subfigure package v2.1 (or newer) detected}
+ \newdimen\subfigcapwidth
+ \newcommand*\setsubcapmargin{%
+ \subfigcapwidthfalse
+ \setlength\subfigcapmargin}
+ \newcommand*\setsubcapwidth{%
+ \subfigcapwidthtrue
+ \setlength\subfigcapwidth}
+ \newcommand*\subcaplabelsep{\hskip\subfiglabelskip}
+ \let\caption@subfig@hss\hss
+ \fi
+ \newif\ifsubfigcapwidth
+ \newdimen\subcapindent
+ \newcommand*\subcaplabeldelim{}
+ \newcommand*\subcapstyle[1]{%
+ \expandafter\ifx\csname caption@@#1\endcsname\relax
+ \PackageError{caption2}{Undefined caption style `#1'}{\caption@eh}%
+ \else
+ \def\caption@substyle{#1}%
+ \fi}
+ \setsubcapstyle
+ \renewcommand*\@thesubfigure{\thesubfigure}
+ \renewcommand*\@thesubtable{\thesubtable}
+ \let\@makesubfigurecaption\caption@makesubcaption
+ \let\@makesubtablecaption\caption@makesubcaption
+ \fi}
+\let\caption@package\undefined
+\endinput
+%%
+%% End of file `caption2.sty'.
diff --git a/Master/texmf-dist/tex/latex/caption/caption3.sty b/Master/texmf-dist/tex/latex/caption/caption3.sty
new file mode 100644
index 00000000000..75bed31ea4b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/caption/caption3.sty
@@ -0,0 +1,414 @@
+%%
+%% This is file `caption3.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% caption.dtx (with options: `kernel')
+%%
+%% Copyright (C) 1994-2005 Axel Sommerfeldt (caption@sommerfeldt.net)
+%%
+%% --------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% 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.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Axel Sommerfeldt.
+%%
+%% This work consists of the files caption.ins, caption.dtx,
+%% caption2.dtx, caption.xml, and anleitung.tex and the derived files
+%% caption.sty, caption2.sty, caption3.sty, and manual.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{caption3}[2005/06/11 v3.0f caption3 kernel (AS)]
+\providecommand*\@nameundef[1]{%
+ \expandafter\let\csname #1\endcsname\@undefined}
+\providecommand\l@addto@macro[2]{%
+ \begingroup
+ \toks@\expandafter{#1#2}%
+ \edef\@tempa{\endgroup\def\noexpand#1{\the\toks@}}%
+ \@tempa}
+\def\bothIfFirst#1#2{%
+ \protected@edef\caption@tempa{#1}%
+ \ifx\caption@tempa\@empty\else
+ #1#2%
+ \fi}
+\def\bothIfSecond#1#2{%
+ \protected@edef\caption@tempa{#2}%
+ \ifx\caption@tempa\@empty\else
+ #1#2%
+ \fi}
+\def\caption@ifinlist#1#2{%
+ \let\next\@secondoftwo
+ \edef\caption@tempa{#1}%
+ \@for\caption@tempb:={#2}\do{%
+ \ifx\caption@tempa\caption@tempb
+ \let\next\@firstoftwo
+ \fi}%
+ \next}
+\def\caption@setbool#1#2{%
+ \caption@ifinlist{#2}{1,true,yes,on}{%
+ \expandafter\let\csname caption@if#1\endcsname\@firstoftwo
+ }{\caption@ifinlist{#2}{0,false,no,off}{%
+ \expandafter\let\csname caption@if#1\endcsname\@secondoftwo
+ }{%
+ \PackageError{caption}{Undefined boolean value `#2'}{\caption@eh}%
+ }}}
+\def\caption@ifbool#1{\@nameuse{caption@if#1}}
+\RequirePackage{keyval}[1997/11/10]
+\providecommand*\undefine@key[2]{%
+ \@nameundef{KV@#1@#2}\@nameundef{KV@#1@#2@default}}
+\newcommand\DeclareCaptionOption{%
+ \@ifstar{\caption@declareoption\AtEndOfPackage}%
+ {\caption@declareoption\@gobble}}
+\newcommand*\caption@declareoption[2]{%
+ #1{\undefine@key{caption}{#2}}\define@key{caption}{#2}}
+\@onlypreamble\DeclareCaptionOption
+\@onlypreamble\caption@declareoption
+\def\captionsetup{\@ifnextchar[\caption@setuptype\caption@setup}
+\def\caption@setuptype[#1]#2{%
+ \@ifundefined{caption@typ@#1}%
+ {\@namedef{caption@typ@#1}{#2}}%
+ {\expandafter\l@addto@macro\csname caption@typ@#1\endcsname{,#2}}}
+\def\caption@setup{\setkeys{caption}}
+\def\caption@settype#1{%
+ \@ifundefined{caption@typ@#1}{}{%
+ \caption@esetup{\csname caption@typ@#1\endcsname}}}
+\def\caption@esetup#1{%
+ \edef\caption@tempa{\noexpand\caption@setup{#1}}%
+ \caption@tempa}
+\newcommand*\clearcaptionsetup[1]{\@nameundef{caption@typ@#1}}
+\newcommand*\showcaptionsetup[2][\@firstofone]{%
+ \GenericWarning{}{%
+ #1 Caption Info: KV list on `#2'\MessageBreak
+ #1 Caption Data: (%
+ \@ifundefined{caption@typ@#2}{%
+ % Empty -- print nothing.
+ }{%
+ \@nameuse{caption@typ@#2}%
+ }%
+ )}}
+\newcommand\caption@eh{%
+ If you do not understand this error, please take a closer look\MessageBreak
+ at the documentation of the `caption' package.\MessageBreak
+ \@ehc}
+\newdimen\captionmargin
+\newdimen\captionwidth
+\newif\ifcaption@width
+\DeclareCaptionOption{margin}{\caption@setmargin{#1}}
+\DeclareCaptionOption{width}{\caption@setwidth{#1}}
+\newcommand\caption@setmargin{%
+ \caption@widthfalse
+ \setlength\captionmargin}
+\newcommand\caption@setwidth{%
+ \caption@widthtrue
+ \setlength\captionwidth}
+\newdimen\captionindent
+\newdimen\captionparindent
+\newdimen\captionhangindent
+\DeclareCaptionOption{indent}[\leftmargini]{\setlength\captionindent{#1}}% obsolete!
+\DeclareCaptionOption{indention}[\leftmargini]{\setlength\captionindent{#1}}
+\DeclareCaptionOption{parindent}[\parindent]{\setlength\captionparindent{#1}}% changed v3.0b
+\DeclareCaptionOption{hangindent}[0pt]{\setlength\captionhangindent{#1}}% changed v3.0b
+\newcommand*\DeclareCaptionStyle[1]{%
+ \@ifnextchar[{\caption@declarestyle{#1}}{\caption@declarestyle{#1}[]}}
+\def\caption@declarestyle#1[#2]#3{%
+ \global\@namedef{caption@sls@#1}{#2}%
+ \global\@namedef{caption@sty@#1}{#3}}
+\@onlypreamble\DeclareCaptionStyle
+\@onlypreamble\caption@declarestyle
+\DeclareCaptionOption{style}{\caption@setstyle{#1}}
+\newcommand\caption@setstyle{%
+ \@ifstar{\caption@@setstyle\@gobble}{\caption@@setstyle\@firstofone}}
+\newcommand*\caption@@setstyle[2]{%
+ \@ifundefined{caption@sty@#2}%
+ {#1{\PackageError{caption}{Undefined caption style `#2'}{\caption@eh}}}%
+{\expandafter\let\expandafter\caption@sls\csname caption@sls@#2\endcsname
+ \caption@setdefault\caption@esetup{\csname caption@sty@#2\endcsname}}}
+\newcommand\caption@setdefault{\captionsetup{%
+ format=default,labelformat=default,labelsep=default,justification=default,%
+ font=default,labelfont=default,textfont=default,%
+ margin=0pt,indention=0pt,parindent=0pt,hangindent=0pt,singlelinecheck}}
+\DeclareCaptionStyle{default}[indent=0pt,justification=centering]{}
+\def\DeclareCaptionFormat{%
+ \@ifstar{\caption@declareformat\@gobble}{\caption@declareformat\@firstofone}}
+\newcommand\caption@declareformat[3]{%
+ \global\expandafter\let\csname caption@ifh@#2\endcsname#1%
+ \global\long\expandafter\def\csname caption@fmt@#2\endcsname##1##2##3{#3}}
+\@onlypreamble\DeclareCaptionFormat
+\@onlypreamble\caption@declareformat
+\DeclareCaptionOption{format}{\caption@setformat{#1}}
+\newcommand*\caption@setformat[1]{%
+ \@ifundefined{caption@fmt@#1}%
+ {\PackageError{caption}{Undefined caption format `#1'}{\caption@eh}}%
+ {\expandafter\let\expandafter\caption@ifh\csname caption@ifh@#1\endcsname
+ \expandafter\let\expandafter\caption@fmt\csname caption@fmt@#1\endcsname}}
+\DeclareCaptionFormat{@normal}{#1#2#3\par}
+\DeclareCaptionFormat{hang}{%
+ \@hangfrom{#1#2}%
+ \advance\captionparindent\hangindent
+ \advance\captionhangindent\hangindent
+ \caption@@par
+ #3\par}
+\def\caption@fmt@default{\caption@fmt@@normal}
+\def\caption@ifh@default{\caption@ifh@@normal}% bugfix v3.0e (05-04-28)
+\newcommand*\DeclareCaptionLabelFormat[2]{%
+ \global\expandafter\def\csname caption@lfmt@#1\endcsname##1##2{#2}}
+\@onlypreamble\DeclareCaptionLabelFormat
+\DeclareCaptionOption{labelformat}{\caption@setlabelformat{#1}}
+\newcommand*\caption@setlabelformat[1]{%
+ \@ifundefined{caption@lfmt@#1}%
+ {\PackageError{caption}{Undefined caption label format `#1'}{\caption@eh}}%
+ {\expandafter\let\expandafter\caption@lfmt\csname caption@lfmt@#1\endcsname}}
+\DeclareCaptionLabelFormat{empty}{}
+\DeclareCaptionLabelFormat{simple}{\bothIfFirst{#1}{\nobreakspace}#2}
+\DeclareCaptionLabelFormat{parens}{\bothIfFirst{#1}{\nobreakspace}(#2)}
+\def\caption@lfmt@default{\caption@lfmt@simple}
+\newcommand\DeclareCaptionLabelSeparator[2]{%
+ \global\long\@namedef{caption@lsep@#1}{#2}}
+\@onlypreamble\DeclareCaptionLabelSeparator
+\DeclareCaptionOption{labelsep}{\caption@setlabelseparator{#1}}
+\DeclareCaptionOption{labelseparator}{\caption@setlabelseparator{#1}}
+\newcommand*\caption@setlabelseparator[1]{%
+ \@ifundefined{caption@lsep@#1}%
+ {\PackageError{caption}{Undefined caption label separator `#1'}{\caption@eh}}%
+ {\expandafter\let\expandafter\caption@lsep\csname caption@lsep@#1\endcsname}}
+\DeclareCaptionLabelSeparator{none}{}
+\DeclareCaptionLabelSeparator{colon}{: }
+\DeclareCaptionLabelSeparator{period}{. }
+\DeclareCaptionLabelSeparator{space}{ }
+\DeclareCaptionLabelSeparator{quad}{\quad}
+\DeclareCaptionLabelSeparator{newline}{\\}% 05-03-23 (v3.0f)
+\def\caption@lsep@default{\caption@lsep@colon}
+\newcommand*\DeclareCaptionJustification[2]{%
+ \global\@namedef{caption@hj@#1}{#2}}
+\@onlypreamble\DeclareCaptionJustification
+\DeclareCaptionOption{justification}{\caption@setjustification{#1}}
+\newcommand*\caption@setjustification[1]{%
+ \@ifundefined{caption@hj@#1}%
+ {\PackageError{caption}{Undefined caption justification `#1'}{\caption@eh}}%
+ {\expandafter\let\expandafter\caption@hj\csname caption@hj@#1\endcsname}}
+\DeclareCaptionJustification{justified}{}
+\DeclareCaptionJustification{centering}{\centering}
+\DeclareCaptionJustification{centerfirst}{\caption@centerfirst}
+\DeclareCaptionJustification{centerlast}{\caption@centerlast}
+\DeclareCaptionJustification{raggedleft}{\raggedleft}
+\DeclareCaptionJustification{raggedright}{\raggedright}
+\def\caption@hj@default{\caption@hj@justified}
+\newcommand\caption@centerfirst{%
+ \edef\caption@normaladjust{%
+ \leftskip\the\leftskip
+ \rightskip\the\rightskip
+ \parfillskip\the\parfillskip\relax}%
+ \leftskip\z@\@plus -1fil%
+ \rightskip\z@\@plus 1fil%
+ \parfillskip\z@skip
+ \noindent\hskip\z@\@plus 2fil%
+ \@setpar{\@@par\@restorepar\caption@normaladjust}}
+\newcommand\caption@centerlast{%
+ \leftskip\z@\@plus 1fil%
+ \rightskip\z@\@plus -1fil%
+ \parfillskip\z@\@plus 2fil\relax}
+\DeclareCaptionJustification{Centering}{%
+ \caption@ragged\Centering\centering}
+\DeclareCaptionJustification{RaggedLeft}{%
+ \caption@ragged\RaggedLeft\raggedleft}
+\DeclareCaptionJustification{RaggedRight}{%
+ \caption@ragged\RaggedRight\raggedright}
+\newcommand*\caption@ragged[2]{%
+ \@ifundefined{caption\string#1}{%
+ \PackageWarning{caption}{%
+ Cannot locate the `ragged2e' package, therefore\MessageBreak
+ substituting \string#2 for \string#1\MessageBreak}%
+ \global\@namedef{caption\string#1}}{}%
+ #2}
+\AtBeginDocument{\IfFileExists{ragged2e.sty}{%
+ \RequirePackage{ragged2e}\let\caption@ragged\@firstoftwo}{}}
+\newcommand\DeclareCaptionFont[2]{%
+ \define@key{caption@fnt}{#1}[]{\g@addto@macro\caption@tempa{#2}}}
+\@onlypreamble\DeclareCaptionFont
+\DeclareCaptionOption{font}{\caption@setfont{font}{#1}}
+\DeclareCaptionOption{labelfont}{\caption@setfont{labelfont}{#1}}
+\DeclareCaptionOption{textfont}{\caption@setfont{textfont}{#1}}
+\newcommand*\caption@setfont[2]{%
+ \let\caption@tempa\@empty
+ \begingroup
+ \setkeys{caption@fnt}{#2}%
+ \endgroup
+ \expandafter\let\csname caption#1\endcsname\caption@tempa}
+\DeclareCaptionFont{default}{}
+\DeclareCaptionFont{scriptsize}{\scriptsize}
+\DeclareCaptionFont{footnotesize}{\footnotesize}
+\DeclareCaptionFont{small}{\small}
+\DeclareCaptionFont{normalsize}{\normalsize}
+\DeclareCaptionFont{large}{\large}
+\DeclareCaptionFont{Large}{\Large}
+\DeclareCaptionFont{up}{\upshape}
+\DeclareCaptionFont{it}{\itshape}
+\DeclareCaptionFont{sl}{\slshape}
+\DeclareCaptionFont{sc}{\scshape}
+\DeclareCaptionFont{md}{\mdseries}
+\DeclareCaptionFont{bf}{\bfseries}
+\DeclareCaptionFont{rm}{\rmfamily}
+\DeclareCaptionFont{sf}{\sffamily}
+\DeclareCaptionFont{tt}{\ttfamily}
+\providecommand\captionsize{}
+\DeclareCaptionOption{size}{\caption@setfont{size}{#1}}% changed v3.0a
+\@ifundefined{abovecaptionskip}{%
+ \newlength\abovecaptionskip\setlength\abovecaptionskip{10\p@}}{}
+\@ifundefined{belowcaptionskip}{%
+ \newlength\belowcaptionskip\setlength\belowcaptionskip{0\p@}}{}
+\DeclareCaptionOption{aboveskip}{\setlength\abovecaptionskip{#1}}
+\DeclareCaptionOption{belowskip}{\setlength\belowcaptionskip{#1}}
+\DeclareCaptionOption{skip}{\setlength\abovecaptionskip{#1}}% new 3.0d
+\DeclareCaptionOption{position}{\caption@setposition{#1}}
+\newcommand*\caption@setposition[1]{%
+ \caption@ifinlist{#1}{d,default}{%
+ \def\caption@position{\caption@defaultpos}%
+ }{\caption@ifinlist{#1}{t,top,above}{%
+ \let\caption@position\@firstoftwo
+ }{\caption@ifinlist{#1}{b,bottom,below}{%
+ \let\caption@position\@secondoftwo
+ }{\caption@ifinlist{#1}{a,auto}{%
+ \let\caption@position\@undefined
+ }{%
+ \PackageError{caption}{Undefined caption position `#1'}{\caption@eh}%
+ }}}}}
+\let\caption@defaultpos\@secondoftwo
+\newcommand\caption@iftop{% bugfixed v3.0a, improved v3.0d
+ \ifx\caption@position\@undefined
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\caption@position
+ \fi}
+\newcommand\caption@fixposition{%
+ \ifx\caption@position\@undefined
+ \caption@autoposition
+ \fi}
+\newcommand\caption@autoposition{% bugfixed v3.0a
+ \ifvmode
+ \ifodd\caption@debug\relax
+ \edef\caption@tempa{\the\prevdepth}%
+ \PackageInfo{caption}{\protect\prevdepth=\caption@tempa}%
+ \fi
+ \ifdim\prevdepth>-\p@
+ \let\caption@position\@secondoftwo
+ \else
+ \let\caption@position\@firstoftwo
+ \fi
+ \else
+ \ifodd\caption@debug\relax
+ \PackageInfo{caption}{no \protect\prevdepth}%
+ \fi
+ \let\caption@position\@secondoftwo
+ \fi}
+\newcommand\caption@beginhook{}
+\newcommand\caption@endhook{}
+\newcommand\AtBeginCaption{\l@addto@macro\caption@beginhook}
+\newcommand\AtEndCaption{\l@addto@macro\caption@endhook}
+\DeclareCaptionOption{parskip}[5pt]{\AtBeginCaption{\setlength\parskip{#1}}}
+\DeclareCaptionOption{listof}{\caption@setbool{lof}{#1}}% new v3.0b
+\DeclareCaptionOption{singlelinecheck}[1]{\caption@setbool{slc}{#1}}
+\DeclareCaptionOption{strut}{\caption@setbool{strut}{#1}}% new v3.0d
+\DeclareCaptionOption{debug}{\def\caption@debug{#1}}
+\captionsetup{style=default,position=default,listof=1,strut=1,debug=0}
+\newif\ifcaption@star
+\newcommand\caption@make[2]{%
+ \caption@@make{\caption@lfmt{#1}{#2}}}
+\newcommand\caption@@make[2]{%
+ \caption@beginhook
+ \caption@calcmargin
+ \caption@ifslc{%
+ \ifx\caption@sls\@empty\else
+ \caption@startslc
+ \setbox\@tempboxa\hbox{\caption@@@make{#1}{#2}}%
+ \ifdim\wd\@tempboxa >\captionwidth
+ \caption@endslc
+ \else
+ \caption@endslc
+ \caption@esetup\caption@sls
+ \caption@calcmargin
+ \fi
+ \fi}{}%
+ \@tempdima\captionmargin
+ \caption@ifh{\advance\@tempdima by \captionindent}%
+ \ifdim\@tempdima=\z@\else
+ \hskip\@tempdima
+ \fi
+ \@tempdima\captionwidth
+ \caption@ifh{\advance\@tempdima by -\captionindent}%
+ \caption@startbox\@tempdima
+ \caption@ifh{%
+ \ifdim\captionindent=\z@
+ \leavevmode
+ \else
+ \hskip-\captionindent
+ \fi}%
+ \caption@@@make{#1}{#2}%
+ \caption@endbox
+ \ifdim\captionmargin=\z@\else
+ \hskip\captionmargin
+ \fi
+ \caption@endhook
+ \global\caption@starfalse}
+\newcommand\caption@calcmargin{%
+ \ifcaption@width
+ \captionmargin\hsize
+ \advance\captionmargin by -\captionwidth
+ \divide\captionmargin by 2
+ \else
+ \captionwidth\hsize
+ \advance\captionwidth by -2\captionmargin
+ \fi
+ \ifodd\caption@debug\relax
+ \PackageInfo{caption}{\protect\hsize=\the\hsize,
+ \protect\margin=\the\captionmargin,
+ \protect\width=\the\captionwidth}%
+ \fi}
+\newcommand\caption@startslc{%
+ \begingroup
+ \let\label\@gobble\let\@footnotetext\@gobble
+ \def\stepcounter##1{\advance\csname c@##1\endcsname\@ne\relax}%
+ \let\caption@hj\relax}
+\newcommand\caption@endslc{%
+ \endgroup}
+\newcommand*\caption@startbox[1]{\vbox\bgroup\hsize#1}%
+\newcommand*\caption@endbox{\egroup}
+\newcommand\caption@@@make[2]{%
+ \caption@ifempty{#2}{% changed v3.0e
+ \let\caption@lsep\relax
+ \let\caption@ifstrut\@secondoftwo % added v3.0e
+ }%
+ \def\caption@@par{%
+ \parindent\captionparindent\hangindent\captionhangindent}%
+ \@setpar{\@@par\caption@@par}\caption@@par
+ \caption@hj\captionsize\captionfont
+ \caption@fmt{\ifcaption@star\else{\captionlabelfont#1}\fi}%
+ {\ifcaption@star\else{\captionlabelfont\caption@lsep}\fi}%
+ {{\captiontextfont
+ \caption@ifstrut{\vrule\@height\ht\strutbox\@width\z@}{}%
+ \nobreak\hskip\z@skip
+ #2%
+ \caption@ifstrut{\@finalstrut\strutbox}{}%
+ \par}}}
+\newcommand\caption@ifempty[1]{%
+ \def\caption@tempa{#1}%
+ \def\caption@tempb{\ignorespaces}%
+ \ifx\caption@tempa\caption@tempb
+ \let\caption@tempa\@empty
+ \fi
+ \ifx\caption@tempa\@empty
+ \expandafter\@firstofone
+ \else
+ \expandafter\@gobble
+ \fi}
+\endinput
+%%
+%% End of file `caption3.sty'.