From 2034f98ccd2647b427b70c8ecd1fb430e9e1592e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 19 Oct 2007 17:53:31 +0000 Subject: caption 3.1c git-svn-id: svn://tug.org/texlive/trunk@5235 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/caption/README | 39 ++ .../texmf-dist/doc/latex/caption/caption-deu.pdf | Bin 321472 -> 320101 bytes .../texmf-dist/doc/latex/caption/caption-deu.tex | 167 +++--- .../texmf-dist/doc/latex/caption/caption-eng.pdf | Bin 306378 -> 330119 bytes .../texmf-dist/doc/latex/caption/caption-eng.tex | 620 +++++++++++++++++---- Master/texmf-dist/doc/latex/caption/caption.pdf | Bin 352782 -> 354519 bytes Master/texmf-dist/doc/latex/caption/caption2.pdf | Bin 139001 -> 139207 bytes Master/texmf-dist/doc/latex/caption/ltcaption.pdf | Bin 119481 -> 121528 bytes Master/texmf-dist/source/latex/caption/caption.dtx | 541 ++++++++++-------- .../texmf-dist/source/latex/caption/caption2.dtx | 14 +- .../texmf-dist/source/latex/caption/ltcaption.dtx | 34 +- Master/texmf-dist/tex/latex/caption/caption.sty | 195 +++---- Master/texmf-dist/tex/latex/caption/caption3.sty | 71 ++- 13 files changed, 1118 insertions(+), 563 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/caption/README (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/caption/README b/Master/texmf-dist/doc/latex/caption/README new file mode 100644 index 00000000000..c325886fd90 --- /dev/null +++ b/Master/texmf-dist/doc/latex/caption/README @@ -0,0 +1,39 @@ +The caption package bundle +Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) + +License: LPPL = LaTeX Project Public Licence +Maintenance Status: maintained (by Axel Sommerfeldt) + +If you need help for installation please visit: +http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages + +-------------------------------------------------------------------------- + +The caption package v3.1 offers customization of captions in floating +environments such figure and table and cooperates with the packages + + float, floatflt, fltpage, hyperref, hypcap, listings, longtable, + picinpar, picins, rotating, sidecap, subfigure, supertabular, + threeparttable, and wrapfig. + +Furthermore the `floatrow' and the `subfig' package supports the +caption package and use its \captionsetup interface. + +User Manual: caption-eng.pdf (English) + caption-rus.pdf (Russian) + caption-deu.pdf (German) + +-------------------------------------------------------------------------- + +The ltcaption package v1.1 fixes caption problems with other-than-centered +aligned longtables. (solving LaTeX PR `tools/3387') + +A bonus feature is the addition of the environment longtable* which does +not increment the table counter. + +This package will be loaded by the caption package v3.1 automatically, +but can be used without the caption package, too. + +User Manual: ltcaption.pdf (English) + +-------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/caption/caption-deu.pdf b/Master/texmf-dist/doc/latex/caption/caption-deu.pdf index b1dc4ca62f6..b5398813498 100644 Binary files a/Master/texmf-dist/doc/latex/caption/caption-deu.pdf and b/Master/texmf-dist/doc/latex/caption/caption-deu.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/caption-deu.tex b/Master/texmf-dist/doc/latex/caption/caption-deu.tex index e4319a124bc..3b2b526eefd 100644 --- a/Master/texmf-dist/doc/latex/caption/caption-deu.tex +++ b/Master/texmf-dist/doc/latex/caption/caption-deu.tex @@ -23,7 +23,7 @@ % caption-eng.tex, and caption-rus.tex. % \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption-deu.tex}[2007/09/22 v3.1b Das caption-Paket] +\ProvidesFile{caption-deu.tex}[2007/10/01 v3.1c Das caption-Paket] \hbadness=9999 \newcount\hbadness \hfuzz=20pt % Make TeX shut up. %\errorcontextlines=3 @@ -196,9 +196,10 @@ Gestaltungsmerkmale einflie \clearpage \section*{Vorläufige Dokumentation} -Diese Anleitung beschreibt leider noch nicht alle Fassetten und Möglichkeiten, -die einem \thispackage\ bietet. Ich werde mich bemühen, jeden Monat eine -etwas vollständigere Fassung bereitzustellen; die jeweile aktuelle Fassung kann +Diese Anleitung ist leider teilweise inkonsistent und insbesondere noch nicht +fertiggestellt. +Ich werde mich bemühen, sie in den nächsten Monaten zu vervollständigen; +die aktuelle Interimsversion kann immer \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/caption/caption-eng.pdf}% {hier} bezogen werden.\par\bigskip @@ -543,7 +544,7 @@ zentriert werden, wenn sie lediglich aus einer einzigen Textzeile bestehen: \INFO Diesen Mechanismus "ubernimmt \thispackage\ und ignoriert damit in der Regel bei solch kurzen Beschriftungen die mittels der Optionen -|format=| und |justification=| eingestellte Textausrichtung. +|justification=| und |indention=| eingestellte Textausrichtung. Dieses Verhalten kann jedoch mit der Option \begin{quote} |singlelinecheck=|\meta{bool} @@ -764,8 +765,8 @@ entspricht den Optionen |textfont=,margin=0pt,indention=0pt,parindent=0pt|\\ |hangindent=0pt,singlelinecheck=true| \end{quote} -(Aber |justification=centering| wird automatisch gewählt werden, - wenn die Beschriftung in eine einzelne Zeile passt.) +{\small(Aber |justification=centering,indention=0pt| wird automatisch + gewählt werden, wenn die Beschriftung in eine einzelne Zeile passt.)} Der Stil |default| hingegen folgt den Standardwerten der verwendeten Dokumentenklasse. Dieser Stil wird vorausgewählt und entspricht den @@ -776,14 +777,14 @@ Optionen |textfont=default,margin=0pt,indention=0pt,parindent=0pt|\\ |hangindent=0pt,singlelinecheck=true|\quad. \end{quote} -(Aber |justification=centering| und |format=plain| wird automatisch gewählt werden, - wenn die Beschriftung in eine einzelne Zeile passt.) +{\small(Aber |justification=centering,indention=0pt| wird ebenso automatisch + gewählt werden, wenn die Beschriftung in eine einzelne Zeile passt.)} Wenn also eine der drei Standard"=\LaTeX"=Dokumentenklassen verwendet wird, zeigen |base| und |default| auf (fast) die gleichen Einstellungen. -\emph{Hinweis:} Eigene Stile k"onnen mittels |\DeclareCaptionStyle| definiert werden. -\SeeUserDefined +{\small\emph{Hinweis:} Eigene Stile k"onnen mittels |\DeclareCaptionStyle| + definiert werden. \SeeUserDefined} % --------------------------------------------------------------------------- % @@ -1250,7 +1251,7 @@ Als Beispiel mu"s mal wieder eine einfache Definition innerhalb dieses Paketes herhalten, so ist der Stil |base| definiert als \begin{quote} |\DeclareCaptionStyle{base}%|\\ - | [format=plain,justification=centering]{}|\quad. + | [justification=centering,indention=0pt]{}|\quad. \end{quote} % --------------------------------------------------------------------------- % @@ -1307,6 +1308,7 @@ Auch dies l \end{quote} \bigskip\pagebreak[3] + Ein anderes Beispiel: Die Beschriftungen sollen wie folgt aussehen: %\begin{Example} % \captionsetup{aboveskip=0pt} @@ -1324,27 +1326,9 @@ Dies lie"se sich z.B. wie folgt realisieren: |\captionsetup{format=reverse,labelformat=fullparens,|\\ | labelsep=fill,font=small,labelfont=it}| \end{quote}} -Für kurze Beschriftungen, die in eine einzige Zeile passen, wird dieses -Format jedoch nicht automatisch angewandt, da die Option |format=plain| Teil -der \meta{zusätzlichen Optionen} des Beschrifungsstils |default| ist. -Dies läßt sich auf verschiedene Arten ändern, so könnte man z.B.~den -|singlelinecheck| auf |off| setzen. Wenn man die Zentrierung aber beibehalten -möchte, bietet sich die Definition eines eigenen Beschriftungstils an, etwa so: -\begin{quote} - |\DeclareCaptionStyle{mystyle}%|\\ - | [justification=centering]{format=myformat}|\\ - |\captionsetup{style=mystyle}| -\end{quote} -oder -\begin{quote} - |\DeclareCaptionFormat{myshortformat}{|\ldots - \textit{was-auch-immer\ldots}|}|\\ - |\DeclareCaptionStyle{mystyle}%|\\ - | [format=myshortformat]{format=myformat}|\\ - |\captionsetup{style=mystyle}| -\end{quote} \bigskip\pagebreak[3] + Ein weiteres Beispiel: Der Bezeichner soll in den linken Rand verlagert werden, so da"s die komplette Absatzbreite der Beschriftung selber zugute kommt: {\leftmargini=10pt @@ -1414,7 +1398,7 @@ Sie in einem solchen Fall keinen Support. \newcommand*\settings{\textit{Einstellungen}} \newcommand*\nofont{\textit{keiner}} -\subsection{Standard \LaTeX: article, report und book} +\subsection{Standard \LaTeX: article, report \& book} \begin{tabular}{ll} \Option & \defaultvalue \\\hline @@ -1469,7 +1453,7 @@ und |\set|\x|beamer|\x|template|\xx|{caption}|\xx|[|\meta{template}|]| keine Funktion mehr, wenn \thispackage\ verwendet wird. -\subsection{\KOMAScript: scrartcl, scrreprt, and scrbook} +\subsection{\KOMAScript: scrartcl, scrreprt \& scrbook} \label{KOMA} \begin{tabular}{ll} @@ -1497,7 +1481,7 @@ Weiterhin |\captionbelow| die Einstellungsmöglichkeit |position=|, die \thispackage{} anbietet. -\subsection{\NTG: artikel, rapport und boek} +\subsection{\NTG: artikel, rapport \& boek} \label{NTG} \begin{tabular}{ll} @@ -2183,6 +2167,7 @@ Befehl & & Abschnitt \\ |\DeclareCaptionOption| & & \ref{declare} \\ |\DeclareCaptionStyle| & & \ref{declare} \\ |\DeclareCaptionTextFormat| & & \ref{declare} \\ +|\DeclareFloatingEnvironment| & & \ref{DeclareFloatingEnvironment} \\ |\showcaptionsetup| & & \ref{commands} \\ \end{longtable} @@ -2478,7 +2463,9 @@ Option & Kurzbeschreibung & Abschnitt \\ \begin{Warnings} \Message - |! Argument of \@caption has an extra }.| + |Argument of \@caption has an extra }.|\\ +{\color{black}\hspace{1.5em}-- oder --}\\ + |Paragraph ended before \@caption was complete.| \Description Beim Setzen von Beschriftungen, die etwas spezielles wie z.B.~eine Tabelle enthält, ist zu beachten, daß immer ein alternativer Listeneintrag @@ -2570,19 +2557,6 @@ Option & Kurzbeschreibung & Abschnitt \\ Diesen Fehler sollten Sie niemals sehen. Wenn doch, senden Sie mir bitte einen Fehlerbericht per E-Mail. -\Message - |! LaTeX Error: Option clash for package caption.|\\ -{\color{black}\hspace{1.5em}-- oder --}\\ - |! LaTeX Error: Missing \begin{document}.| -\Description - Ein anderes \LaTeX-Paket hat \thispackage\ bereits geladen, Sie können es - daher nicht noch einmal mit anderen Optionen laden. - Als Verdächtiger kommt das \package{subfig}"=Paket in Frage, sollte dies - zutreffen, laden Sie bitte entweder \thispackage\ \emph{vor} dem - \package{subfig}"=Paket oder geben beim Laden des \package{subfig}"=Paketes - die Option |caption=false| an. - \par\See{Dokumentation des \package{subfig}"=Paketes\cite{subfig}} - \Message |Not allowed in longtable* environment.| \Description @@ -2599,9 +2573,29 @@ Option & Kurzbeschreibung & Abschnitt \\ und damit die Anwendung dieses Features bzw.~Befehls verhindert. \par\See{\Ref{compatibility}} +\Message + |Only one \caption can be placed in this environment.| +\Description + Innerhalb der Umgebungen, die das \package{fltpage} oder \package{sidecap} + Paket zur Verfügung stellt, kann nur eine Bildbeschriftung gesetzt werden. + +\Message + |Option clash for package caption.|\\ +{\color{black}\hspace{1.5em}-- oder vielleicht auch --}\\ + |Missing \begin{document}.| +\Description + Ein anderes \LaTeX-Paket hat \thispackage\ bereits geladen, Sie können es + daher nicht noch einmal mit anderen Optionen laden. + Als Verdächtiger kommt z.B.~das \package{ctable} oder das + \package{subfig}"=Paket in Frage; sollte dies zutreffen, + laden Sie bitte entweder \thispackage\ \emph{vor} dem betreffenen Paket. + Im Falle des \package{subfig}"=Paketes können Sie auch alternativ beim + Laden des \package{subfig}"=Paketes die Option |caption=false| angeben. + \par\See{Dokumentation des \package{subfig}"=Paketes\cite{subfig}} + \Message |Runaway argument?|\\ - |! Paragraph ended before \caption@makecurrent was complete.| + |Paragraph ended before \caption@makecurrent was complete.| \Description Beim Setzen von Beschriftungen, die mehr als aus einem Absatz bestehen, ist zu beachten, daß immer ein alternativer Listeneintrag als optionales @@ -2641,12 +2635,13 @@ Option & Kurzbeschreibung & Abschnitt \\ |The option `labelsep=|\meta{name}|' does not work|\\ |with \setcaphanging (which is set by default).| \Description - Ein Bezeichnungstrenner, der ein |\\| Kommando enthält, kann - nicht mit einem Format kombiniert werden, welches "`hängende"' - Beschriftungen liefert. - Bitte wählen Sie einen anderen Trenner oder ein anderes - Beschriftungsformat aus. - \par\See{\Ref{formats} bzw.~\Ref{KOMA}} + Ein Bezeichnungstrenner, der ein |\\| Kommando enthält (wie etwa + |labelsep=|\xx|newline|), kann nicht mit einem Format kombiniert werden, + welches "`hängende"' Beschriftungen liefert (wie etwa |format=|\xx|hang|). + Bitte wählen Sie entweder einen anderen Trenner (wie + z.B. |labelsep=|\xx|colon|), oder aber ein anderes Beschriftungsformat + (wie z.B. |format=|\xx|plain|) aus. + \par\See{\Ref{formats} bzw.~\Ref*{KOMA}} \Message |The package option `caption=false' is obsolete.|\\ @@ -2835,121 +2830,141 @@ f"ur ihre Hilfe beim stetigen Verbessern dieses Paketes bedanken. \bibitem{beamer} Till Tantau:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/beamer/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf}% {\emph{User Guide to the Beamer Class, Version 3.07}},\\ March 11, 2007 \bibitem{KOMAScript} Markus Kohm \& Jens-Uwe-Morawski:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/koma-script/scrguide.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/koma-script/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/koma-script/scrguide.pdf}% {\emph{KOMA-Script -- ein wandelbares \LaTeXe-Paket}},\\ 2007-03-02 \bibitem{NTG} Victor Eijkhout:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/ntgclass/classdoc.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/ntgclass/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/ntgclass/classdoc.pdf}% {\emph{An introduction to the Dutch \LaTeX\ document classes}},\\ 3 September 1989 \bibitem{float} Anselm Lingnau:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/float/float.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/float/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/float/float.pdf}% {\emph{An Improved Environment for Floats}},\\ 2001/11/08 \bibitem{floatflt} Mats Dahlgren:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/floatflt/floatflt.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/floatflt/floatflt.pdf}% {\emph{Welcome to the floatflt package}},\\ 1998/06/05 \bibitem{floatrow} Olga Lapko:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/floatrow/floatrow.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/floatrow/floatrow.pdf}% {\emph{The floatrow package documentation}},\\ - 2006/07/24 + 2007/08/24 \bibitem{fltpage} Sebastian Gross:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/fltpage/fltpage.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/fltpage/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/fltpage/fltpage.pdf}% {\emph{Welcome to the beta test of fltpage package!}},\\ 1998/11/13 \bibitem{hyperref} Sebastian Rahtz \& Heiko Oberdiek:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/hyperref/hyperref.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/hyperref/hyperref.pdf}% {\emph{Hypertext marks in \LaTeX}},\\ June 14, 2007 \bibitem{hypcap} Heiko Oberdiek:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/oberdiek/hypcap.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/oberdiek/hypcap.pdf}% {\emph{The hypcap package -- Adjusting anchors of captions}},\\ 2007/04/09 \bibitem{listings} Carsten Heinz \& Brooks Moses:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/listings/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf}% {\emph{The Listings Package}},\\ 2007/02/22 \bibitem{longtable} David Carlisle:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/required/tools/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf}% {\emph{The longtable package}},\\ 2004/02/01 \bibitem{picinpar} Friedhelm Sowa:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% + \href{http://tug.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% {\emph{Pictures in Paragraphs}},\\ July 13, 1993 \bibitem{picins} Joachim Bleser und Edmund Lang:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex209/contrib/picins/mpic.dvi}% + \href{http://tug.ctan.org/tex-archive/macros/latex209/contrib/picins/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex209/contrib/picins/mpic.dvi}% {\emph{PicIns-Benutzerhandbuch Version 3.0}},\\ September~1992 \bibitem{rotating} Sebastian Rahtz und Leonor Barroca:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/rotating/}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/rotating/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/rotating/}% {\emph{A style option for rotated objects in \LaTeX}},\\ 1997/09/26 \bibitem{sidecap} Rolf Niepraschk \& Hubert G\"a\ss lein:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/sidecap/sidecap.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/sidecap/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/sidecap/sidecap.pdf}% {\emph{The sidecap package}},\\ 2003/06/06 \bibitem{subfigure} Steven D. Cochran:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/subfigure/subfigure.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfigure/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/subfigure/subfigure.pdf}% {\emph{The subfigure package}},\\ 2002/07/02 \bibitem{subfig} Steven D. Cochran:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfig/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}% {\emph{The subfig package}},\\ 2005/07/05 \bibitem{supertabular} Johannes Braams und Theo Jurriens:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/supertabular/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf}% {\emph{The supertabular environment}},\\ 2002/07/19 \bibitem{threeparttable} Donald Arseneau:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/misc/threeparttable.sty}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/misc/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/misc/threeparttable.sty}% {\emph{Three part tables: title, tabular environment, notes}},\\ 2003/06/13 \bibitem{wrapfig} Donald Arseneau:\\ - \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/wrapfig/wrapfig.sty}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/wrapfig/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/wrapfig/wrapfig.sty}% {\emph{WRAPFIG.STY ver 3.6}},\\ 2003/01/31 \end{thebibliography} diff --git a/Master/texmf-dist/doc/latex/caption/caption-eng.pdf b/Master/texmf-dist/doc/latex/caption/caption-eng.pdf index 76d0c31ece3..6bb484396d2 100644 Binary files a/Master/texmf-dist/doc/latex/caption/caption-eng.pdf and b/Master/texmf-dist/doc/latex/caption/caption-eng.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/caption-eng.tex b/Master/texmf-dist/doc/latex/caption/caption-eng.tex index 831e97f493e..6f27f879e0f 100644 --- a/Master/texmf-dist/doc/latex/caption/caption-eng.tex +++ b/Master/texmf-dist/doc/latex/caption/caption-eng.tex @@ -23,7 +23,7 @@ % caption-eng.tex, and caption-rus.tex. % \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption-eng.tex}[2007/09/22 v3.1b The caption package] +\ProvidesFile{caption-eng.tex}[2007/10/17 v3.1c The caption package] \hbadness=9999 \newcount\hbadness \hfuzz=20pt % Make TeX shut up. %\errorcontextlines=3 @@ -90,10 +90,11 @@ \newcommand*\xx{\discretionary{}{}{}} \newenvironment{Options}[1]% - {\list{}{\renewcommand{\makelabel}[1]{\texttt{##1}\hfil}% - \settowidth{\labelwidth}{\texttt{#1\space}}% - \setlength{\leftmargin}{\labelwidth}% - \addtolength{\leftmargin}{\labelsep}}}% + {\list{}{\renewcommand\makelabel[1]{\texttt{##1}\hfil}% + \settowidth\labelwidth{\texttt{#1\space}}% + \setlength\leftmargin{10pt}% + \addtolength\leftmargin{\labelwidth}% + \addtolength\leftmargin{\labelsep}}}% {\endlist} \newenvironment{Example}% @@ -131,7 +132,7 @@ \newcommand*\See[1]{\nopagebreak{\small (See #1)}} \newcommand*\SeeUserDefined[1][]{\See{\Ref{declare}#1}} -\def\TODO{\emph{-- Some information is missing here --}} +%\def\TODO{\emph{-- Some information is missing here --}} % --------------------------------------------------------------------------- % @@ -187,8 +188,8 @@ caption formatting options, but you are free to define your very own stuff, too. \section*{Preliminary documentation} -Please note that this document is not describing all features of \thispackage\ yet. -It'll try to update it every month; the actual version can be found +Please note that this document is inconsistent and not finished yet. +It'll try to update it within the next months; the actual version can always be found \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/caption/caption-eng.pdf}% {here}.\par\bigskip @@ -533,8 +534,8 @@ automatically center a caption if it fits in one single line: \INFO \Thispackage\ adapts this behaviour and therefore usually -ignores the format \& justification you have set with |format=| \& -|justification=| in such case. +ignores the justification \& indention you have set with |justification=| \& +|indention=| in such case. But you can switch this special treatment of such short captions off with the option \begin{quote} @@ -751,8 +752,8 @@ has the same effect as specifying all these options: |textfont=,margin=0pt,indention=0pt,parindent=0pt|\\ |hangindent=0pt,singlelinecheck=true| \end{quote} -(But |justification=centering| will be set if the caption fits into a - single line.) +{\small(But |justification=centering,indention=0pt| will be set if + the caption fits into a single line.)} In contrast the |default| style follows the default values, reflecting the look of the captions given by the document class you actually use. @@ -763,14 +764,14 @@ This style is selected by default and represents these options: |textfont=default,margin=0pt,indention=0pt,parindent=0pt|\\ |hangindent=0pt,singlelinecheck=true| \end{quote} -(But |justification=centering| and |format=plain| will be set if the - caption fits into a single line.) +{\small(But again |justification=centering,indention=0pt| will be set if + the caption fits into a single line.)} So if you use one of the base \LaTeX\ document classes, both |base| and |default| point to the nearly same settings. -\emph{Note:} Own caption styles can be defined using |\DeclareCaptionStyle|. -\SeeUserDefined +{\small\emph{Note:} Own caption styles can be defined using + |\DeclareCaptionStyle|. \SeeUserDefined} % --------------------------------------------------------------------------- % @@ -1222,7 +1223,7 @@ Again a very easy example taken from the core of this package: The caption style |base| is pre-defined as \begin{quote} |\DeclareCaptionStyle{base}%|\\ - | [format=plain,justification=centering]{}|\quad. + | [justification=centering,indention=0pt]{}|\quad. \end{quote} % --------------------------------------------------------------------------- % @@ -1280,6 +1281,7 @@ This could be done, too: would give the same result as the example above. \bigskip\pagebreak[3] + A different example: You want captions to look like this: %\begin{Example} % \captionsetup{aboveskip=0pt} @@ -1297,26 +1299,9 @@ You could do it this way: |\captionsetup{format=reverse,labelformat=fullparens,|\\ | labelsep=fill,font=small,labelfont=it}| \end{quote}} -For short captions---which fit into one single line---this format will not -be used, since |format=plain| is part of the \meta{single-line-code} of the -caption style |default| which will be used as long as no different style is -selected. If you don't like this, you could either switch the |singlelinecheck| -|off|, or you could define an appropriate style for yourself, e.g.: -\begin{quote} - |\DeclareCaptionStyle{mystyle}%|\\ - | [justification=centering]{format=myformat}|\\ - |\captionsetup{style=mystyle}| -\end{quote} -or -\begin{quote} - |\DeclareCaptionFormat{myshortformat}{|\ldots - \textit{use your illusion here}|}|\\ - |\DeclareCaptionStyle{mystyle}%|\\ - | [format=myshortformat]{format=myformat}|\\ - |\captionsetup{style=mystyle}| -\end{quote} \bigskip\pagebreak[3] + Another example: The caption text should go into the left margin; a possible solution would be: {\leftmargini=10pt @@ -1394,14 +1379,34 @@ If you don't get such warning everything is fine, but if you get it the usage of |textfont=| & \nofont \\ \end{tabular} -\textbf{Build-in features:} None - \noindent{\small(\emph{Note:} This also applies to document classes derived from them.)} \subsection{\AmS: amsart, amsproc, and amsbook} \label{AMS} -\TODO +\begin{tabular}{ll} +\Option & \defaultvalue \\\hline +|format=| & |plain| \\ +|labelformat=| & |simple| \\ +|labelsep=| & a period $+$ |\enspace| \\ +|justification=| & |justified| \\ +|font=| & |\@captionfont| \\ +|labelfont=| & |\@captionheadfont| \\ +|textfont=| & |\@captionfont\upshape| \\ +\end{tabular} + +{\small(|\@captionfont| will be set to |\normalfont|, and |\@captionheadfont| to |\scshape| + by the \AmS\ document classes.)} + +Furthermore the margin will be set to |\captionindent| for more-than-one-line captions +(which will be set to |3pc| by the \AmS\ classes), +the margin for single-line captions will be set to the half of it instead. +If you want to use a common margin for both, insert |\clearcaptionsetup[margin]{SingleLine}| +into the preamble of your document, after loading \thispackage. + +Additionally the options |figureposition=b,tableposition=t| will be set. +You can override these settings by specifing other values for +|figureposition=| or |tableposition=| in the option list while loading \thispackage. \subsection{beamer} \label{beamer} @@ -1482,7 +1487,12 @@ one of the two options |labelfont=| or |textfont=| offered by \thispackage. \subsection{\SmF{} classes: smfart and smfbook} \label{SMF} -\TODO +Since the \SmF\ document classes are derived from the \AmS\ document classes +the same default values are valid here. + +Additionally the margin is limited up to the tenth of the |\linewidth|. +If you don't like this limitation, you can switch it off with the option +|maxmargin=off| or |maxmargin=false| (which both means the same). \subsection{The frenchb Babel option} \label{frenchb} @@ -1544,41 +1554,158 @@ captions, too: Furthermore the \package{floatrow} and the \package{subfig} package supports \thispackage\ and use its |\captionsetup| interface. +\newcommand\packagedescription[1]{% + \nopagebreak + \parbox[b]{\linewidth}{\footnotesize\leftskip=10pt\rightskip=10pt\relax#1}% + \nopagebreak\smallskip\nopagebreak} +\newcommand\Note{\smallskip\emph{Note:}~} + +\pagebreak[3] \subsection{float} \label{float} +\packagedescription{% +The \package{float} package\cite{float} introduces the commands +\cs{restylefloat} to give existing floating environments a new look \& feel +and \cs{newfloat} to define new floating environments. +It also provides the \texttt{H} float placement option of the obsolete +\package{here} package.} + +For floating environments defined with \cs{newfloat} or \cs{restylefloat} the +|position| option has no effect on the main caption anymore, since its +placement and spacing will be controlled by the selected float style instead. + +Furthermore a caption style and options defined with the name of the float +style will be executed additionally to the regular ones. +Using this mechanism \thispackage\ emulates the default look \& feel of the +|ruled| captions: It defines the caption style +\begin{quote} + |\DeclareCaptionStyle{ruled}{labelfont=bf,labelsep=space,|\\ + | strut=off}|~. +\end{quote} +So to change this you need either define your own caption style called +|ruled| or use |\captionsetup[ruled]|\marg{options}.%, +%e.g.~|\captionsetup[ruled]{labelsep=colon}|. + +Also by using this mechanism the skip between a |boxed| float and its caption +is specified, overriding its global value: +\begin{quote} + |\captionsetup[boxed]{skip=2pt}| +\end{quote} +For changing this just use |\captionsetup[boxed]{skip=|\meta{value}|}| +with an appropriate value. Or if you want to use the global |skip| setting +instead you can remove the usage of the local setting for these floats with +|\clearcaptionsetup[skip]{boxed}|. + +\Note +Only one single caption can be typeset inside environments defined with +\cs{newfloat} or \cs{restylefloat}, futhermore these environments are not +behaving exactly like the pre-defined floats |figure| \& |table|. +As a consequence many packages do not coorperate well with these. +Furthermore the float package has some caveats \& limitations, so if you +just want to define a new simple floating environment---behaving like +|figure| or |table|---I recommend using \cs{DeclareFloatingEnvironment} +instead. +And for defining non-simple floating environments and customization I +recommend using the \package{floatrow} package\cite{floatrow} instead. -\TODO +\iffalse +Please also note that you \emph{don't} need a |\restylefloat| for using +the |H| float placement specifier. Some docs say so, but they are +wrong. +And |\restylefloat{table}| is a very good method to shoot yourself +in the foot, since many packages using |table| internally are not working +correctly afterwards. +\fi +\pagebreak[4] \subsection{floatflt} \label{floatflt} +\packagedescription{% +The \package{floatflt} package\cite{floatflt} offers figures and tables +which do not span the full width of a page and are float around by text.} + +\NEWfeature{v3.1} +If you want to setup special options for the |floatingfigure| \& |floatingtable| +environments you can use +\begin{quote} + |\captionsetup[floatingfigure]|\marg{options}\\ + |\captionsetup[floatingtable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. -\TODO +\Note +The |margin| resp.~|width| setting will not be used for these figures \& tables, +unless you set it explicit with |\captionsetup[floatingfigure]{|\ldots|}| or +|\captionsetup[floatingtable]{|\ldots|}|. +\pagebreak[3] \subsection{fltpage} \label{fltpage} +\packagedescription{% +The \package{fltpage} package\cite{fltpage} offers the outhouse of the +caption for |figure|s or |table|s which needs the whole page +for its contents. This will be done by placing the caption on the bottom +of the previous or next page.} + +\NEWfeature{v3.1} +Two options control the links to the |FPfigure| and |FPtable|: +\begin{description} +\item{\texttt{FPlist=caption} or \texttt{FPlist=figure}}\\[\smallskipamount] +If set to |caption|, the list entry will link to the caption; if set to +|figure|, it will link to the figure contents. +(The default setting is |FPlist=caption|.) +\item{\texttt{FPref=caption} or \texttt{FPref=figure}}\\[\smallskipamount] +If set to |caption|, a \cs{ref}, \cs{pageref}, \cs{autoref}, or \cs{nameref} +will link to the caption; if set to |figure|, it will link to the figure contents. +(The default setting is |FPref=figure|.) +\end{description} + +If you want to setup special options for the |FPfigure| \& |FPtable| +environments you can use +\begin{quote} + |\captionsetup[FPfigure]|\marg{options}\\ + |\captionsetup[FPtable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. -\TODO +Furthermore \cs{DefineFloatingEnvironment}\marg{name} will also define +an environment called |FP|\meta{name} which behaves like |FPfigure| and +|FPtable|. +\pagebreak[4] \subsection{hyperref} \label{hyperref} +\packagedescription{% +The hyperref package\cite{hyperref} is used to handle cross-referencing +commands in LaTeX to produce hypertext links in the document.} \NEWfeature{v3.1} -There are two options available to control hyperlinks: +There are two options available to control the placement of hyperlink anchors: \begin{description} -\item{\texttt{hypcap=}}\\[\smallskipamount] +\item{\texttt{hypcap=true} or \texttt{hypcap=false}}\\[\smallskipamount] If set to |true| all hyperlink anchors -- where entries in the List of Figures, |\ref|, and |\autoref| will link to -- are placed at the beginning of the (floating) environment.\par -If set to |false| the hyperlink anchor is placed at the caption.\par +If set to |false| the hyperlink anchor is (usually) placed at the caption.\par (The default setting is |hypcap=true|.) -\item{\texttt{hypcapspace=}}\\[\smallskipamount] -This controls the vertical distance between the hyperlink anchor and -the (floating) environment, e.g.~|hypcapspace=0pt| removes the space.\par +\item{\texttt{hypcapspace=}\meta{amount}}\\[\smallskipamount] +Because it looks poor if the hyperlink points exactly at the top of +the figure or table, you can specify a vertical distance between +the hyperlink anchor and the (floating) environment itself, +e.g.~|hypcapspace=0pt| removes this distance.\par (The default setting is |hypcapspace=0.5\baselineskip|.) \end{description} -Please note: +Both settings have no effect in |lstlisting|s (provided by the +\package{listings} package), |longtable|s (provided by the +\package{longtable} package), and |supertabular|s (provided by the +\package{supertabular} package), within these environments hyperlink +anchors will always be placed as if |hypcap=true| \& |hypcapspace=0pt| +would be set. +\pagebreak[3]Please note:\nopagebreak \begin{description} \item{\cs{captionof}\marg{type}\csmarg\ldots\ vs. \cs{captionsetup}\csmarg{type=\meta{type}}$+$\cs{caption}\csmarg\ldots}\\[\smallskipamount] @@ -1602,7 +1729,9 @@ But | \caption{A figure}|\\ |\end{minipage}| \end{quote} -will place the hyperlink anchor at the beginning of the |minipage|. +will place the hyperlink anchor at the beginning of the |minipage|, +since |\captionsetup{type=figure}| does not only set the caption type +to ``figure'' but does place a hyperlink anchor, too. \item{\cs{caption}\csoarg{}\csmarg\ldots\ vs. \cs{captionsetup}\csmarg{listof=false}$+$\cs{caption}\csmarg\ldots}\\[\smallskipamount] @@ -1616,70 +1745,310 @@ So it's better to use \cs{captionsetup}\csmarg{listof=false} if you don't want an entry in the List of Figures or List of Tables. \end{description} +\pagebreak[3] \subsection{hypcap} \label{hypcap} +\packagedescription{% +The \package{hypcap} package\cite{hypcap} offers a solution to the problem +that links to a float using hyperref may anchors to the caption rather than +the beginning of the float. +Since \thispackage\ \version{3.1} already solves this problem for itself, +the \package{hypcap} package is usually not needed, at least when you use +\thispackage.} If the \package{hypcap} package is loaded additionally to the \package{hyperref} -package, it takes over the control of the hyperlink anchor placement. - -This has the side-effect that you lost the good placement of the hyperlink anchors -in |floatingfigure|s (provided by the \package{floatflt} package), -in |figwindow|s (provided by the \package{picinpar} package), -in |parpic|s (provided by the \package{picins} package), and -in |wrapfigure|s (provided by the \package{wrapfig} package). - -Furthermore |\captionsetup{type=|\meta{type}|}| will not place hyperlink anchors -anymore, instead you need to use |\capstart| (provided by the \package{hypcap} package). +package, it takes over the control of the hyperlink anchor placement from \thispackage, +overriding the options |hypcap=| \& |hypcapspace=|. + +So for a manual placement of hyperlink anchors |\captionsetup{type=|\meta{type}|}| +is not sufficient anymore, instead you need to use |\capstart| +(provided by the \package{hypcap} package) for this. + +Regarding the automatical placement the \package{hypcap} package offers good +placement of hyperlink anchors for the floating environments |figure| and +|table| only. In contrast the |hypcap=true| option of \thispackage\ also +offers good placements of hyperlink anchors for +|floatingfigure|s (provided by the \package{floatflt} package), +|FPfigure|s \& |FPtable|s (provided by the \package{fltpage} package), +|figwindow|s (provided by the \package{picinpar} package), +|parpic|s (provided by the \package{picins} package), +|SCfigure|s (provided by the \package{sidecap} package), +|threeparttable|s (provided by the \package{threeparttable} package, +and |wrapfigure|s (provided by the \package{wrapfig} package).%---% +%so by loading the \package{hypcap} package additionally you will +%loose that. +\pagebreak[3] \subsection{listings} \label{listings} +\packagedescription{% +The \package{listings} package\cite{listings} typesets programming code.} -\TODO +If you want to setup special options for the |lstlinsting| environment +you can use +\begin{quote} + |\captionsetup[lstlisting]|\marg{options}\quad. +\end{quote} +\pagebreak[3] \subsection{longtable} \label{longtable} +\packagedescription{% +The \package{longtable} package\cite{longtable} offers an environment +which behaves similar to the |tabular| environment, but the table +itself can span multiple pages.} + +If you want to setup special options for the |longtable| environment +you can use +\begin{quote} + |\captionsetup[longtable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|table|. -\TODO +The |margin| \& |width| settings usually override |\LTcapwidth|, so +you get an equal look \& feel of the captions in |table|s and +|longtable|s. But if you set |\LTcapwidth| to a value different from +its default $=$ |4in|, \thispackage\ will follow that. +(But |\LTcapwidth| will be overwritten by +|\captionsetup[longtable]{width=|\meta{value}|}|, even if it is set +to a value different than |4in|.) +\Note +\cs{captionof} and \cs{ContinuedFloat} do not work for |longtable|s. +\NEWfeature{v3.1} +If you need a |longtable| which does not increment the |table| counter +please use the |longtable*| environment offered by \thispackage. + +\pagebreak[3] \subsection{picinpar} \label{picinpar} +\packagedescription{% +Similar to the \package{floatflt} package the \package{picinpar} +package\cite{picinpar} offers figures and tables which do not span the full +width of a page and are float around by text. +For a detailed discussion about the differences between these packages +please take a look at The \LaTeX\ Companion\cite{TLC2}.} + +\NEWfeature{v3.1} +If you want to setup special options for the |figwindow| \& |tabwindow| +environments you can use +\begin{quote} + |\captionsetup[figwindow]|\marg{options}\\ + |\captionsetup[tabwindow]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. -\TODO +\Note +The |margin| resp.~|width| setting will not be used for these figures \& tables, +unless you set it explicit with |\captionsetup[figwindow]{|\ldots|}| or +|\captionsetup[figtable]{|\ldots|}|. +\pagebreak[3] \subsection{picins} \label{picins} +\packagedescription{% +Similar to the \package{floatflt} and \package{picinpar} package the +\package{picins} package\cite{picins} offers figures and tables which do not +span the full width of a page and are float around by text. +For a detailed discussion about the differences between these packages +please take a look at The \LaTeX\ Companion\cite{TLC2}.} + +\NEWfeature{v3.1} +If you want to setup special options for the |parpic| environment you can use +\begin{quote} + |\captionsetup[parpic]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. -\TODO +\Note +The |margin| resp.~|width| setting will not be used for these figures \& tables +if \cs{piccaptionside} or \cs{piccaptiontopside} is used. +The |width| setting will not be used (but the |margin| setting will) if +\cs{piccaptionoutside} or \cs{piccaptioninside} is used. +But you can override this by setting it explicit with +|\captionsetup[parpic]{|\ldots|}|. +\Note +If you want to have a |\piccaption| of another type as |figure|, please do +\emph{not} re-define |\@captype| as suggested by the \package{picins} +documentation. Please use the |\piccaptiontype|\marg{type} command which is +offered by \thispackage\ instead, e.g.: +\begin{quote} + |\piccaptiontype{table}|\\ + |\piccaption{An example table}|\\ + |\parpic(50mm,10mm)[s]{|\ldots|}| +\end{quote} + +\pagebreak[3] \subsection{rotating} \label{rotating} +\packagedescription{% +The \package{rotating} package\cite{rotating} offers the floating +environments \texttt{sideways\-figure} and \texttt{sideways\-table} +which are just like normal figures and tables but rotated by 90 degree. +Furthermore a command \cs{rotcaption} is offered for rotated captions only.} + +\iffalse % No, we don't do that +If you want to setup special options for the |sidewaysfigure| \& |sidewaystable| +environments you can use +\begin{quote} + |\captionsetup[sidewaysfigure]|\marg{options}\\ + |\captionsetup[sidewaystable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. +\fi + +The command \cs{rotcaption} will be extended by \thispackage, so +|\rotcaption*| or |\rotcaptionof| can be used analogous to |\caption| and +|\captionof|. -\TODO +\NEWfeature{v3.1} +Furthermore \cs{DefineFloatingEnvironment}\marg{name} will also define +an environment called |sideways|\meta{name} which behaves like +|sidewaysfigure| and |sidewaystable|. +\pagebreak[3] \subsection{sidecap} \label{sidecap} +\packagedescription{% +The \package{sidecap} package\cite{sidecap} offers the floating +environments |SCfigure| and |SCtable| which are like usual figures +and tables but the caption will be put \emph{beside} the contents.} + +If you want to setup special options for the |SCfigure| \& |SCtable| +environments you can use +\begin{quote} + |\captionsetup[SCfigure]|\marg{options}\\ + |\captionsetup[SCtable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. + +\NEWfeature{v3.1} +Furthermore \cs{DefineFloatingEnvironment}\marg{name} will also define +an environment called |SC|\meta{name} which behaves like |SCfigure| and +|SCtable|. -\TODO +\Note +The \package{sidecap} package offers its own options for justification. +If set, they will override the one specified with the caption option +|justification=| for captions beside their contents. +\Note +The |margin| resp.~|width| setting will not be used for these figures \& tables, +unless you set it explicit with |\captionsetup|\xx|[SCfigure]|\xx|{|\ldots|}| +or |\captionsetup|\xx|[SCtable]|\xx|{|\ldots|}|. + +\medskip{\small(Instead of using the \package{sidecap} package you can also use +the \package{floatrow} package\cite{floatrow} for this purpose.)} + +\pagebreak[3] \subsection{subfigure} \label{subfigure} +\packagedescription{% +The \package{subfigure} package\cite{subfigure} provides support for small or +`sub' figures and tables within a single figure or table environment. +This package is obsolete, new users should use subfig instead.} + +Since the \package{subfigure} package is obsolete it will only be supported in +a way that old documents (which have used \thispackage\ \version{1.x} during +development) should still compile as expected. -\TODO +Please use the \package{subfig} package instead with supports \thispackage\ +\version{3.x}. +\See{the \package{subfig} package\cite{subfig} documentation for details.} + +\pagebreak[3] \subsection{supertabular} \label{supertabular} +\packagedescription{% +The \package{supertabular} package\cite{supertabular} offers an environment +which is quite similar to the |longtable| environment provided +by the \package{longtable} package\cite{longtable}: +Both offers the typesetting of tables which can span multiple pages. +For a detailed discussion about the differences between these two powerful +packages please take a look at The \LaTeX\ Companion\cite{TLC2}.} + +If you want to setup special options for the |supertabular| environment +you can use +\begin{quote} + |\captionsetup[supertabular]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|table|. -\TODO +\Note +\cs{ContinuedFloat} does not work for |supertabular|s. +\pagebreak[3] \subsection{threeparttable} \label{threeparttable} +\packagedescription{% +Provides a scheme for tables that have a structured note section after the +table contents and the caption. +This scheme provides an answer to the old problem of putting footnotes in +tables---by making footnotes entirely unnecessary.} + +\NEWfeature{v3.1} +If you want to setup special options for the |threeparttable| \& +|measuredfigure| environments you can use +\begin{quote} + |\captionsetup[threeparttable]|\marg{options}\\ + |\captionsetup[measuredfigure]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|table| or |figure|. -\TODO +\Note +Since the caption will have the same width as the contents here, +the |margin| resp.~|width| setting will not be used for these figures \& tables, +at least unless you set it explicit with +|\captionsetup|\xx|[threeparttable]|\xx|{|\ldots|}| +or |\captionsetup|\xx|[measuredfigure]|\xx|{|\ldots|}|. +\medskip{\small(Instead of using the \package{sidecap} package you can also use +the \package{floatrow} package\cite{floatrow} for this purpose.)} + +\pagebreak[3] \subsection{wrapfig} \label{wrapfig} +\packagedescription{% +Similar to the \package{floatflt}, the \package{picinpar}, and the +\package{picins} package the \package{wrapfig} package\cite{wrapfig} offers +figures and tables which do not span the full width of a page and are float +around by text. +For a detailed discussion about the differences between these packages +please take a look at The \LaTeX\ Companion\cite{TLC2}.} -\TODO +\NEWfeature{v3.1} +If you want to setup special options for the |wrapfigure| \& |wraptable| +environments you can use +\begin{quote} + |\captionsetup[wrapfigure]|\marg{options}\\ + |\captionsetup[wraptable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. + +Furthermore \cs{DefineFloatingEnvironment}\marg{name} will also define +an environment called |wrap|\meta{name} which behaves like |wrapfigure| and +|wraptable|. + +\Note +The |margin| resp.~|width| setting will not be used for these figures \& tables, +unless you set it explicit with |\captionsetup[wrapfigure]{|\ldots|}| or +|\captionsetup[wraptable]{|\ldots|}|. + +\Note +If the \package{wrapfig} package should be used in coorperation with the +\package{float} package, it needs to be loaded \emph{after} the +\package{float} package. Furthermore \cs{newfloat} or \cs{restylefloat} +commands \emph{must} be placed after \emph{both} packages have been loaded. % --------------------------------------------------------------------------- % @@ -1963,6 +2332,7 @@ Command & & Section \\ |\DeclareCaptionOption| & & \ref{declare} \\ |\DeclareCaptionStyle| & & \ref{declare} \\ |\DeclareCaptionTextFormat| & & \ref{declare} \\ +|\DeclareFloatingEnvironment| & & \ref{DeclareFloatingEnvironment} \\ |\showcaptionsetup| & & \ref{commands} \\ \end{longtable} @@ -2245,7 +2615,9 @@ Option & Short description & Section \\ \begin{Warnings} \Message - |! Argument of \@caption has an extra }.| + |Argument of \@caption has an extra }.|\\ +{\color{black}\hspace{1.5em}-or-}\\ + |Paragraph ended before \@caption was complete.| \Description If you want to typeset something special (like a tabular) as caption, you need to give an optional argument to |\caption| resp.~|\captionof| @@ -2329,19 +2701,6 @@ Option & Short description & Section \\ You should never see this error. Please send me an e-mail reporting this issue. -\Message - |! LaTeX Error: Option clash for package caption.|\\ -{\color{black}\hspace{1.5em}-- oder --}\\ - |! LaTeX Error: Missing \begin{document}.| -\Description - \Thispackage\ has already been loaded by some other \LaTeX\ package, - so you can't do that again specifying different options. - A candidate causing this could be the \package{subfig} package; if this is - the case, please load \thispackage\ \emph{before} the \package{subfig} - package or specify the option |caption=false| while loading the - \package{subfig} package. - \par\See{the \package{subfig} package\cite{subfig} documentation} - \Message |Not allowed in longtable* environment.| \Description @@ -2360,8 +2719,26 @@ Option & Short description & Section \\ \par\See{\Ref{compatibility}} \Message - |Runaway argument?|\\ - |! Paragraph ended before \caption@makecurrent was complete.| + |Only one \caption can be placed in this environment.| +\Description + Inside the environments offered by the \package{fltpage} and \package{sidecap} + package only one caption can be placed. (This is due implementation design.) + +\Message + |Option clash for package caption.|\\ +{\color{black}\hspace{1.5em}-- or maybe --}\\ + |Missing \begin{document}.| +\Description + \Thispackage\ has already been loaded by some other \LaTeX\ package, + so you can't do that again specifying different options. + A candidate causing this could be the \package{subfig} package; if this is + the case, please load \thispackage\ \emph{before} the \package{subfig} + package or specify the option |caption=false| while loading the + \package{subfig} package. + \par\See{the \package{subfig} package\cite{subfig} documentation} + +\Message + |Paragraph ended before \caption@makecurrent was complete.| \Description If you want to typeset multi-paragraph captions, you need to give an optional argument to |\caption| resp.~|\captionof| for the List of @@ -2399,9 +2776,12 @@ Option & Short description & Section \\ |The option `labelsep=|\meta{name}|' does not work|\\ |with \setcaphanging (which is set by default).| \Description - A caption label separator which contains a newline command (|\\|) - does not work with a hanging caption format. - Please select another caption format or another caption label seperator. + A caption label separator which contains a |\\| command (like + |labelsep=|\xx|newline|) can not be combined with a hanging caption format + (like |format=|\xx|hang|). + Please select either another caption label seperator + (e.g.~|labelsep=|\xx|colon|) or another caption format + (e.g.~|format=|\xx|plain|). \par\See{\Ref{formats} resp.~\Ref{KOMA}} \Message @@ -2571,121 +2951,141 @@ who all helped to make this package a better one. \bibitem{beamer} Till Tantau:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/beamer/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf}% {\emph{User Guide to the Beamer Class, Version 3.07}},\\ March 11, 2007 \bibitem{KOMAScript} Markus Kohm \& Jens-Uwe-Morawski:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/koma-script/scrguien.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/koma-script/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/koma-script/scrguien.pdf}% {\emph{KOMA-Script -- a versatile \LaTeXe\ bundle}},\\ 2007-01-09 \bibitem{NTG} Victor Eijkhout:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/ntgclass/classdoc.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/ntgclass/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/ntgclass/classdoc.pdf}% {\emph{An introduction to the Dutch \LaTeX\ document classes}},\\ 3 September 1989 \bibitem{float} Anselm Lingnau:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/float/float.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/float/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/float/float.pdf}% {\emph{An Improved Environment for Floats}},\\ 2001/11/08 \bibitem{floatflt} Mats Dahlgren:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/floatflt.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/floatflt.pdf}% {\emph{Welcome to the floatflt package}},\\ 1998/06/05 \bibitem{floatrow} Olga Lapko:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/floatrow.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/floatrow.pdf}% {\emph{The floatrow package documentation}},\\ - 2006/07/24 + 2007/08/24 \bibitem{fltpage} Sebastian Gross:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/fltpage/fltpage.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/fltpage/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/fltpage/fltpage.pdf}% {\emph{Welcome to the beta test of fltpage package!}},\\ 1998/11/13 \bibitem{hyperref} Sebastian Rahtz \& Heiko Oberdiek:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/hyperref.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/hyperref.pdf}% {\emph{Hypertext marks in \LaTeX}},\\ June 14, 2007 \bibitem{hypcap} Heiko Oberdiek:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/oberdiek/hypcap.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/oberdiek/hypcap.pdf}% {\emph{The hypcap package -- Adjusting anchors of captions}},\\ 2007/04/09 \bibitem{listings} Carsten Heinz \& Brooks Moses:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/listings/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf}% {\emph{The Listings Package}},\\ 2007/02/22 \bibitem{longtable} David Carlisle:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/required/tools/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf}% {\emph{The longtable package}},\\ 2004/02/01 \bibitem{picinpar} Friedhelm Sowa:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% + \href{http://tug.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% {\emph{Pictures in Paragraphs}},\\ July 13, 1993 \bibitem{picins} Joachim Bleser and Edmund Lang:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex209/contrib/picins/mpic.dvi}% + \href{http://tug.ctan.org/tex-archive/macros/latex209/contrib/picins/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex209/contrib/picins/mpic.dvi}% {\emph{PicIns-Benutzerhandbuch Version 3.0}},\\ September~1992 \bibitem{rotating} Sebastian Rahtz and Leonor Barroca:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/rotating/}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/rotating/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/rotating/}% {\emph{A style option for rotated objects in \LaTeX}},\\ 1997/09/26 \bibitem{sidecap} Rolf Niepraschk \& Hubert G\"a\ss lein:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/sidecap/sidecap.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/sidecap/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/sidecap/sidecap.pdf}% {\emph{The sidecap package}},\\ 2003/06/06 \bibitem{subfigure} Steven D. Cochran:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/subfigure/subfigure.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfigure/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/subfigure/subfigure.pdf}% {\emph{The subfigure package}},\\ 2002/07/02 \bibitem{subfig} Steven D. Cochran:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfig/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}% {\emph{The subfig package}},\\ 2005/07/05 \bibitem{supertabular} Johannes Braams and Theo Jurriens:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/supertabular/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf}% {\emph{The supertabular environment}},\\ 2002/07/19 \bibitem{threeparttable} Donald Arseneau:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/misc/threeparttable.sty}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/misc/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/misc/threeparttable.sty}% {\emph{Three part tables: title, tabular environment, notes}},\\ 2003/06/13 \bibitem{wrapfig} Donald Arseneau:\\ - \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/wrapfig/wrapfig.sty}% + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/wrapfig/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/wrapfig/wrapfig.sty}% {\emph{WRAPFIG.STY ver 3.6}},\\ 2003/01/31 \end{thebibliography} diff --git a/Master/texmf-dist/doc/latex/caption/caption.pdf b/Master/texmf-dist/doc/latex/caption/caption.pdf index f2a77dbc3cb..2ff8927af65 100644 Binary files a/Master/texmf-dist/doc/latex/caption/caption.pdf and b/Master/texmf-dist/doc/latex/caption/caption.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/caption2.pdf b/Master/texmf-dist/doc/latex/caption/caption2.pdf index b147a061142..ab1a998f21b 100644 Binary files a/Master/texmf-dist/doc/latex/caption/caption2.pdf and b/Master/texmf-dist/doc/latex/caption/caption2.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/ltcaption.pdf b/Master/texmf-dist/doc/latex/caption/ltcaption.pdf index a3bdde8d319..a7917e089a9 100644 Binary files a/Master/texmf-dist/doc/latex/caption/ltcaption.pdf and b/Master/texmf-dist/doc/latex/caption/ltcaption.pdf differ diff --git a/Master/texmf-dist/source/latex/caption/caption.dtx b/Master/texmf-dist/source/latex/caption/caption.dtx index ee64571a57a..173f3fea4e8 100644 --- a/Master/texmf-dist/source/latex/caption/caption.dtx +++ b/Master/texmf-dist/source/latex/caption/caption.dtx @@ -24,12 +24,12 @@ % caption-eng.tex, and caption-rus.tex. % % \fi -% \CheckSum{5423} +% \CheckSum{5489} % % \iffalse %<*driver> \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption.drv}[2007/09/22 v3.1b Implementation of the caption package] +\ProvidesFile{caption.drv}[2007/10/17 v3.1c Implementation of the caption package] \hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up. %\errorcontextlines=3 % @@ -52,7 +52,7 @@ \usepackage{hypdoc} \hypersetup{pdfkeywords={LaTeX, package, caption},pdfstartview={}} % -\usepackage[debug]{caption}[2007/09/17] +\usepackage[debug]{caption}[2007/09/25] % \DeclareRobustCommand*\eTeX{\texorpdfstring {\leavevmode\hbox{$\varepsilon$}-\TeX}% @@ -80,6 +80,9 @@ % % \def\thispackage{the \package{caption} package} % \def\Thispackage{The \package{caption} package} +% +% \newcommand*\csmarg[1]{\texttt{\char`\{#1\char`\}}} +% \newcommand*\csoarg[1]{\texttt{\char`\[#1\char`\]}} % \newcommand*\version[2][]{\textit{v#2}} % % \GetFileInfo{caption.drv} @@ -221,7 +224,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2007/09/22 v3.1b caption3 kernel (AR)] +\ProvidesPackage{caption3}[2007/10/17 v3.1c caption3 kernel (AR)] % \end{macrocode} % % \subsection{Generic helpers} @@ -534,29 +537,41 @@ % % \subsection{Errors} % +% \begin{macro}{\caption@Warning} +% \changes{v3.1c}{2007/10/14}{This macro added, will now be used for warnings} +% \begin{macro}{\caption@WarningNoLine} +% \changes{v3.1c}{2007/10/14}{This macro added, will now be used for warnings} % \begin{macro}{\caption@Error} % \changes{v3.0l}{2007/01/20}{This macro added, will now be used for errors} % \changes{v3.0q}{2007/04/11}{Renamed from \cs{caption@error} to \cs{caption@Error}} % \changes{v3.1b}{2007/09/18}{Usage of \cs{caption@Package} removed} % \begin{macro}{\caption@KV@err} +% \changes{v3.1b}{2007/09/18}{This macro added} % |\caption@Error|\marg{message} % \begin{macrocode} +\newcommand*\caption@Warning[1]{\caption@WarningNoLine{#1\on@line}} +\newcommand*\caption@WarningNoLine[1]{\PackageWarning{caption}{#1.^^J\caption@wh\@gobbletwo}} \newcommand*\caption@Error[1]{\PackageError{caption}{#1}\caption@eh} \let\caption@KV@err\caption@Error % \end{macrocode} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} % +% \begin{macro}{\caption@wh} % \begin{macro}{\caption@eh} -% At the moment we only offer this simple error message as generic helper -% for the user. +% At the moment we only offer these two simple warning resp. error helpers. % \begin{macrocode} +\newcommand*\caption@wh{% + See the caption package documentation for explanation.} \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} + at the documentation of the `caption' package, especially the\MessageBreak + section about errors.\MessageBreak\@ehc} % \end{macrocode} % \end{macro} +% \end{macro} % % \subsection{Using the keyval package} % @@ -587,8 +602,8 @@ % \end{macro} % % \begin{macro}{\DeclareCaptionOption} -% |\DeclareCaptionOption|\marg{option}\marg{code}\\ -% |\DeclareCaptionOption*|\marg{option}\marg{code}\par +% |\DeclareCaptionOption|\marg{option}\oarg{default value}\marg{code}\\ +% |\DeclareCaptionOption*|\marg{option}\oarg{default value}\marg{code}\par % We declare our options using these commands (instead of using % |\DeclareOption| offered by \LaTeXe), so the keyval package is used. % The starred form makes the option available during the lifetime of the @@ -606,6 +621,33 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\DeclareCaptionOptionNoValue} +% \changes{v3.1c}{2007/10/06}{This macro added} +% |\DeclareCaptionOptionNoValue|\marg{option}\marg{code}\\ +% |\DeclareCaptionOptionNoValue*|\marg{option}\marg{code}\par +% Same as \cs{DeclareCaptionOption} but issues an error if a value is given. +% \begin{macrocode} +\newcommand*\DeclareCaptionOptionNoValue{% + \caption@teststar\caption@declareoption@novalue\AtEndOfPackage\@gobble} +\@onlypreamble\DeclareCaptionOptionNoValue +% \end{macrocode} +% \begin{macrocode} +\newcommand\caption@declareoption@novalue[3]{% + \caption@declareoption{#1}{#2}[\KV@err]{% + \caption@option@novalue{#2}{##1}{#3}}} +\@onlypreamble\caption@declareoption@novalue +% \end{macrocode} +% \begin{macrocode} +\newcommand*\caption@option@novalue[2]{% + \ifx\KV@err#2% + \expandafter\@firstofone + \else + \KV@err{No value allowed for #1}% + \expandafter\@gobble + \fi} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\captionsetup} % \changes{v3.0a}{2004/01/17}{Bugfix: Missing \% added} % \changes{v3.1}{2007/07/22}{Star-variant added} @@ -651,7 +693,7 @@ % \begin{macrocode} \def\@@clearcaptionsetup[#1]#2{% \expandafter\caption@ifempty@list\csname caption@opt@#2\endcsname - {\caption@tempa{\PackageWarning{caption}{Option list `#2' undefined}}}% + {\caption@tempa{\caption@Warning{Option list `#2' undefined}}}% {\ifx,#1,% \caption@clearsetup{#2}% \else @@ -685,9 +727,8 @@ \fi}% \expandafter\caption@ifempty@list\csname caption@opt@#2\endcsname {\caption@removefromoptlist{#2}}{}% - \caption@tempa{% - \PackageWarning{caption}{% - Option `#1' was not in list `#2'\MessageBreak}}} + \caption@tempa{\caption@Warning{% + Option `#1' was not in list `#2'\MessageBreak}}} % \end{macrocode} % \end{macro} % @@ -996,7 +1037,7 @@ \newcommand*\caption@pageref[1]{% \expandafter\ifx\csname caption@r@#1\endcsname\relax \G@refundefinedtrue % => 'There are undefined references.' - \PackageWarning{caption}{Reference on page \thepage \space undefined}% + \caption@Warning{Reference on page \thepage \space undefined}% \else \expandafter\let\expandafter\caption@thepage\csname caption@r@#1\endcsname \fi} @@ -1203,6 +1244,7 @@ % \changes{v3.0d}{2005/02/12}{\opt{indent=0pt} added to caption style \opt{default}} % \changes{v3.1}{2007/02/04}{Caption style `default' renamed to `base', and a new `default' added} % \changes{v3.1}{2007/03/31}{\opt{format=plain} added to caption style \opt{default}} +% \changes{v3.1c}{2007/10/14}{\opt{format=plain} removed from caption style \opt{default}} % Currently there are two pre-defined styles, called `base' \& `default'. % The first one is a perfect match to the behavior of |\@makecaption| offered % by the standard \LaTeX\ document classes (and was called `default' in @@ -1210,7 +1252,7 @@ % class actually used. % \begin{macrocode} \DeclareCaptionStyle{base}[indent=0pt,justification=centering]{} -\DeclareCaptionStyle{default}[indent=0pt,justification=centering,format=plain]{% +\DeclareCaptionStyle{default}[indent=0pt,justification=centering]{% format=default,labelsep=default,textformat=default,% justification=default,font=default,labelfont=default,textfont=default} % \end{macrocode} @@ -1221,21 +1263,28 @@ % \changes{v3.0a}{2004/01/17}{Pass through argument \#3 so extra spaces % between arguments do make any harm} % \changes{v3.0d}{2005/02/09}{Starred variant added} +% \changes{v3.1c}{2007/10/15}{Optional argument added} % |\DeclareCaptionFormat|\marg{name}\marg{code with \#1, \#2, and \#3}\\ % |\DeclareCaptionFormat*|\marg{name}\marg{code with \#1, \#2, and \#3}\par % The starred form causes the code being typeset in vertical (instead of % horizontal) mode, but does not support the |indention=| option. % \begin{macrocode} -\newcommand\DeclareCaptionFormat{% +\newcommand*\DeclareCaptionFormat{% \caption@teststar\caption@declareformat\@gobble\@firstofone} \@onlypreamble\DeclareCaptionFormat % \end{macrocode} % \begin{macrocode} -\newcommand\caption@declareformat[3]{% - \global\expandafter\let\csname caption@ifh@#2\endcsname#1% - \global\long\@namedef{caption@fmt@#2}##1##2##3{#3}} +\newcommand*\caption@declareformat[2]{% + \@dblarg{\caption@@declareformat#1{#2}}} \@onlypreamble\caption@declareformat % \end{macrocode} +% \begin{macrocode} +\long\def\caption@@declareformat#1#2[#3]#4{% + \global\expandafter\let\csname caption@ifh@#2\endcsname#1% + \global\long\@namedef{caption@slfmt@#2}##1##2##3{#3}% + \global\long\@namedef{caption@fmt@#2}##1##2##3{#4}} +\@onlypreamble\caption@@declareformat +% \end{macrocode} % \end{macro} % % \begin{macrocode} @@ -1251,6 +1300,7 @@ \@ifundefined{caption@fmt@#1}% {\caption@Error{Undefined format `#1'}}% {\expandafter\let\expandafter\caption@ifh\csname caption@ifh@#1\endcsname + \expandafter\let\expandafter\caption@slfmt\csname caption@slfmt@#1\endcsname \expandafter\let\expandafter\caption@fmt\csname caption@fmt@#1\endcsname}} % \end{macrocode} % \end{macro} @@ -1261,12 +1311,14 @@ % Caption format \opt{normal} renamed to \opt{@normal}} % \changes{v3.0h}{2005/08/25}{% % Caption format \opt{@normal} renamed to \opt{plain} and documented} +% \changes{v3.1c}{2007/10/14}{% +% Single-line variant of caption format \opt{hang} added} % There are two pre-defined formats, called `plain' and `hang'. % \begin{macrocode} \DeclareCaptionFormat{plain}{#1#2#3\par} % \end{macrocode} % \begin{macrocode} -\DeclareCaptionFormat{hang}{% +\DeclareCaptionFormat{hang}[#1#2#3\par]{% \caption@ifin@list\caption@lsepcrlist\caption@lsepname {\caption@Error{% The option `labelsep=\caption@lsepname' does not work\MessageBreak @@ -1709,7 +1761,7 @@ \caption@AtBeginDocument{% \@ifundefined{caption@r@ragged2e}{% \newcommand*\caption@@ragged{% - \PackageWarning{caption}{% + \caption@Warning{% `ragged2e' support has been changed.\MessageBreak Rerun to get captions right}% \global\let\caption@ragged\@secondoftwo % suppress further warnings @@ -1722,7 +1774,7 @@ }{% \newcommand*\caption@@ragged[2]{% \@ifundefined{caption\string#1}{% - \PackageWarning{caption}{% + \caption@Warning{% `ragged2e' package not loaded, therefore\MessageBreak substituting \string#2 for \string#1\MessageBreak}% \global\@namedef{caption\string#1}}{}% @@ -2056,7 +2108,7 @@ }} % \end{macrocode} % \begin{macrocode} - \let\captionmargin\captionindent + \let\captionmargin\captionindent % set to 3pc by AMS class \begingroup\edef\@tempa{\endgroup \noexpand\caption@g@addto@list\noexpand\caption@sty@default {margin=\the\captionmargin @@ -2148,7 +2200,7 @@ \fi}} % \end{macrocode} % \begin{macrocode} - \DeclareCaptionFormat{default}{% + \DeclareCaptionFormat{default}[#1#2#3\par]{% \ifdofullc@p \caption@ifin@list\caption@lsepcrlist\caption@lsepname {\caption@Error{% @@ -2401,8 +2453,7 @@ % % Special single-line treatment (option |singlelinecheck=|) % \begin{macrocode} - \caption@ifslc{\caption@ifempty@list\caption@opt@SingleLine{}{% - \caption@slc{#1}{#2}\captionwidth\relax}}{}% + \caption@ifslc{\caption@slc{#1}{#2}\captionwidth\relax}{}% % \end{macrocode} % % Typeset the left margin (option |margin=|) @@ -2503,13 +2554,14 @@ % \changes{v3.1}{2007/06/13}{\cs{let}\cs{caption@hj}\cs{relax} added} % \changes{v3.1}{2007/07/29}{\cs{caption@setup}\cs{caption@sls} added after \cs{begingroup}} % \changes{v3.1}{2007/07/29}{\cs{caption@calcmargin} added} +% \changes{v3.1c}{2007/10/14}{Support of \cs{caption@slfmt} added} % |\caption@slc|\marg{label}\marg{text}\marg{width}\marg{extra code}\par % This one does the single-line-check. % \begin{macrocode} \newcommand\caption@slc[4]{% \caption@Debug{Begin SLC}% \begingroup - \expandafter\caption@setup\expandafter{\caption@opt@SingleLine}% + \caption@SingleLine \let\caption@hj\@empty \caption@calcmargin % calculate #3 if necessary \caption@prepareslc @@ -2518,11 +2570,16 @@ \endgroup \else \endgroup - \expandafter\caption@setup\expandafter{\caption@opt@SingleLine}% + \caption@SingleLine #4% \fi \caption@Debug{End SLC}} % \end{macrocode} +% \begin{macrocode} +\newcommand*\caption@SingleLine{% + \expandafter\caption@setup\expandafter{\caption@opt@SingleLine}% + \let\caption@fmt\caption@slfmt} +% \end{macrocode} % \end{macro} % % \begin{macro}{\caption@prepareslc} @@ -2533,15 +2590,19 @@ % \changes{v3.1}{2007/06/13}{\cs{let}\cs{caption@hj}\cs{relax} moved to \cs{caption@slc}} % \changes{v3.1}{2007/06/13}{Redefinition of \cs{(H@)refstepcounter} added} % \changes{v3.1}{2007/08/12}{Redefinition of \cs{label} improved} +% \changes{v3.1c}{2007/10/06}{Definition of \cs{caption@l@stepcounter} added} % |\caption@prepareslc|\par % Re-define anything which would disturb the single-line-check. % \begin{macrocode} \newcommand*\caption@prepareslc{% \let\@footnotetext\@gobble\let\@endnotetext\@gobble \def\label{\caption@withoptargs\@gobbletwo}% - \def\stepcounter##1{\advance\csname c@##1\endcsname\@ne\relax}% + \let\stepcounter\caption@l@stepcounter \let\refstepcounter\stepcounter\let\H@refstepcounter\stepcounter} % \end{macrocode} +% \begin{macrocode} +\newcommand*\caption@l@stepcounter[1]{\advance\csname c@#1\endcsname\@ne\relax} +% \end{macrocode} % \end{macro} % % \begin{macro}{\captionbox} @@ -2832,7 +2893,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2007/09/22 v3.1b Customising captions (AR)] +\ProvidesPackage{caption}[2007/10/17 v3.1c Customising captions (AR)] % \end{macrocode} % % \begin{macro}{\caption@Info} @@ -2848,7 +2909,7 @@ % \subsection{Loading the kernel} % % \begin{macrocode} -\RequirePackage{caption3}[2007/09/16] % needs v3.1a or newer +\RequirePackage{caption3}[2007/10/17] % needs v3.1c or newer % \end{macrocode} % % \subsection{Check against incompatible packages} @@ -2918,7 +2979,7 @@ \caption@Info{AMS or SMF document class}% % \end{macrocode} % \begin{macrocode} - \setlength\belowcaptionskip{0pt}% set to 3pc by AMS class + \setlength\belowcaptionskip{0pt}% set to 12pt by AMS class % \end{macrocode} % \begin{macrocode} } @@ -3036,7 +3097,7 @@ \ifx\\#1\\\else \@ifundefined{cap@margin}{}{% \def\@tempa{captionbeside}% - \ifx\@tempa\@currenvir\else\PackageWarning{caption}{% + \ifx\@tempa\@currenvir\else\caption@Warning{% Ignoring optional argument [#1] of \string\setcapwidth\MessageBreak}% \fi}% \fi @@ -3099,7 +3160,7 @@ \DeclareCaptionOption*{config}[caption]{% \InputIfFileExists{#1.cfg}% {\typeout{*** Local configuration file #1.cfg used ***}}% - {\PackageWarning{caption}{Configuration file #1.cfg not found}}} + {\caption@Warning{Configuration file #1.cfg not found}}} % \end{macrocode} % % \subsection{Options for figure and table} @@ -3160,54 +3221,54 @@ % % \changes{v3.1}{2007/09/01}{caption v1.x compatibility options revised} % \begin{macrocode} -\DeclareCaptionOption*{normal}[]{% +\DeclareCaptionOptionNoValue*{normal}{% \caption@setformat{normal}% \caption@setjustification{justified}} -\DeclareCaptionOption*{isu}[]{% +\DeclareCaptionOptionNoValue*{isu}{% \caption@setformat{hang}% \caption@setjustification{justified}} -\DeclareCaptionOption*{hang}[]{% +\DeclareCaptionOptionNoValue*{hang}{% \caption@setformat{hang}% \caption@setjustification{justified}} -\DeclareCaptionOption*{center}[]{% +\DeclareCaptionOptionNoValue*{center}{% \caption@setformat{normal}% \caption@setjustification{centering}} -\DeclareCaptionOption*{anne}[]{% +\DeclareCaptionOptionNoValue*{anne}{% \caption@setformat{normal}% \caption@setjustification{centerlast}} -\DeclareCaptionOption*{centerlast}[]{% +\DeclareCaptionOptionNoValue*{centerlast}{% \caption@setformat{normal}% \caption@setjustification{centerlast}} % \end{macrocode} % % \begin{macrocode} -\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}} +\DeclareCaptionOptionNoValue*{scriptsize}{\def\captionfont{\scriptsize}} +\DeclareCaptionOptionNoValue*{footnotesize}{\def\captionfont{\footnotesize}} +\DeclareCaptionOptionNoValue*{small}{\def\captionfont{\small}} +\DeclareCaptionOptionNoValue*{normalsize}{\def\captionfont{\normalsize}} +\DeclareCaptionOptionNoValue*{large}{\def\captionfont{\large}} +\DeclareCaptionOptionNoValue*{Large}{\def\captionfont{\Large}} % \end{macrocode} % % \begin{macrocode} -\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} +\DeclareCaptionOptionNoValue*{up}{\l@addto@macro\captionlabelfont\upshape} +\DeclareCaptionOptionNoValue*{it}{\l@addto@macro\captionlabelfont\itshape} +\DeclareCaptionOptionNoValue*{sl}{\l@addto@macro\captionlabelfont\slshape} +\DeclareCaptionOptionNoValue*{sc}{\l@addto@macro\captionlabelfont\scshape} +\DeclareCaptionOptionNoValue*{md}{\l@addto@macro\captionlabelfont\mdseries} +\DeclareCaptionOptionNoValue*{bf}{\l@addto@macro\captionlabelfont\bfseries} +\DeclareCaptionOptionNoValue*{rm}{\l@addto@macro\captionlabelfont\rmfamily} +\DeclareCaptionOptionNoValue*{sf}{\l@addto@macro\captionlabelfont\sffamily} +\DeclareCaptionOptionNoValue*{tt}{\l@addto@macro\captionlabelfont\ttfamily} % \end{macrocode} % % \begin{macrocode} -\DeclareCaptionOption*{nooneline}[]{\caption@setbool{slc}{0}} +\DeclareCaptionOptionNoValue*{nooneline}{\caption@setbool{slc}{0}} % \end{macrocode} % % \begin{macrocode} \caption@setbool{ruled}{0} -\DeclareCaptionOption*{ruled}[]{\caption@setbool{ruled}{1}} +\DeclareCaptionOptionNoValue*{ruled}{\caption@setbool{ruled}{1}} % \end{macrocode} % % \subsection{caption2 v2.x compatibility options} @@ -3215,19 +3276,19 @@ % % \changes{v3.1}{2007/09/01}{caption2 v2.x compatibility options revised} % \begin{macrocode} -\DeclareCaptionOption*{flushleft}[]{% +\DeclareCaptionOptionNoValue*{flushleft}{% \caption@setformat{normal}% \caption@setjustification{raggedright}} -\DeclareCaptionOption*{flushright}[]{% +\DeclareCaptionOptionNoValue*{flushright}{% \caption@setformat{normal}% \caption@setjustification{raggedleft}} % \end{macrocode} % \begin{macrocode} -\DeclareCaptionOption*{oneline}[]{\caption@setbool{slc}{1}} +\DeclareCaptionOptionNoValue*{oneline}{\caption@setbool{slc}{1}} % \end{macrocode} % \begin{macrocode} -\DeclareCaptionOption*{ignoreLTcapwidth}[]{% - \PackageWarning{caption}{Obsolete option `ignoreLTcapwidth' ignored}} +\DeclareCaptionOptionNoValue*{ignoreLTcapwidth}{% + \caption@Warning{Obsolete option `ignoreLTcapwidth' ignored}} % \end{macrocode} % % \subsection{Obsolete caption v3.0 options} @@ -3338,9 +3399,8 @@ \@ifundefined{@#1captype}{}{% \edef\@tempa{#3}% \expandafter\ifx\csname @#1captype\endcsname\@tempa \else - \caption@iftypewarning{% - \PackageWarning{caption}{% - Caption type was already set to `#3'\MessageBreak}}{}% + \caption@iftypewarning{\caption@Warning{% + Caption type was already set to `#3'\MessageBreak}}{}% \fi}% \expandafter\edef\csname @#1captype\endcsname{#3}% \let\caption@iftypewarning\caption@ifdebug @@ -3428,7 +3488,7 @@ % \begin{macrocode} \newcommand*\caption@xlabel[2]{% \ifx\@currentlabel\caption@undefinedlabel - \PackageWarning{caption}{\noexpand\label before \noexpand\caption ignored}% + \caption@Warning{\noexpand\label before \noexpand\caption ignored}% \else \caption@ORI@label#1{#2}% \fi} @@ -3437,15 +3497,14 @@ % % \begin{macro}{\captionof} % \changes{v3.1}{2007/05/09}{Uses \cs{caption@settype} instead of \cs{def}\cs{@captype}} +% \changes{v3.1c}{2007/09/22}{Bugfix: Redefinition of \cs{caption@setfloatcapt} removed} % |\captionof|\marg{type}\oarg{lst\_entry}\marg{heading}\\ % |\captionof*|\oarg{lst\_entry}\marg{heading} % \begin{macrocode} \def\captionof{\caption@teststar\caption@of{\caption*}\caption} % \end{macrocode} % \begin{macrocode} -\newcommand*\caption@of[2]{% - \let\caption@setfloatcapt\@firstofone - \caption@settype*{#2}#1} +\newcommand*\caption@of[2]{\caption@settype*{#2}#1} % \end{macrocode} % \end{macro} % @@ -3475,19 +3534,25 @@ % Optional argument temporarily removed, since it makes trouble} % \changes{v3.1}{2007/07/07}{% % \cs{caption@setoptions} added} +% \changes{v3.1c}{2007/09/25}{Undocumented optional argument re-added} % |\ContinuedFloat|\par % This mainly decrements the appropriate counter and increments the % continuation counter instead. % Furthermore we set |\caption@resetContinuedFloat| to |\@gobble| so the % continuation counter will not be reset to zero inside |\caption@refstepcounter|. +% Please forget about the optional argument, it was never working well, is +% incompatible to the \package{subfig} package, but is still there for +% compatibility reasons. % \Note{The definition of \cs{ContinuedFloat} itself is compatible -% to the one inside the \package{subfig} package.} +% to the one inside the \package{subfig} package, except for the +% optional argument.} % \begin{macrocode} \def\ContinuedFloat{% - \caption@iftype - {\addtocounter\@captype\m@ne - \caption@ContinuedFloat\@captype}% - {\caption@Error{\noexpand\ContinuedFloat outside float}}} + \@ifnextchar[\@ContinuedFloat{% + \caption@iftype + {\addtocounter\@captype\m@ne + \caption@ContinuedFloat\@captype}% + {\caption@Error{\noexpand\ContinuedFloat outside float}}}} % \end{macrocode} % \begin{macrocode} \def\caption@ContinuedFloat#1{% @@ -3502,6 +3567,9 @@ \let\caption@resetContinuedFloat\@gobble} % \end{macrocode} % \begin{macrocode} +\def\@ContinuedFloat[#1]{\addtocounter{#1}\m@ne} +% \end{macrocode} +% \begin{macrocode} \newcounter{ContinuedFloat} \newcommand*\caption@CFtype{??} % \end{macrocode} @@ -3707,7 +3775,6 @@ % \end{macro} % % \begin{macro}{\caption@makecurrent} -% \begin{macro}{\caption@makestart} % \begin{macro}{\caption@@anchor} % \begin{macro}{\caption@start} % \begin{macro}{\caption@@start} @@ -3716,7 +3783,6 @@ % All these are needed for support of the \package{hyperref} package. % \begin{macrocode} \newcommand*\caption@makecurrent[2]{} -\let\caption@makestart\@gobble \let\caption@@anchor\@firstofone \let\caption@start\relax \let\caption@@start\relax @@ -3729,7 +3795,6 @@ % \end{macro} % \end{macro} % \end{macro} -% \end{macro} % % \subsection{\cs{caption}, \cs{@caption}, and \cs{@makecaption}} % @@ -4026,7 +4091,7 @@ % % \begin{macrocode} \@tempa{% - \PackageWarningNoLine{caption}{% + \caption@WarningNoLine{% \noexpand\caption will not be redefined since it's already\MessageBreak redefined by a document class or package which is\MessageBreak unknown to the caption package.\MessageBreak @@ -4071,11 +4136,11 @@ % % \begin{macrocode} \caption@ifincompatible{% - \PackageWarning{caption}{% + \caption@WarningNoLine{% Forced redefinition of \noexpand\caption since the\MessageBreak unsupported(!) package option `compatibility=false'\MessageBreak was given. Please fasten your seat belts, as we may\MessageBreak - experience turbulence!\@gobbletwo}% + experience turbulence}% }{}% % \end{macrocode} % @@ -4382,6 +4447,8 @@ % % \begin{macro}{\caption@freeze} % \changes{v3.1}{2007/07/22}{This macro added} +% \changes{v3.1c}{2007/10/06}{\cs{caption} \& \cs{@caption} revised for enhanced compatibility} +% \changes{v3.1c}{2007/10/06}{Bugfix: Made \cs{@caption} long} % |\caption@freeze*|\par % Used by the \package{fltpage} \& \package{sidecap} package support. % \begin{macrocode} @@ -4410,17 +4477,15 @@ \def\captionsetup##1{% \caption@g@addto@list\caption@SCsetup{##1}% \caption@setup{##1}}% + \let\caption@ORI\caption \def\caption{% - \let\captionsetup\@gobble - \caption@star - {\let\caption@ORI@refstepcounter\caption@@refstepcounter - \def\caption@@refstepcounter########1{% - \advance\csname c@########1\endcsname\@ne\relax}% - \caption@refstepcounter\@captype - \let\caption@@refstepcounter\caption@ORI@refstepcounter}% - {\caption@dblarg\@caption@SC}}% - \def\@caption@SC[##1]##2{% - \gdef\caption@SClentry{##1}\gdef\caption@SCtext{##2}% + \def\caption{\caption@Error{% + Only one \noexpand\caption can be placed in this environment}}% + \let\captionsetup\caption@setup + \let\caption@@refstepcounter\caption@l@stepcounter + \caption@ORI}% + \long\def\@caption##1[##2]##3{% + \gdef\caption@SClentry{##2}\gdef\caption@SCtext{##3}% \ignorespaces}% #1{% is \@gobble in star form, and \@firstofone otherwise \def\label##1{\gdef\caption@SClabel{##1}\ignorespaces}}% @@ -4563,27 +4628,6 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\caption@setfloatcapt} -% \changes{v3.1}{2007/06/23}{This check added} -% \changes{v3.1b}{2007/09/22}{This check removed, so \cs{captionsetup(type=Example)} works} -% Here we do a consistency check: If the caption to handle is a one from -% the \package{float} package (|\newfloat| or |\restylefloat|), -% |\setfloatcapt| should be redefined, so actually this error should never -% occur. -% \begin{macrocode} -% \renewcommand*\caption@setfloatcapt{% -% \float@ifcaption\@captype{% -% \caption@Error{Something is going wrong here...\MessageBreak -% For a removal of this problem please consult the\MessageBreak -% caption package documentation, especially the sections\MessageBreak -% about the `float' and the `wrapfig' package}% -% \@gobble -% }{% -% \@firstofone -% }}% -% \end{macrocode} -% \end{macro} -% % \begin{macro}{\caption@settypehook} % \changes{v3.1}{2007/07/08}{float package hook added} % \LaTeX\ and almost every other packages use @@ -4770,6 +4814,7 @@ % \end{macro} % % \begin{macro}{\caption@floatflt} +% \changes{v3.1c}{2007/10/06}{Bugfix: \cs{caption@clearmargin} added} % Here we do two things: % \begin{enumerate} % \item We use |\caption@setoptions{floating|\meta{type}|}| so @@ -4782,6 +4827,7 @@ % \begin{macrocode} \newcommand*\caption@floatflt[1]{% \caption@settype{#1}% + \caption@clearmargin \caption@setoptions{floating#1}% \let\caption@boxrestore\@parboxrestore}% % \end{macrocode} @@ -4865,9 +4911,10 @@ \def\@captype{#1}% \let\FP@LabelText\@empty \begin{lrbox}{\FP@floatCorpusBOX}% - \caption@ifFPrefcap\caption@freeze{% - \def\label##1{\gdef\FP@LabelText{##1}\ignorespaces}% - \caption@freeze*}}% + \caption@ifFPrefcap + {\caption@freeze\relax}% + {\def\label##1{\gdef\FP@LabelText{##1}\ignorespaces}% + \caption@freeze*}}% % \end{macrocode} % \end{macro} % @@ -4975,7 +5022,7 @@ % \begin{macrocode} \caption@IfPackageLoaded{hyperref}[2003/11/30 v6.74m]{% \@ifundefined{hyper@makecurrent}{% hyperref has stopped early - \PackageWarningNoLine{caption}{% + \caption@WarningNoLine{% Hyperref support is turned off\MessageBreak because hyperref has stopped early}% }{% @@ -4993,10 +5040,11 @@ % \begin{macro}{\caption@makecurrent} % We redefine |\caption@makecurrent| so a \package{hyperref} label % will be defined inside |\@caption|. +% \Note{Will be redefined by \cs{caption@start}.} % \begin{macrocode} \renewcommand*\caption@makecurrent[2]{% \caption@makecurrentHref{#1}% - \caption@Debug{hyper current=\@currentHref}% + \caption@Debug{hyperref current=\@currentHref}% \def\@currentlabelname{#2}}% % \end{macrocode} % \begin{macrocode} @@ -5004,47 +5052,13 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\caption@makestart} -% We redefine |\caption@makestart| so a \package{hyperref} label -% will be defined inside |\caption@start|.\par -% Since we offer |\ContinuedFloat| the float counter can be change between -% `now' and |\caption|, i.e., we simply don't know the figure or table counter -% yet and therefore we are not able to generate the `right' \package{hyperref} -% label. -% Two different solutions of this problem came into my mind: -% \begin{enumerate} -% \item I could use the aux file for this purpose.\par -% -or- -% \item I set |hypertexnames=false| locally. -% Furthermore I use |#1.xxx.|\meta{counter} (instead of |#1.|\meta{counter}) -% as naming scheme for |\@currentHref| to avoid conflicts with other hyper -% links which are generated with |hypertexnames=true|. -% \end{enumerate} -% The first idea has the advantage that the `right' anchor name will be -% generated, but one needs an additional \LaTeX\ run if figures or tables -% will be inserted or removed.\par -% The second idea has the advantage that it's very easy to implement, but -% has some side-effects, e.g. the anchor names don't follow the figure or -% table label names anymore.\par -% Since I'm lazy I implemented the second idea, maybe I will revise this -% later on. -% \begin{macrocode} - \renewcommand*\caption@makestart[1]{% - \begingroup - \Hy@hypertexnamesfalse -% \gdef\@currentHlabel{}% - \hyper@makecurrent{#1.xxx}% - \endgroup - \caption@Debug{hyper start=\@currentHref}}% -% \end{macrocode} -% \end{macro} -% % \begin{macro}{\caption@@anchor} % We redefine |\caption@@anchor| so a \package{hyperref} anchor % will be set inside |\@caption|. +% \Note{Will be redefined by \cs{caption@start}.} % \begin{macrocode} \renewcommand\caption@@anchor[1]{% - \caption@Debug{hyper anchor: \@currentHref}% + \caption@Debug{hyperref anchor: \@currentHref}% % If we cannot have nesting, the anchor is empty. \ifHy@nesting \hyper@@anchor{\@currentHref}{#1}% @@ -5057,44 +5071,6 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\caption@startanchor} -% \changes{v3.1b}{2007/09/17}{Bugfix 06-09-17: We use \cs{caption@anchor} instead of \cs{hyper@@anchor}} -% We redefine |\caption@@anchor| so a \package{hyperref} anchor -% will be set inside |\caption@start|. This code was taken from the -% \package{hypcap} package\cite{hypcap} and adapted. -% \Note{Since \cs{hyper@@anchor} can cause a change from vertical mode to -% horizontal mode (Bug in \package{hyperref} package!?), and since the -% workaround \cs{let}\cs{leavevmode}\cs{relax} which can be found in the -% \package{hypcap} package is not always sufficient -% (for example with ``Direct pdfmark support'' and \texttt{breaklinks=true}), -% we use \cs{caption@anchor} instead of \cs{hyper@@anchor} here.} -% \begin{macrocode} - \newcommand*\caption@startanchor[1]{% - \caption@Debug{hyper anchor: #1}% - \ifvmode\begingroup - \@tempdima\prevdepth - \nointerlineskip - \vspace*{-\caption@hypcapspace}% - \caption@anchor{#1}% - \vspace*{\caption@hypcapspace}% - \prevdepth\@tempdima - \endgroup\else - \PackageWarning{caption}{Internal Warning: Vertical TeX mode expected}% - \caption@anchor{#1}% - \fi}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\caption@anchor} -% Sets a \package{hyperref} anchor. -% \begin{macrocode} - \newcommand*\caption@anchor[1]{% - \ifmeasuring@ \else - \Hy@raisedlink{\hyper@anchorstart{#1}\hyper@anchorend}% - \fi}% -% \end{macrocode} -% \end{macro} -% % \begin{macro}{\caption@@ContinuedFloat} % \changes{v3.1}{2007/07/02}{Format of \package{hyperref} extension changed} % When the \package{hyperref} package is used we have the problem @@ -5117,30 +5093,35 @@ % \end{macrocode} % \end{macro} % +% \paragraph{The hypcap option} +% +% \begin{macro}{\if@capstart} +% Like the \package{hypcap} package we define the switch |\if@capstart|, too. % \begin{macrocode} \newif\if@capstart % \end{macrocode} +% \end{macro} % % \begin{macro}{\caption@start} % \changes{v3.0l}{2007/02/20}{% % \cs{caption@currentHref} renamed to \cs{hc@currentHref}} % \changes{v3.1}{2007/06/21}{% % This macro renamed from \cs{capstart} to \cs{caption@start} and revised} -% This one emulates the \package{hypcap} package (if |hypcap=true|). +% While the \package{hypcap} package defines a macro called |\capstrart| +% our variant is called |\caption@start| and is controlled by the option +% |hypcap=||false|/|true|. % \begin{macrocode} \def\caption@start{\caption@ifhypcap{% % \end{macrocode} -% % Generate the \package{hyperref} label and set the \package{hyperref} anchor, -% usually both is done inside |\@caption|. +% usually (if |hypcap=false|) both is done inside |\@caption|. % \begin{macrocode} \caption@makestart\@captype \caption@startanchor\@currentHref % \end{macrocode} -% % Prevent |\@caption| from generating a new \package{hyperref} label, % use the label we save in |\hc@currentHref| instead. -% (We also support the |\@capstart| flag from the \package{hypcap} package.) +% (We also support the |@capstart| flag from the \package{hypcap} package.) % \begin{macrocode} \global\@capstarttrue \let\hc@currentHref\@currentHref @@ -5148,18 +5129,102 @@ \global\@capstartfalse \global\let\@currentHref\hc@currentHref}% % \end{macrocode} -% % Prevent |\@caption| from generating a \package{hyperref} anchor since this % has already been done. % \begin{macrocode} \let\caption@@anchor\@firstofone -%%% \let\caption@startanchor\@gobble % \end{macrocode} % \begin{macrocode} }{}}% % \end{macrocode} % \end{macro} % +% \begin{macro}{\caption@makestart} +% \changes{v3.1c}{2007/09/30}{\cs{@currentHref} will be extended by \texttt{caption} instead of \texttt{xxx} now} +% |\caption@makestart|\marg{type} +% defines a \package{hyperref} anchor inside |\caption@start|.\par +% Since we offer |\ContinuedFloat| the float counter can change between +% `now' and |\caption|, i.e., we simply don't know the figure or table counter +% yet and therefore we are not able to generate the `right' \package{hyperref} +% label. +% Two different solutions of this problem came into my mind: +% \begin{enumerate} +% \item I could use the aux file for this purpose.\par +% -or- +% \item I set |hypertexnames=false| locally. +% Furthermore I use |#1.caption.|\meta{counter} (instead of |#1.|\meta{counter}) +% as naming scheme for |\@currentHref| to avoid conflicts with other hyper +% links which are generated with |hypertexnames=true|. +% \end{enumerate} +% The first idea has the advantage that the `right' anchor name will be +% generated, but one needs an additional \LaTeX\ run if figures or tables +% will be inserted or removed.\par +% The second idea has the advantage that it's very easy to implement, but +% has some side-effects, e.g. the anchor names don't follow the figure or +% table label names anymore.\par +% Since I'm lazy I implemented the second idea, maybe I will revise this +% later on. +% \begin{macrocode} + \newcommand*\caption@makestart[1]{% + \begingroup + \Hy@hypertexnamesfalse +% \gdef\@currentHlabel{}% + \hyper@makecurrent{#1.caption}% + \endgroup + \caption@Debug{hypcap start=\@currentHref}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\caption@startanchor} +% \changes{v3.1b}{2007/09/17}{Bugfix 06-09-17: We use \cs{caption@anchor} instead of \cs{hyper@@anchor}} +% |\caption@startanchor|\marg{Href} +% sets a \package{hyperref} anchor inside |\caption@start|.\par +% This code was taken from the \package{hypcap} package\cite{hypcap} and adapted. +% \Note{Since \cs{hyper@@anchor}\marg{Href}\csmarg{\string\relax} can cause +% a change from vertical mode to horizontal mode (design flaw in +% \package{hyperref} package!?), and since the workaround +% \cs{let}\cs{leavevmode}\cs{relax} which can be found in the +% \package{hypcap} package is not always sufficient +% (for example with ``Direct pdfmark support'' and \texttt{breaklinks=true}), +% we use \cs{caption@anchor} instead of \cs{hyper@@anchor} here.} +% \begin{macrocode} + \newcommand*\caption@startanchor[1]{% + \caption@Debug{hypcap anchor: #1}% + \ifvmode\begingroup + \@tempdima\prevdepth + \nointerlineskip + \vspace*{-\caption@hypcapspace}% + \caption@anchor{#1}% + \vspace*{\caption@hypcapspace}% + \prevdepth\@tempdima + \endgroup\else + \caption@Warning{Internal Warning: Vertical TeX mode expected}% + \caption@anchor{#1}% + \fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\caption@anchor} +% \changes{v3.1c}{2007/10/17}{Workaround 07-10-17: We use \cs{caption@raisedlink} instead of \cs{Hy@raisedlink} now} +% |\caption@anchor|\marg{Href} sets a \package{hyperref} anchor. +% \begin{macrocode} + \newcommand*\caption@anchor[1]{% + \ifmeasuring@ \else + \caption@raisedlink{\hyper@anchorstart{#1}\hyper@anchorend}% + \fi}% +% \end{macrocode} +% \Note{Since \cs{Hy@raisedlink} change \cs{@tempdima} we surrounded it by \cs{ifvmode}, +% suppressing ``\texttt{LaTeX Warning: Float too large for page by 1.0pt}'' in \texttt{sideways} floats. +% (This will not be necessary with future versions of \package{hyperref}.)} +% \begin{macrocode} + \ifx\HyperRaiseLinkLength\@tempdima + \def\caption@raisedlink#1{\ifvmode#1\else\Hy@raisedlink{#1}\fi}% + \else + \let\caption@raisedlink\Hy@raisedlink + \fi +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\caption@@start} % Will be used by |\caption@freezeHref|. Apart from that we issue a warning % if we expect a saved \package{hyperref} label coming from |\caption@start|, @@ -5167,7 +5232,7 @@ % \begin{macrocode} \def\caption@@start{% \@ifundefined{hc@currentHref}{% - \PackageWarning{caption}{% + \caption@Warning{% The option `hypcap=true' will be ignored for this\MessageBreak particular \string\caption}}{}}% % \end{macrocode} @@ -5178,7 +5243,7 @@ % setting a \package{hyperref} anchor. Instead if |\@caption| generates a % \package{hyperref} label, it will be stored in |\caption@currentHref|. % Furthermore we need to redefine |\caption@setfloatcapt| so no -% \package{hyperref} anchor will be set in |\@caption|. +% \package{hyperref} anchor will be placed in |\@caption|. % \iffalse % (Since |\caption@setfloatcapt| will be set to |\@firstofone| inside % |\subcaption| there is no need to add its restauration to @@ -5190,9 +5255,11 @@ \def\caption@start{\let\caption@start\caption@ORI@start}% % \end{macrocode} % \begin{macrocode} - \let\caption@ORI@@start\caption@@start +% \let\caption@ORI@@start\caption@@start % \l@addto@macro\subcaption@settypehook{% % \let\caption@@start\caption@ORI@@start}% +% \end{macrocode} +% \begin{macrocode} \global\let\caption@currentHref\@undefined \def\caption@@start{\global\let\caption@currentHref\@currentHref}% % \end{macrocode} @@ -5246,8 +5313,8 @@ % \end{macrocode} % % If the \package{hypcap} package was loaded, we give up our own -% \package{hypcap} emulation and give the control to the \package{hypcap} -% package instead. +% hyperlink placement algorithm and give the control over the placement +% to the \package{hypcap} package instead. % % \begin{macro}{\capstart} % We do this simply by mapping |\capstart| to |\caption@start|, @@ -5267,6 +5334,7 @@ % Furthermore we map our |\caption@hypcapspace| to |\hypcapspace| % offered by the \package{hypcap} package. % \begin{macrocode} + \caption@@setbool\caption@ifhypcap1% \renewcommand*\caption@hypcapspace{\hypcapspace}% % \end{macrocode} % \end{macro} @@ -5566,15 +5634,17 @@ % \end{macro} % % \begin{macro}{\caption@window} +% \changes{v3.1c}{2007/10/06}{Bugfix: \cs{caption@clearmargin} added} % Beside calling |\caption@settype| we redefine |\caption@boxrestore| % (as in \package{floatflt} \& \package{picins} package support) % and |\@makecaption| (as in \package{float} package support) here. % \begin{macrocode} - \newcommand*\caption@window{% + \newcommand*\caption@window[1]{% \let\caption@boxrestore\@parboxrestore \let\@makecaption\caption@@make \caption@setautoposition b% - \caption@settype}% + \caption@settype{#1}% + \caption@clearmargin}% % \end{macrocode} % \end{macro} % @@ -5856,14 +5926,20 @@ % \begin{macro}{\SC@zfloat} % \changes{v3.0b}{2004/05/16}{Local definition of \cs{captionsetup} added} % \changes{v3.0c}{2004/07/16}{Bugfix 04-07-15: Check for \cs{caption@star} removed} +% \changes{v3.1c}{2007/10/06}{\cs{caption} will be saved \& restored now} % This macro will be called at the start of the environment, here is a good % opportunity to do some adaptations to |\caption| and |\captionsetup|. % \begin{macrocode} \let\caption@ORI@SC@zfloat\SC@zfloat \def\SC@zfloat#1#2#3[#4]{% +% \end{macrocode} +% First we use the original definition, but save \& restore \cs{caption} +% so \cs{caption@freeze} will work correctly. +% \begin{macrocode} + \let\caption@ORI\caption \caption@ORI@SC@zfloat{#1}{#2}{#3}[#4]% + \let\caption\caption@ORI % \end{macrocode} -% % Since the sidecap package uses our |\caption| code outside the % environment the regular |\captionsetup| will not work. % So we need a special version here which saves the given argument list @@ -5885,21 +5961,18 @@ \let\caption@ORI@endSC@FLOAT\endSC@FLOAT \def\endSC@FLOAT{% % \end{macrocode} -% % \Note{\cs{@captype} isn't defined here, this will be done inside % the original definition of \cs{endSC@FLOAT}. But \cs{SC@captype} is % defined and can be used here, if needed.} -% % \begin{macrocode} \let\caption@ORI@settype\caption@settype \def\caption@settype##1{% will be done in \@xfloat \caption@ORI@settype*{##1}% do not change \@currentlabel \caption@setSC@justify - \caption@setoptions{SCfloat}% +%%% \caption@setoptions{SCfloat}% \caption@setoptions{SC\@captype}% \caption@start}% % \end{macrocode} -% % Before we can typeset the caption we need to set the margin to zero % because any extra margin would only be disturbing here.\par % (We don't need to take care about the caption position because @@ -5922,7 +5995,6 @@ \let\SC@justify\@empty \fi}}% % \end{macrocode} -% % Make the original definition of |\endSC@FLOAT| to use our caption % stuff instead of its own. % \Note{At this point the \package{sidecap} definition of \cs{caption} is valid, @@ -5931,7 +6003,6 @@ \let\caption\SC@orig@caption \def\SC@orig@caption[##1]##2{\caption@defrost}% % \end{macrocode} -% % Finally we call the original definition of |\endSC@FLOAT|. % \begin{macrocode} \caption@setSC@justify % for compatibility mode @@ -6176,8 +6247,8 @@ \else \float@dostyle{#1}% \fi}{}% - \caption@clearmargin - \caption@setoptions{wrapfloat}% + \caption@clearmargin +%%% \caption@setoptions{wrapfloat}% \caption@setoptions{wrap#1}% \@nameuse{caption@ORI@wrap#1}}% % \end{macrocode} @@ -6283,121 +6354,121 @@ % % \bibitem{beamer} % Till Tantau:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/beamer/}% % {\emph{User Guide to the Beamer Class, Version 3.07}},\\ % March 11, 2007 % % \bibitem{KOMAScript} % Markus Kohm \& Jens-Uwe-Morawski:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/koma-script/scrguien.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/koma-script/}% % {\emph{KOMA-Script -- a versatile \LaTeXe\ bundle}},\\ % 2007-01-09 % % \bibitem{NTG} % Victor Eijkhout:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/ntgclass/classdoc.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/ntgclass/}% % {\emph{An introduction to the Dutch \LaTeX\ document classes}},\\ % 3 September 1989 % % \bibitem{float} % Anselm Lingnau:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/float/float.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/float/}% % {\emph{An Improved Environment for Floats}},\\ % 2001/11/08 % % \bibitem{floatflt} % Mats Dahlgren:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/floatflt/floatflt.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/}% % {\emph{Welcome to the floatflt package}},\\ % 1998/06/05 % % \bibitem{floatrow} % Olga Lapko:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/floatrow/floatrow.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/}% % {\emph{The floatrow package documentation}},\\ -% 2006/07/24 +% 2007/08/24 % % \bibitem{fltpage} % Sebastian Gross:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/fltpage/fltpage.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/fltpage/}% % {\emph{Welcome to the beta test of fltpage package!}},\\ % 1998/11/13 % % \bibitem{hyperref} % Sebastian Rahtz \& Heiko Oberdiek:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/hyperref/hyperref.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/}% % {\emph{Hypertext marks in \LaTeX}},\\ % June 14, 2007 % % \bibitem{hypcap} % Heiko Oberdiek:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/oberdiek/hypcap.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}% % {\emph{The hypcap package -- Adjusting anchors of captions}},\\ % 2007/04/09 % % \bibitem{listings} % Carsten Heinz \& Brooks Moses:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/listings/listings.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/listings/}% % {\emph{The Listings Package}},\\ % 2007/02/22 % % \bibitem{longtable} % David Carlisle:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/longtable.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/required/tools/}% % {\emph{The longtable package}},\\ % 2004/02/01 % % \bibitem{picinpar} % Friedhelm Sowa:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex209/contrib/picinpar/}% +% \href{http://tug.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% % {\emph{Pictures in Paragraphs}},\\ % July 13, 1993 % % \bibitem{picins} % Joachim Bleser and Edmund Lang:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex209/contrib/picins/mpic.dvi}% +% \href{http://tug.ctan.org/tex-archive/macros/latex209/contrib/picins/}% % {\emph{PicIns-Benutzerhandbuch Version 3.0}},\\ % September~1992 % % \bibitem{rotating} % Sebastian Rahtz and Leonor Barroca:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/rotating/}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/rotating/}% % {\emph{A style option for rotated objects in \LaTeX}},\\ % 1997/09/26 % % \bibitem{sidecap} % Rolf Niepraschk \& Hubert G\"a\ss lein:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/sidecap/sidecap.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/sidecap/}% % {\emph{The sidecap package}},\\ % 2003/06/06 % % \bibitem{subfigure} % Steven D. Cochran:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/subfigure/subfigure.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfigure/}% % {\emph{The subfigure package}},\\ % 2002/07/02 % % \bibitem{subfig} % Steven D. Cochran:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfig/}% % {\emph{The subfig package}},\\ % 2005/07/05 % % \bibitem{supertabular} % Johannes Braams and Theo Jurriens:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/supertabular/}% % {\emph{The supertabular environment}},\\ % 2002/07/19 % % \bibitem{threeparttable} % Donald Arseneau:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/misc/threeparttable.sty}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/misc/}% % {\emph{Three part tables: title, tabular environment, notes}},\\ % 2003/06/13 % % \bibitem{wrapfig} % Donald Arseneau:\\ -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/wrapfig/wrapfig.sty}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/wrapfig/}% % {\emph{WRAPFIG.STY ver 3.6}},\\ % 2003/01/31 % diff --git a/Master/texmf-dist/source/latex/caption/caption2.dtx b/Master/texmf-dist/source/latex/caption/caption2.dtx index 8c8dde8c4b6..522ce87c581 100644 --- a/Master/texmf-dist/source/latex/caption/caption2.dtx +++ b/Master/texmf-dist/source/latex/caption/caption2.dtx @@ -1325,29 +1325,25 @@ % \begin{thebibliography}{9} % \bibitem{float} % Anselm Lingnau: -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/float/float.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/float/}% % {\emph{An Improved Environment for Floats}}, % 2001/11/08 % % \bibitem{longtable} % David Carlisle: -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/longtable.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/required/tools/}% % {\emph{The longtable package}}, % 2000/10/22 % % \bibitem{rotating} % Sebastian Rahtz and Leonor Barroca: -% \iffalse -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/rotating/rotating.dtx}% -% {\emph{A style option for rotated objects in \LaTeX}}, -% \else -% \emph{A style option for rotated objects in \LaTeX}, -% \fi +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/rotating/}% +% {\emph{A style option for rotated objects in \LaTeX}},\\ % 1997/09/26 % % \bibitem{subfigure} % Steven D. Cochran: -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/subfigure/subfigure.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfigure/}% % {\emph{The subfigure package}}, % 2002/02/14 % diff --git a/Master/texmf-dist/source/latex/caption/ltcaption.dtx b/Master/texmf-dist/source/latex/caption/ltcaption.dtx index be81d9e3917..299c7e6f8f2 100644 --- a/Master/texmf-dist/source/latex/caption/ltcaption.dtx +++ b/Master/texmf-dist/source/latex/caption/ltcaption.dtx @@ -30,7 +30,7 @@ %<*driver> \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesFile{ltcaption.drv}% - [2007/09/01 v1.1 This package fixes caption problems with + [2007/10/03 v1.1 This package fixes caption problems with other-than-centered aligned longtables] \hbadness=9999 \newcount\hbadness \hfuzz=48pt % Make TeX shut up. % @@ -97,12 +97,20 @@ % \clearpage % \section{The user interface} % -% Just include this package \emph{after} the \package{longtable} package\cite{longtable}, e.g.: +% The content of \cs{caption} in longtables is usually centered to the content of the +% longtable itself. +% This is sufficient for centered longtables, but for left or right aligned longtables +% this results in captions moved into the left or right page margin. +% +% To solve this problem just include this package \emph{after} the \package{longtable} +% package\cite{longtable}, e.g.: % \begin{quote} % |\usepackage{longtable,ltcaption}| % \end{quote} +% Afterwards the captions of all longtables should be aligned as expected, +% even for not-centered longtables. % -% \bigskip +% \subsection{Further justification} % % \DescribeMacro{\LTcapleft} % \DescribeMacro{\LTcapright} @@ -122,13 +130,13 @@ % captions as well. % % \emph{Note:} -% These adaptions do not work when used with one of the \KOMAScript\ +% These commands do not work when used with one of the \KOMAScript\ % classes\cite{KOMAScript} |scrartcl|, |scrreprt| or |scrbook|, % the \KOMAScript\ settings for captions are used instead. % Same with the \package{caption} package which also uses its own options % and settings. % -% \bigskip +% \subsection{Bonus features} % % \DescribeMacro{\LTcaptype} % As a bonus feature this package patches the \package{longtable} package @@ -139,7 +147,6 @@ % |\begin{longtable}{ll}|\\ % |\caption{An example longtable}\\|\\ % | A & B \\|\\ -% | C & D \\|\\ % |\end{longtable}| % \end{quote} % will result in a longtable like this: @@ -149,12 +156,9 @@ % \begin{longtable}{ll} % \caption{An example longtable}\\ % A & B \\ -% C & D \\ % \end{longtable} % \endgroup % -% \bigskip -% % \DescribeEnv{longtable*} % Another bonus feature is the addition of the environment |longtable*| which % does not increment the |table| counter. (As a consequence, |\caption| is not @@ -341,27 +345,27 @@ % \begin{thebibliography}{9} % \bibitem{longtable} % David Carlisle: -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/longtable.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/required/tools/}% % {\emph{The longtable package}}, % 2004/02/01 % % \bibitem{NTGclasses} % Victor Eijkhout: -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/ntgclass/classdoc.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/ntgclass/}% % {\emph{An introduction to the Dutch \LaTeX\ document classes}},\\ % \mbox{3~September~1989} % % \bibitem{KOMAScript} % Markus Kohm \& Jens-Uwe-Morawski: -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/koma-script/scrguien.pdf}% +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/koma-script/}% % {\emph{KOMA-Script -- a versatile \LaTeXe\ bundle}},\\ % 2007-01-09 % % \bibitem{floatrow} % Olga Lapko: -% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/floatrow/floatrow.pdf}% -% {\emph{The floatrow package documentation}}, -% 2006/07/24 +% \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/}% +% {\emph{The floatrow package documentation}},\\ +% 2007/08/24 % \end{thebibliography} % } % diff --git a/Master/texmf-dist/tex/latex/caption/caption.sty b/Master/texmf-dist/tex/latex/caption/caption.sty index 0c3426c8bcc..06e20a785ed 100644 --- a/Master/texmf-dist/tex/latex/caption/caption.sty +++ b/Master/texmf-dist/tex/latex/caption/caption.sty @@ -28,10 +28,10 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2007/09/22 v3.1b Customising captions (AR)] +\ProvidesPackage{caption}[2007/10/17 v3.1c Customising captions (AR)] \newcommand*\caption@Info[1]{\PackageInfo{caption}{#1\@gobble}} \@onlypreamble\caption@Info -\RequirePackage{caption3}[2007/09/16] % needs v3.1a or newer +\RequirePackage{caption3}[2007/10/17] % needs v3.1c or newer \@ifpackageloaded{caption2}{% \caption@Error{% You can't use both, the (obsolete) caption2 *and*\MessageBreak @@ -68,7 +68,7 @@ } \@ifundefined{@captionheadfont}{}{% \caption@Info{AMS or SMF document class}% - \setlength\belowcaptionskip{0pt}% set to 3pc by AMS class + \setlength\belowcaptionskip{0pt}% set to 12pt by AMS class } \@ifundefined{scr@caption}{}{% \caption@Info{KOMA-Script document class}% @@ -114,7 +114,7 @@ \ifx\\#1\\\else \@ifundefined{cap@margin}{}{% \def\@tempa{captionbeside}% - \ifx\@tempa\@currenvir\else\PackageWarning{caption}{% + \ifx\@tempa\@currenvir\else\caption@Warning{% Ignoring optional argument [#1] of \string\setcapwidth\MessageBreak}% \fi}% \fi @@ -153,7 +153,7 @@ \DeclareCaptionOption*{config}[caption]{% \InputIfFileExists{#1.cfg}% {\typeout{*** Local configuration file #1.cfg used ***}}% - {\PackageWarning{caption}{Configuration file #1.cfg not found}}} + {\caption@Warning{Configuration file #1.cfg not found}}} \DeclareCaptionOption{figureposition}{% \captionsetup*[figure]{position=#1}} \@onlypreamble@key{caption}{figureposition} @@ -184,51 +184,51 @@ \@onlypreamble\caption@SetFloatName \DeclareCaptionOption{compatibility}[1]{\caption@setbool{compatibility}{#1}} \@onlypreamble@key{caption}{compatibility} -\DeclareCaptionOption*{normal}[]{% +\DeclareCaptionOptionNoValue*{normal}{% \caption@setformat{normal}% \caption@setjustification{justified}} -\DeclareCaptionOption*{isu}[]{% +\DeclareCaptionOptionNoValue*{isu}{% \caption@setformat{hang}% \caption@setjustification{justified}} -\DeclareCaptionOption*{hang}[]{% +\DeclareCaptionOptionNoValue*{hang}{% \caption@setformat{hang}% \caption@setjustification{justified}} -\DeclareCaptionOption*{center}[]{% +\DeclareCaptionOptionNoValue*{center}{% \caption@setformat{normal}% \caption@setjustification{centering}} -\DeclareCaptionOption*{anne}[]{% +\DeclareCaptionOptionNoValue*{anne}{% \caption@setformat{normal}% \caption@setjustification{centerlast}} -\DeclareCaptionOption*{centerlast}[]{% +\DeclareCaptionOptionNoValue*{centerlast}{% \caption@setformat{normal}% \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}} +\DeclareCaptionOptionNoValue*{scriptsize}{\def\captionfont{\scriptsize}} +\DeclareCaptionOptionNoValue*{footnotesize}{\def\captionfont{\footnotesize}} +\DeclareCaptionOptionNoValue*{small}{\def\captionfont{\small}} +\DeclareCaptionOptionNoValue*{normalsize}{\def\captionfont{\normalsize}} +\DeclareCaptionOptionNoValue*{large}{\def\captionfont{\large}} +\DeclareCaptionOptionNoValue*{Large}{\def\captionfont{\Large}} +\DeclareCaptionOptionNoValue*{up}{\l@addto@macro\captionlabelfont\upshape} +\DeclareCaptionOptionNoValue*{it}{\l@addto@macro\captionlabelfont\itshape} +\DeclareCaptionOptionNoValue*{sl}{\l@addto@macro\captionlabelfont\slshape} +\DeclareCaptionOptionNoValue*{sc}{\l@addto@macro\captionlabelfont\scshape} +\DeclareCaptionOptionNoValue*{md}{\l@addto@macro\captionlabelfont\mdseries} +\DeclareCaptionOptionNoValue*{bf}{\l@addto@macro\captionlabelfont\bfseries} +\DeclareCaptionOptionNoValue*{rm}{\l@addto@macro\captionlabelfont\rmfamily} +\DeclareCaptionOptionNoValue*{sf}{\l@addto@macro\captionlabelfont\sffamily} +\DeclareCaptionOptionNoValue*{tt}{\l@addto@macro\captionlabelfont\ttfamily} +\DeclareCaptionOptionNoValue*{nooneline}{\caption@setbool{slc}{0}} \caption@setbool{ruled}{0} -\DeclareCaptionOption*{ruled}[]{\caption@setbool{ruled}{1}} -\DeclareCaptionOption*{flushleft}[]{% +\DeclareCaptionOptionNoValue*{ruled}{\caption@setbool{ruled}{1}} +\DeclareCaptionOptionNoValue*{flushleft}{% \caption@setformat{normal}% \caption@setjustification{raggedright}} -\DeclareCaptionOption*{flushright}[]{% +\DeclareCaptionOptionNoValue*{flushright}{% \caption@setformat{normal}% \caption@setjustification{raggedleft}} -\DeclareCaptionOption*{oneline}[]{\caption@setbool{slc}{1}} -\DeclareCaptionOption*{ignoreLTcapwidth}[]{% - \PackageWarning{caption}{Obsolete option `ignoreLTcapwidth' ignored}} +\DeclareCaptionOptionNoValue*{oneline}{\caption@setbool{slc}{1}} +\DeclareCaptionOptionNoValue*{ignoreLTcapwidth}{% + \caption@Warning{Obsolete option `ignoreLTcapwidth' ignored}} \DeclareCaptionOption*{caption}{% \caption@setbool{temp}{#1}% \caption@ifbool{temp}{}{% @@ -262,9 +262,8 @@ \@ifundefined{@#1captype}{}{% \edef\@tempa{#3}% \expandafter\ifx\csname @#1captype\endcsname\@tempa \else - \caption@iftypewarning{% - \PackageWarning{caption}{% - Caption type was already set to `#3'\MessageBreak}}{}% + \caption@iftypewarning{\caption@Warning{% + Caption type was already set to `#3'\MessageBreak}}{}% \fi}% \expandafter\edef\csname @#1captype\endcsname{#3}% \let\caption@iftypewarning\caption@ifdebug @@ -301,14 +300,12 @@ \newcommand*\caption@undefinedlabel{??} \newcommand*\caption@xlabel[2]{% \ifx\@currentlabel\caption@undefinedlabel - \PackageWarning{caption}{\noexpand\label before \noexpand\caption ignored}% + \caption@Warning{\noexpand\label before \noexpand\caption ignored}% \else \caption@ORI@label#1{#2}% \fi} \def\captionof{\caption@teststar\caption@of{\caption*}\caption} -\newcommand*\caption@of[2]{% - \let\caption@setfloatcapt\@firstofone - \caption@settype*{#2}#1} +\newcommand*\caption@of[2]{\caption@settype*{#2}#1} \newcommand*\captionlistentry{% \@testopt\caption@listentry\@captype} \def\caption@listentry[#1]#2{% @@ -316,10 +313,11 @@ \caption@makecurrent{#1}{#2}% \caption@addcontentsline{#1}{#2}} \def\ContinuedFloat{% - \caption@iftype - {\addtocounter\@captype\m@ne - \caption@ContinuedFloat\@captype}% - {\caption@Error{\noexpand\ContinuedFloat outside float}}} + \@ifnextchar[\@ContinuedFloat{% + \caption@iftype + {\addtocounter\@captype\m@ne + \caption@ContinuedFloat\@captype}% + {\caption@Error{\noexpand\ContinuedFloat outside float}}}} \def\caption@ContinuedFloat#1{% \edef\@tempa{#1}% \ifx\@tempa\caption@CFtype \else @@ -330,6 +328,7 @@ \caption@setoptions{ContinuedFloat}% \caption@setoptions{continued#1}% \let\caption@resetContinuedFloat\@gobble} +\def\@ContinuedFloat[#1]{\addtocounter{#1}\m@ne} \newcounter{ContinuedFloat} \newcommand*\caption@CFtype{??} \newcommand*\caption@@ContinuedFloat[1]{} @@ -383,7 +382,6 @@ \caption@font*{\KV@caption@fnt@normal\@unused}} \let\caption@setfloatcapt\@firstofone \newcommand*\caption@makecurrent[2]{} -\let\caption@makestart\@gobble \let\caption@@anchor\@firstofone \let\caption@start\relax \let\caption@@start\relax @@ -594,7 +592,7 @@ {\let\@tempa\@gobble}% suppress warning \caption@ifcompatibility{% \@tempa{% - \PackageWarningNoLine{caption}{% + \caption@WarningNoLine{% \noexpand\caption will not be redefined since it's already\MessageBreak redefined by a document class or package which is\MessageBreak unknown to the caption package.\MessageBreak @@ -619,11 +617,11 @@ \newcommand*\caption@star[2]{#1#2}% }{% \caption@ifincompatible{% - \PackageWarning{caption}{% + \caption@WarningNoLine{% Forced redefinition of \noexpand\caption since the\MessageBreak unsupported(!) package option `compatibility=false'\MessageBreak was given. Please fasten your seat belts, as we may\MessageBreak - experience turbulence!\@gobbletwo}% + experience turbulence}% }{}% \def\caption{% \caption@iftype @@ -754,17 +752,15 @@ \def\captionsetup##1{% \caption@g@addto@list\caption@SCsetup{##1}% \caption@setup{##1}}% + \let\caption@ORI\caption \def\caption{% - \let\captionsetup\@gobble - \caption@star - {\let\caption@ORI@refstepcounter\caption@@refstepcounter - \def\caption@@refstepcounter########1{% - \advance\csname c@########1\endcsname\@ne\relax}% - \caption@refstepcounter\@captype - \let\caption@@refstepcounter\caption@ORI@refstepcounter}% - {\caption@dblarg\@caption@SC}}% - \def\@caption@SC[##1]##2{% - \gdef\caption@SClentry{##1}\gdef\caption@SCtext{##2}% + \def\caption{\caption@Error{% + Only one \noexpand\caption can be placed in this environment}}% + \let\captionsetup\caption@setup + \let\caption@@refstepcounter\caption@l@stepcounter + \caption@ORI}% + \long\def\@caption##1[##2]##3{% + \gdef\caption@SClentry{##2}\gdef\caption@SCtext{##3}% \ignorespaces}% #1{% is \@gobble in star form, and \@firstofone otherwise \def\label##1{\gdef\caption@SClabel{##1}\ignorespaces}}% @@ -861,6 +857,7 @@ \caption@ORI@floatingtable}% \newcommand*\caption@floatflt[1]{% \caption@settype{#1}% + \caption@clearmargin \caption@setoptions{floating#1}% \let\caption@boxrestore\@parboxrestore}% }{} @@ -875,9 +872,10 @@ \def\@captype{#1}% \let\FP@LabelText\@empty \begin{lrbox}{\FP@floatCorpusBOX}% - \caption@ifFPrefcap\caption@freeze{% - \def\label##1{\gdef\FP@LabelText{##1}\ignorespaces}% - \caption@freeze*}}% + \caption@ifFPrefcap + {\caption@freeze\relax}% + {\def\label##1{\gdef\FP@LabelText{##1}\ignorespaces}% + \caption@freeze*}}% \renewcommand*\FP@floatEnd{% \end{lrbox}% \stepcounter{FP@\@captype C}% @@ -928,7 +926,7 @@ } \caption@IfPackageLoaded{hyperref}[2003/11/30 v6.74m]{% \@ifundefined{hyper@makecurrent}{% hyperref has stopped early - \PackageWarningNoLine{caption}{% + \caption@WarningNoLine{% Hyperref support is turned off\MessageBreak because hyperref has stopped early}% }{% @@ -936,17 +934,11 @@ \renewcommand*\caption@@refstepcounter{\H@refstepcounter}% \renewcommand*\caption@makecurrent[2]{% \caption@makecurrentHref{#1}% - \caption@Debug{hyper current=\@currentHref}% + \caption@Debug{hyperref current=\@currentHref}% \def\@currentlabelname{#2}}% \newcommand*\caption@makecurrentHref{\hyper@makecurrent}% - \renewcommand*\caption@makestart[1]{% - \begingroup - \Hy@hypertexnamesfalse - \hyper@makecurrent{#1.xxx}% - \endgroup - \caption@Debug{hyper start=\@currentHref}}% \renewcommand\caption@@anchor[1]{% - \caption@Debug{hyper anchor: \@currentHref}% + \caption@Debug{hyperref anchor: \@currentHref}% % If we cannot have nesting, the anchor is empty. \ifHy@nesting \hyper@@anchor{\@currentHref}{#1}% @@ -954,23 +946,6 @@ \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#1% \fi}% \g@addto@macro\caption@prepareslc{\let\caption@@anchor\@firstofone}% - \newcommand*\caption@startanchor[1]{% - \caption@Debug{hyper anchor: #1}% - \ifvmode\begingroup - \@tempdima\prevdepth - \nointerlineskip - \vspace*{-\caption@hypcapspace}% - \caption@anchor{#1}% - \vspace*{\caption@hypcapspace}% - \prevdepth\@tempdima - \endgroup\else - \PackageWarning{caption}{Internal Warning: Vertical TeX mode expected}% - \caption@anchor{#1}% - \fi}% - \newcommand*\caption@anchor[1]{% - \ifmeasuring@ \else - \Hy@raisedlink{\hyper@anchorstart{#1}\hyper@anchorend}% - \fi}% \renewcommand*\caption@@ContinuedFloat[1]{% \@ifundefined{theH#1}{}{% \expandafter\l@addto@macro\csname theH#1\endcsname{% @@ -985,17 +960,43 @@ \global\@capstartfalse \global\let\@currentHref\hc@currentHref}% \let\caption@@anchor\@firstofone -%%% \let\caption@startanchor\@gobble }{}}% + \newcommand*\caption@makestart[1]{% + \begingroup + \Hy@hypertexnamesfalse + \hyper@makecurrent{#1.caption}% + \endgroup + \caption@Debug{hypcap start=\@currentHref}}% + \newcommand*\caption@startanchor[1]{% + \caption@Debug{hypcap anchor: #1}% + \ifvmode\begingroup + \@tempdima\prevdepth + \nointerlineskip + \vspace*{-\caption@hypcapspace}% + \caption@anchor{#1}% + \vspace*{\caption@hypcapspace}% + \prevdepth\@tempdima + \endgroup\else + \caption@Warning{Internal Warning: Vertical TeX mode expected}% + \caption@anchor{#1}% + \fi}% + \newcommand*\caption@anchor[1]{% + \ifmeasuring@ \else + \caption@raisedlink{\hyper@anchorstart{#1}\hyper@anchorend}% + \fi}% + \ifx\HyperRaiseLinkLength\@tempdima + \def\caption@raisedlink#1{\ifvmode#1\else\Hy@raisedlink{#1}\fi}% + \else + \let\caption@raisedlink\Hy@raisedlink + \fi \def\caption@@start{% \@ifundefined{hc@currentHref}{% - \PackageWarning{caption}{% + \caption@Warning{% The option `hypcap=true' will be ignored for this\MessageBreak particular \string\caption}}{}}% \def\caption@freezeHref{% \let\caption@ORI@start\caption@start \def\caption@start{\let\caption@start\caption@ORI@start}% - \let\caption@ORI@@start\caption@@start \global\let\caption@currentHref\@undefined \def\caption@@start{\global\let\caption@currentHref\@currentHref}% \let\caption@ORI@setfloatcapt\caption@setfloatcapt @@ -1023,6 +1024,7 @@ \let\capstart\caption@start \let\caption@start\relax \let\caption@@start\relax + \caption@@setbool\caption@ifhypcap1% \renewcommand*\caption@hypcapspace{\hypcapspace}% \@ifundefined{Hy@float@makebox}{}{% \caption@Debug{% @@ -1093,11 +1095,12 @@ \caption@window{table}% \caption@setoptions{tabwindow}% \begin{window}[#1,#2,{#3},\caption@wincaption{#4}] }% - \newcommand*\caption@window{% + \newcommand*\caption@window[1]{% \let\caption@boxrestore\@parboxrestore \let\@makecaption\caption@@make \caption@setautoposition b% - \caption@settype}% + \caption@settype{#1}% + \caption@clearmargin}% \newcommand\caption@wincaption[1]{% \ifdim\picwd=\z@ \let\caption@makecurrent\@gobbletwo @@ -1184,7 +1187,9 @@ \caption@AtBeginDocument{\let\SC@caption=\caption}% \let\caption@ORI@SC@zfloat\SC@zfloat \def\SC@zfloat#1#2#3[#4]{% + \let\caption@ORI\caption \caption@ORI@SC@zfloat{#1}{#2}{#3}[#4]% + \let\caption\caption@ORI \caption@settype*{#2}% \caption@freeze*}% \let\caption@ORI@endSC@FLOAT\endSC@FLOAT @@ -1193,7 +1198,7 @@ \def\caption@settype##1{% will be done in \@xfloat \caption@ORI@settype*{##1}% do not change \@currentlabel \caption@setSC@justify - \caption@setoptions{SCfloat}% +%%% \caption@setoptions{SCfloat}% \caption@setoptions{SC\@captype}% \caption@start}% \def\caption@setSC@justify{% @@ -1311,8 +1316,8 @@ \else \float@dostyle{#1}% \fi}{}% - \caption@clearmargin - \caption@setoptions{wrapfloat}% + \caption@clearmargin +%%% \caption@setoptions{wrapfloat}% \caption@setoptions{wrap#1}% \@nameuse{caption@ORI@wrap#1}}% \caption@restylewrapfloat{figure}% diff --git a/Master/texmf-dist/tex/latex/caption/caption3.sty b/Master/texmf-dist/tex/latex/caption/caption3.sty index 4bc31c25115..7d89e2f142e 100644 --- a/Master/texmf-dist/tex/latex/caption/caption3.sty +++ b/Master/texmf-dist/tex/latex/caption/caption3.sty @@ -28,7 +28,7 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2007/09/22 v3.1b caption3 kernel (AR)] +\ProvidesPackage{caption3}[2007/10/17 v3.1c caption3 kernel (AR)] \providecommand*\@nameundef[1]{% \expandafter\let\csname #1\endcsname\@undefined} \providecommand\l@addto@macro[2]{% @@ -153,12 +153,16 @@ \caption@@begindocumenthook \let\caption@@begindocumenthook\@undefined \PackageInfo{caption}{End \noexpand\AtBeginDocument code\@gobble}} +\newcommand*\caption@Warning[1]{\caption@WarningNoLine{#1\on@line}} +\newcommand*\caption@WarningNoLine[1]{\PackageWarning{caption}{#1.^^J\caption@wh\@gobbletwo}} \newcommand*\caption@Error[1]{\PackageError{caption}{#1}\caption@eh} \let\caption@KV@err\caption@Error +\newcommand*\caption@wh{% + See the caption package documentation for explanation.} \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} + at the documentation of the `caption' package, especially the\MessageBreak + section about errors.\MessageBreak\@ehc} \RequirePackage{keyval}[1997/11/10] \providecommand*\undefine@key[2]{% \@nameundef{KV@#1@#2}\@nameundef{KV@#1@#2@default}} @@ -171,6 +175,20 @@ \newcommand*\caption@declareoption[2]{% #1{\undefine@key{caption}{#2}}\define@key{caption}{#2}} \@onlypreamble\caption@declareoption +\newcommand*\DeclareCaptionOptionNoValue{% + \caption@teststar\caption@declareoption@novalue\AtEndOfPackage\@gobble} +\@onlypreamble\DeclareCaptionOptionNoValue +\newcommand\caption@declareoption@novalue[3]{% + \caption@declareoption{#1}{#2}[\KV@err]{% + \caption@option@novalue{#2}{##1}{#3}}} +\@onlypreamble\caption@declareoption@novalue +\newcommand*\caption@option@novalue[2]{% + \ifx\KV@err#2% + \expandafter\@firstofone + \else + \KV@err{No value allowed for #1}% + \expandafter\@gobble + \fi} \newcommand*\captionsetup{% \caption@teststar\@captionsetup\@gobble\@firstofone} \newcommand*\@captionsetup[1]{% @@ -187,7 +205,7 @@ \@testopt\@@clearcaptionsetup{}} \def\@@clearcaptionsetup[#1]#2{% \expandafter\caption@ifempty@list\csname caption@opt@#2\endcsname - {\caption@tempa{\PackageWarning{caption}{Option list `#2' undefined}}}% + {\caption@tempa{\caption@Warning{Option list `#2' undefined}}}% {\ifx,#1,% \caption@clearsetup{#2}% \else @@ -215,9 +233,8 @@ \fi}% \expandafter\caption@ifempty@list\csname caption@opt@#2\endcsname {\caption@removefromoptlist{#2}}{}% - \caption@tempa{% - \PackageWarning{caption}{% - Option `#1' was not in list `#2'\MessageBreak}}} + \caption@tempa{\caption@Warning{% + Option `#1' was not in list `#2'\MessageBreak}}} \newcommand*\showcaptionsetup[2][\@firstofone]{% \GenericWarning{}{% #1 Caption Info: KV list on `#2'\MessageBreak @@ -327,7 +344,7 @@ \newcommand*\caption@pageref[1]{% \expandafter\ifx\csname caption@r@#1\endcsname\relax \G@refundefinedtrue % => 'There are undefined references.' - \PackageWarning{caption}{Reference on page \thepage \space undefined}% + \caption@Warning{Reference on page \thepage \space undefined}% \else \expandafter\let\expandafter\caption@thepage\csname caption@r@#1\endcsname \fi} @@ -414,24 +431,29 @@ singlelinecheck=1,strut=1}% \caption@clearsetup{SingleLine}} \DeclareCaptionStyle{base}[indent=0pt,justification=centering]{} -\DeclareCaptionStyle{default}[indent=0pt,justification=centering,format=plain]{% +\DeclareCaptionStyle{default}[indent=0pt,justification=centering]{% format=default,labelsep=default,textformat=default,% justification=default,font=default,labelfont=default,textfont=default} -\newcommand\DeclareCaptionFormat{% +\newcommand*\DeclareCaptionFormat{% \caption@teststar\caption@declareformat\@gobble\@firstofone} \@onlypreamble\DeclareCaptionFormat -\newcommand\caption@declareformat[3]{% - \global\expandafter\let\csname caption@ifh@#2\endcsname#1% - \global\long\@namedef{caption@fmt@#2}##1##2##3{#3}} +\newcommand*\caption@declareformat[2]{% + \@dblarg{\caption@@declareformat#1{#2}}} \@onlypreamble\caption@declareformat +\long\def\caption@@declareformat#1#2[#3]#4{% + \global\expandafter\let\csname caption@ifh@#2\endcsname#1% + \global\long\@namedef{caption@slfmt@#2}##1##2##3{#3}% + \global\long\@namedef{caption@fmt@#2}##1##2##3{#4}} +\@onlypreamble\caption@@declareformat \DeclareCaptionOption{format}{\caption@setformat{#1}} \newcommand*\caption@setformat[1]{% \@ifundefined{caption@fmt@#1}% {\caption@Error{Undefined format `#1'}}% {\expandafter\let\expandafter\caption@ifh\csname caption@ifh@#1\endcsname + \expandafter\let\expandafter\caption@slfmt\csname caption@slfmt@#1\endcsname \expandafter\let\expandafter\caption@fmt\csname caption@fmt@#1\endcsname}} \DeclareCaptionFormat{plain}{#1#2#3\par} -\DeclareCaptionFormat{hang}{% +\DeclareCaptionFormat{hang}[#1#2#3\par]{% \caption@ifin@list\caption@lsepcrlist\caption@lsepname {\caption@Error{% The option `labelsep=\caption@lsepname' does not work\MessageBreak @@ -604,7 +626,7 @@ \caption@AtBeginDocument{% \@ifundefined{caption@r@ragged2e}{% \newcommand*\caption@@ragged{% - \PackageWarning{caption}{% + \caption@Warning{% `ragged2e' support has been changed.\MessageBreak Rerun to get captions right}% \global\let\caption@ragged\@secondoftwo % suppress further warnings @@ -617,7 +639,7 @@ }{% \newcommand*\caption@@ragged[2]{% \@ifundefined{caption\string#1}{% - \PackageWarning{caption}{% + \caption@Warning{% `ragged2e' package not loaded, therefore\MessageBreak substituting \string#2 for \string#1\MessageBreak}% \global\@namedef{caption\string#1}}{}% @@ -771,7 +793,7 @@ \fi \relax }} - \let\captionmargin\captionindent + \let\captionmargin\captionindent % set to 3pc by AMS class \begingroup\edef\@tempa{\endgroup \noexpand\caption@g@addto@list\noexpand\caption@sty@default {margin=\the\captionmargin @@ -831,7 +853,7 @@ \else \vskip\belowcaptionskip \fi}} - \DeclareCaptionFormat{default}{% + \DeclareCaptionFormat{default}[#1#2#3\par]{% \ifdofullc@p \caption@ifin@list\caption@lsepcrlist\caption@lsepname {\caption@Error{% @@ -967,8 +989,7 @@ \captionmargin\caption@minmargin\relax \fi \fi - \caption@ifslc{\caption@ifempty@list\caption@opt@SingleLine{}{% - \caption@slc{#1}{#2}\captionwidth\relax}}{}% + \caption@ifslc{\caption@slc{#1}{#2}\captionwidth\relax}{}% \caption@calcmargin \@tempdima\captionmargin \ifdim\captionmargin@=\z@ \else @@ -1017,7 +1038,7 @@ \newcommand\caption@slc[4]{% \caption@Debug{Begin SLC}% \begingroup - \expandafter\caption@setup\expandafter{\caption@opt@SingleLine}% + \caption@SingleLine \let\caption@hj\@empty \caption@calcmargin % calculate #3 if necessary \caption@prepareslc @@ -1026,15 +1047,19 @@ \endgroup \else \endgroup - \expandafter\caption@setup\expandafter{\caption@opt@SingleLine}% + \caption@SingleLine #4% \fi \caption@Debug{End SLC}} +\newcommand*\caption@SingleLine{% + \expandafter\caption@setup\expandafter{\caption@opt@SingleLine}% + \let\caption@fmt\caption@slfmt} \newcommand*\caption@prepareslc{% \let\@footnotetext\@gobble\let\@endnotetext\@gobble \def\label{\caption@withoptargs\@gobbletwo}% - \def\stepcounter##1{\advance\csname c@##1\endcsname\@ne\relax}% + \let\stepcounter\caption@l@stepcounter \let\refstepcounter\stepcounter\let\H@refstepcounter\stepcounter} +\newcommand*\caption@l@stepcounter[1]{\advance\csname c@#1\endcsname\@ne\relax} \newcommand*\captionbox{\parbox[b]} \newcommand\caption@@@make[2]{% \sbox\@tempboxa{#1}% -- cgit v1.2.3