From 007f67a693e4d031fd3d792df8e4d5f43e2cb2e7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 9 Jan 2006 00:49:07 +0000 Subject: doc/latex git-svn-id: svn://tug.org/texlive/trunk@84 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/caption/anleitung.pdf | Bin 0 -> 188799 bytes Master/texmf-dist/doc/latex/caption/anleitung.tex | 1612 +++++++++++++++++++++ Master/texmf-dist/doc/latex/caption/caption.pdf | Bin 0 -> 262925 bytes Master/texmf-dist/doc/latex/caption/caption2.pdf | Bin 0 -> 71704 bytes Master/texmf-dist/doc/latex/caption/manual.tex | 61 + 5 files changed, 1673 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/caption/anleitung.pdf create mode 100644 Master/texmf-dist/doc/latex/caption/anleitung.tex create mode 100644 Master/texmf-dist/doc/latex/caption/caption.pdf create mode 100644 Master/texmf-dist/doc/latex/caption/caption2.pdf create mode 100644 Master/texmf-dist/doc/latex/caption/manual.tex (limited to 'Master/texmf-dist/doc/latex/caption') diff --git a/Master/texmf-dist/doc/latex/caption/anleitung.pdf b/Master/texmf-dist/doc/latex/caption/anleitung.pdf new file mode 100644 index 00000000000..b9e1b3a5b69 Binary files /dev/null and b/Master/texmf-dist/doc/latex/caption/anleitung.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/anleitung.tex b/Master/texmf-dist/doc/latex/caption/anleitung.tex new file mode 100644 index 00000000000..ac41fbd6758 --- /dev/null +++ b/Master/texmf-dist/doc/latex/caption/anleitung.tex @@ -0,0 +1,1612 @@ +%% +%% This is file `anleitung.tex', +%% +%% Copyright (C) 1994-2004 Axel Sommerfeldt (caption@sommerfeldt.net) +%% +%% -------------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% This Current Maintainer of this work is Axel Sommerfeldt. +%% +%% This work consists of the files caption.ins, caption.dtx, +%% caption2.dtx, caption.xml, and anleitung.tex and the derived files +%% caption.sty, caption2.sty, caption3.sty, and manual.tex. +%% +\ProvidesFile{anleitung.tex} +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +\documentclass[a4paper]{ltxdoc} +\setlength\parindent{0pt} +\setlength\parskip{\medskipamount} + +\errorcontextlines9 +\def\StartTracing{\typeout{StartTracing}\tracingmacros=1\tracingcommands=1\relax} +\def\StopTracing{\tracingmacros=0\tracingcommands=0\relax\typeout{StopTracing}} + +\newcommand\NEWfeature{\NEW{Neues Feature}} +\newcommand\NEWdescription{\NEW{Neue Beschreibung}} +\newcommand\NEW[2]{% + \hskip 1sp \marginpar{\footnotesize\sffamily\raggedleft + #1\\#2}} + +%%%\usepackage[T1]{fontenc} +\ifx\pdfoutput\undefined\else + \ifcase\pdfoutput\else + \usepackage{mathptmx,courier} + \usepackage[scaled=0.90]{helvet} + \addtolength\marginparwidth{15pt} + \fi +\fi + +\usepackage[german]{babel} + +\usepackage{caption}[2004/11/28] +%\usepackage{float} +\usepackage{longtable,hyperref} +%\usepackage[raggedright]{sidecap} + +\DeclareCaptionLabelSeparator{period-newline}{. \\} +\DeclareCaptionStyle{period-newline}[labelsep=period]{labelsep=period-newline} +\DeclareCaptionStyle{period-newline2}[labelsep=period,justification=centering]{labelsep=period-newline} +\DeclareCaptionStyle{period-newline3}[labelsep=period]{labelsep=period-newline,justification=centering} +\DeclareCaptionFormat{reverse}{#3#2#1} +\DeclareCaptionFormat{llap}{\llap{#1#2}#3\par} +\DeclareCaptionLabelFormat{fullparens}{(\bothIfFirst{#1}{ }#2)} +\DeclareCaptionLabelSeparator{fill}{\hfill} + +\DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}} + +\newcommand*{\purerm}[1]{{\upshape\mdseries\rmfamily #1}} +\newcommand*{\puresf}[1]{{\upshape\mdseries\sffamily #1}} +\newcommand*{\purett}[1]{{\upshape\mdseries\ttfamily #1}} +\let\package\puresf\def\thispackage{\package{caption}} +\let\env\purett \let\opt\purett + +\newenvironment{Options}[1]% + {\list{}{\renewcommand{\makelabel}[1]{\texttt{##1}\hfil}% + \settowidth{\labelwidth}{\texttt{#1\space}}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}}}% + {\endlist} + +\newenvironment{Example}% + {\ifvmode\else\unskip\par\fi + \minipage{\linewidth}\smallskip}% + {\smallskip\endminipage} +\newcommand\example[3][figure]{% + \begingroup + \captionsetup{#2}% + \captionof{#1}[]{#3}% + \endgroup} + +\begin{document} + +\GetFileInfo{caption.sty} +\title{Setzen von Abbildungs- und Tabellenbeschriftungen mit dem + \thispackage-Paket\thanks{Dieses Paket hat die Versionsnummer + \fileversion, zuletzt ge"andert am \filedate.}} +\author{Axel Sommerfeldt\\\href{mailto:caption@sommerfeldt.net}{\texttt{caption@sommerfeldt.net}}} +\date{26. Juni 2005} +\maketitle + + +\begin{abstract} +Das \thispackage\ Paket bietet einem Mittel und Wege das Erscheinungsbild der +Bildunterschriften und Tabellen"uberschriften den eigenen W"unschen +bzw.\ bestimmten Vorgaben anzupassen. +Hierbei wurde viel Wert auf die reibungslose Zusammenarbeit und in die +Integration anderer Dokumentenklassen und Pakete gelegt.\footnote{F"ur die +aktuelle Version 3.0 dieses Paketes wurde die Benutzerschnittstelle zusammen +mit Steven D. Cochran und Frank Mittelbach komplett "uberarbeitet.} +\end{abstract} + +%\tableofcontents + +\newcommand\figuretext{% + Die auf die Rotationsfrequenz des Innenzylinders normierten Eigenfrequenzen + der gefundenen Grundmoden der Taylor"=Str"omung f"ur \mbox{$\eta = 0.5$}. %\\ + (Die azimutale Wellenzahl ist mit $m$ bezeichnet.)} + + +\section{Einleitung} + +Mit |\caption| gesetzte Bildunterschriften und Tabellen"uberschriften werden +von den Standard"=Dokumentenklassen eher stiefm"utterlich behandelt. +In der Regel schlicht als ganz normaler Absatz gesetzt, ergibt sich keine +signifikante optische Abgrenzung vom eigentlichen Text, wie z.B. hier: + +\example{belowskip=\abovecaptionskip}{\figuretext} + +Es sollte aber eine M"oglichkeit geben, diesem Umstand abzuhelfen. Es w"are +zum Beispiel nett, wenn man den Text der Unterschrift etwas kleiner gestalten, +extra R"ander festlegen oder den Zeichensatz des Bezeichners dem der +Kapitel"uberschriften anpassen k"onnte. So in etwa: + +\example{belowskip=\abovecaptionskip,size=small,margin=10pt,labelfont=bf}{\figuretext} + +Mit Hilfe dieses Paketes k"onnen Sie dies leicht bewerkstelligen; es sind viele +vorgegebene Parameter einstellbar, Sie k"onnen aber auch eigene +Gestaltungsmerkmale einflie"sen lassen. + + +\pagebreak[4] +\section{Verwendung des Paketes} +\label{usage} + +\DescribeMacro{\usepackage} +Mittels +\begin{quote} + |\usepackage|\oarg{Optionen}|{caption}[|\texttt{\filedate}|]| +\end{quote} +in dem Vorspann des Dokumentes wird das \thispackage\ Paket eingebunden, die +Optionen legen hierbei das Aussehen der "Uber- und Unterschriften fest. So +w"urde z.B. +\begin{quote} + |\usepackage[margin=10pt,font=small,labelfont=bf]{caption}|%[|\texttt{\filedate}|]| +\end{quote} +zu dem obrigen Ergebnis mit Rand, kleinerem Zeichensatz und fetter Bezeichnung +f"uhren. + +\DescribeMacro{\captionsetup} +Eine "Anderung der Parameter ist auch zu einem sp"ateren Zeitpunkt jederzeit +mittels des Befehls +\begin{quote} + |\captionsetup|\oarg{Typ}\marg{Optionen} +\end{quote} +m"oglich. So sind z.B. die Befehlssequenzen +\begin{quote} + |\usepackage[margin=10pt,font=small,labelfont=bf]{caption}|%[|\texttt{\filedate}|]| +\end{quote} +und +\begin{quote} + |\usepackage{caption}|\\%[|\texttt{\filedate}|]| + |\captionsetup{margin=10pt,font=small,labelfont=bf}| +\end{quote} +in ihrer Wirkung identisch. + +Weiterhin gilt zu beachten, da"s sich die Verwendung von |\captionsetup| +innerhalb von Umgebungen nur auf die Umgebung selber auswirkt, nicht aber auf +den Rest des Dokumentes. M"ochte man also z.B. die automatische Zentrierung der +Abbildungsunterschrift nur in einem konkreten Falle ausschalten, so kann dies +mit +\begin{quote} + |\begin{figure}|\\ + | |\ldots\\ + | \captionsetup{singlelinecheck=off}|\\ + | \caption{|\ldots|}|\\ + |\end{figure}| +\end{quote} +geschehen, ohne da"s die restlichen Abbildungsunterschriften hiervon +beeintr"achtigt werden. + +(Der optionale Parameter \meta{Typ} wird in Abschnitt + \ref{misc}: \textit{"`N"utzliches"'} behandelt.) + +\section{Beschreibung der Optionen} +\def\OptionLabel{RaggedRight} + + +\subsection{Formatierung} + +\DescribeMacro{format=} +Eine Abbildungs- oder Tabellenbeschriftung besteht im wesentlichen aus drei +Teilen: +Dem Bezeichner (etwa "`Abbildung 3"'), dem Trenner +(etwa "`:\textvisiblespace"') und dem eigentlichen Text. +Mittels der Option +\begin{quote} + |format=|\meta{Name} +\end{quote} +wird festgelegt, wie diese drei Teile zusammengesetzt werden. +F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar:\footnote{Es gibt hier +wie auch bei vielen anderen Optionen die M"oglichkeit, auch eigene Formate, +Zeichens"atze etc.\ zu definieren. +Wie dies geht wird in +Abschnitt \ref{declare}: \textit{"`Eigene Erweiterungen"'} dargelegt.} + +\begin{Options}{\OptionLabel} + \item[default] + Die Beschriftung wird als normaler Abschnitt gesetzt. + (Dies ist das Standardverhalten.) + + \item[hang] + Der Text wird so gesetzt, da"s er an dem Bezeichner "`h"angt"', d.h.~der Platz unter + dem Bezeichner und dem Trenner bleibt leer. +\end{Options} + +\begin{Example} + Ein Beispiel: Die Angabe der Option + \begin{quote} + |format=hang| + \end{quote} + f"uhrt zu Abbildungsunterschriften der Art + \example{format=hang}{\figuretext} +\end{Example} + +\DescribeMacro{indention=} +Bei beiden Formaten (\texttt{default} und \texttt{hang}) kann der Einzug der Beschriftung +ab der zweiten Textzeile angepasst werden, dies geschieht mit Hilfe der Option +\begin{quote} + |indention=|\meta{Einzug}\quad, +\end{quote} +wobei anstelle von \meta{Einzug} jedes beliebige feste Ma"s angegeben werden kann. + +Drei Beispiele: + +\begin{Example} + \begin{quote} + |format=default,indention=.5cm| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{format=default,indention=.5cm}{\figuretext} +\end{Example} + +\begin{Example} + \begin{quote} + |format=hang,indention=-0.5cm| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{format=hang,indention=-0.5cm}{\figuretext} +\end{Example} + +\pagebreak[3] +\DescribeMacro{labelformat=} +Mittels der Option +\nopagebreak[3] +\begin{quote} + |labelformat=|\meta{Name} +\end{quote} +\nopagebreak[3] +\NEWdescription{v3.0e} +wird die Zusammensetzung des Bezeichners festgelegt. +F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar: + +\begin{Options}{\OptionLabel} + \item[default] + Der Bezeichner wird wie von der verwendeten Dokumentenklasse vorgegeben gesetzt, + "ublicherweise ist dies der Name und die Nummer, getrennt durch ein Leerzeichen + (wie \texttt{simple}). + (Dies ist das Standardverhalten.) + + \item[empty] + Der Bezeichner ist leer. Diese Option macht nur in Verbindung mit anderen + Optionen (wie etwa \texttt{labelsep=none}) Sinn. + + \item[simple] + Der Bezeichner ist aus dem Namen und der Nummer zusammengesetzt. + + \item[parens] + Die Nummer des Bezeichners wird in runde Klammern gesetzt. +\end{Options} + +\begin{Example} + Ein Beispiel: Die Optionen + \begin{quote} + |labelformat=parens,labelsep=quad| + \end{quote} + f"uhren zu Abbildungsunterschriften der Art + \example{labelformat=parens,labelsep=quad}{\figuretext} +\end{Example} + +\DescribeMacro{labelsep=} +Mittels der Option +\begin{quote} + |labelsep=|\meta{Name} +\end{quote} +wird die Zusammensetzung des Trenners festgelegt. +F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar: + +\begin{Options}{\OptionLabel} + \item[none] + Der Trenner ist leer. Diese Option macht nur in Verbindung mit anderen + Optionen (wie etwa \texttt{labelformat=empty}) Sinn. + + \item[colon] + Der Trenner besteht aus einem Doppelpunkt und einem Leerzeichen. + (Dies ist das Standardverhalten.) + + \item[period] + Der Trenner besteht aus einem Punkt und einem Leerzeichen. + + \item[space] + Der Trenner besteht lediglich aus einem einzelnen Leerzeichen. + + \item[quad] + Der Trenner besteht aus einem |\quad|. + + \item[newline] + Als Trenner wird ein Zeilenumbruch verwendet. +\end{Options} + +Zwei Beispiele: +\begin{Example} + \begin{quote} + |labelsep=period| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{labelsep=period}{\figuretext} +\end{Example} + +\begin{Example} + \begin{quote} + |labelsep=newline,singlelinecheck=false| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{labelsep=newline,singlelinecheck=false}{\figuretext} +\end{Example} + + +\subsection{Textausrichtung} + +\DescribeMacro{justification=} +Mittels der Option +\begin{quote} + |justification=|\meta{Name} +\end{quote} +wird die Ausrichtung des Textes festgelegt. +F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar: + +\begin{Options}{\OptionLabel} + \item[justified] + Der Text wird als Blocksatz gesetzt. + (Dies ist das Standardverhalten.) + + \item[centering] + Der Text wird zentriert gesetzt. + +% \item[Centering] +% Der Text wird zentriert gesetzt. Hierf"ur wird jedoch im Gegensatz +% zu \texttt{centering} der Befehl |\Centering| des \package{ragged2e}-Paketes +% verwendet, der \LaTeX\ das Trennen der Worte erlaubt. + + \item[centerlast] + Lediglich die letzte Zeile des Textes wird zentriert gesetzt. + + \item[centerfirst] + Lediglich die erste Zeile des Textes wird zentriert gesetzt. + + \item[raggedright] + Der Text wird linksb"undig gesetzt. + +% \item[RaggedRight] +% Der Text wird linksb"undig mit Hilfe des \package{ragged2e}-Paketes gesetzt. + \item[RaggedRight] + Der Text wird ebenfalls linksb"undig gesetzt. Hierf"ur wird jedoch im Gegensatz + zu \texttt{raggedright} der Befehl |\RaggedRight| des \package{ragged2e}-Paketes + verwendet, der \LaTeX\ das Trennen der Worte erlaubt. + + \item[raggedleft] + Der Text wird rechtsb"undig gesetzt. + +% \item[RaggedLeft] +% Der Text wird rechtsb"undig mit Hilfe des \package{ragged2e}-Paketes gesetzt. +\end{Options} + +Einige Beispiele: +\begin{Example} + \begin{quote} + |justification=centerlast| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{justification=centerlast}{\figuretext} +\end{Example} + +\begin{Example} + \begin{quote} + |format=hang,justification=raggedright| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{format=hang,justification=raggedright}{\figuretext} +\end{Example} + +\begin{Example} + \begin{quote} + |format=hang,justification=RaggedRight| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{belowskip=\abovecaptionskip,format=hang,justification=RaggedRight}{\figuretext} +\end{Example} + +\begin{Example} + \begin{quote} + |labelsep=newline,justification=centering| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{belowskip=\abovecaptionskip,labelsep=newline,justification=centering}{\figuretext} +\end{Example} + +\DescribeMacro{singlelinecheck=} +In den Standard"=Dokumentenclassen |article|, |report| und |book| sind die +Ab\-bildungs- und Tabellenbeschriftungen so realisiert, da"s sie automatisch +zentriert werden, wenn sie lediglich aus einer einzigen Textzeile bestehen: + +\example{belowskip=\abovecaptionskip}{Eine kurze Beschriftung.} + +%\example{belowskip=\abovecaptionskip}{% +% Eine lange Beschriftung, die gen"ugend Text enth"alt, um l"anger als +% eine einzelne Zeile zu sein.} + +Diesen Mechanismus "ubernimmt das \thispackage-Paket und ignoriert damit +bei solch kurzen Beschriftungen die mittels der Option |justification=| +eingestellte Textausrichtung. Dieses Verhalten kann jedoch mit der Option +\begin{quote} + |singlelinecheck=|\meta{bool} +\end{quote} +reguliert werden. Setzt man f"ur \meta{bool} entweder |false|, |no|, |off| +oder |0| ein, so wird der Zentrierungsmechnismus au"ser Kraft gesetzt. +Die obrige, kurze Abbildungsunterschrift w"urde z.B. nach Angabe der Option +\begin{quote} + |singlelinecheck=false| +\end{quote} +so aussehen: +\begingroup +\captionsetup{type=figure} +\ContinuedFloat +\endgroup +\example{belowskip=\abovecaptionskip,singlelinecheck=false}{Eine kurze Beschriftung.} + +Setzt man f"ur \meta{bool} hingegen |true|, |yes|, |on| oder |1| ein, so +wird die automatische Zentrierung wieder eingeschaltet. (Standardm"a"sig +ist sie eingeschaltet.) + + +\subsection{Zeichens"atze} + +\DescribeMacro{font=} +\DescribeMacro{labelfont=} +\DescribeMacro{textfont=} +Das \thispackage-Paket kennt 3 Zeichens"atze: Denjenigen f"ur die gesammte Beschriftung +(|font|), denjenigen, der lediglich auf den Bezeichner und den Trenner angewandt wird +(|labelfont|), sowie denjenigen, der lediglich auf den Text wirkt (|textfont|). +So lassen sich die unterschiedlichen Teile der Beschriftung individuell mittels +\begin{quote}\begin{tabular}{@{}r@{}ll} + |font=| & \marg{Zeichensatzoptionen} & ,\\ + |labelfont=| & \marg{Zeichensatzoptionen} & und\\ + |textfont=| & \marg{Zeichensatzoptionen} & \\ +\end{tabular}\end{quote} +\nopagebreak[3] +anpassen. +\pagebreak[3] + +Als \meta{Zeichensatzoptionen} sind eine Kombination aus folgendem erlaubt: + +\begin{Options}{\OptionLabel} + \item[scriptsize] {\scriptsize Sehr kleine Schrift} + \item[footnotesize] {\footnotesize Fu"snotengr"o"se} + \item[small] {\small Kleine Schrift} + \item[normalsize] {\normalsize Normalgro"se Schrift} + \item[large] {\large Gro"se Schrift} + \item[Large] {\Large Gr"o"sere Schrift} + + \item[up] {\upshape Upright Schriftart} + \item[it] {\itshape Italic Schriftart} + \item[sl] {\slshape Slanted Schriftart} + \item[sc] {\scshape Small Caps Schriftart} + + \item[md] {\mdseries Medium Schriftserie} + \item[bf] {\bfseries Bold Schriftserie} + + \item[rm] {\rmfamily Roman Schriftfamilie} + \item[sf] {\sffamily Sans Serif Schriftfamilie} + \item[tt] {\ttfamily Typewriter Schriftfamilie} +\end{Options} + +Wird lediglich eine einzelne Zeichensatzoption ausgew"ahlt, k"onnen die +geschweiften Klammern entfallen, d.h.~die Optionen +%\begin{quote} + |font={small}| +%\end{quote} +und +%\begin{quote} + |font=small| +%\end{quote} +sind in ihrer Wirkung identisch. + +Beispiele: +\begin{Example} + \begin{quote} + |font={small,it},labelfont=bf| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{font={small,it},labelfont=bf}{\figuretext} +\end{Example} + +\begin{Example} + \begin{quote} + |font=small,labelfont=bf,textfont=it| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{font=small,labelfont=bf,textfont=it}{\figuretext} +\end{Example} + + +\subsection{R"ander und Abs"atze} + +\DescribeMacro{margin=} +\DescribeMacro{width=} +F"ur die Abbildungs- und Tabellenbeschriftungen kann \emph{entweder} ein extra Rand +\emph{oder} eine feste Breite festgelegt werden. Dies geschieht mit +\begin{quote}\begin{tabular}{@{}r@{}ll} + |margin=| & \meta{Rand} & \emph{oder}\\ + |width=| & \meta{Breite} & \\ +\end{tabular}\end{quote} +In beiden F"allen wird die Beschriftung zentriert, d.h.~der linke und rechte Rand +sind immer gleich gro"s. + +Zwei Beispiele hierzu: +\begin{Example} + \begin{quote} + |margin=10pt| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{margin=10pt}{\figuretext} +\end{Example} + +\begin{Example} + \begin{quote} + |width=.75\textwidth| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{width=.75\textwidth}{\figuretext} +\end{Example} + +\DescribeMacro{parskip=} +Diese Option wirkt auf Abbildungs- oder Tabellenbeschriftungen, die +aus mehr als einem Absatz bestehen; sie legt den Abstand zwischen den +Abs"atzen fest. +\begin{quote} + |parskip=|\meta{Abstand zwischen Abs"atzen} +\end{quote} +Ein Beispiel: +\begin{Example} + \begin{quote} + |margin=10pt,parskip=5pt| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{margin=10pt,parskip=5pt}{% + Erster Absatz der Beschriftung; dieser enth"alt einigen Text, so da"s die + Auswirkungen der Optionen deutlich werden. + + Zweiter Absatz der Beschriftung; dieser enth"alt ebenfalls einigen Text, + so da"s die Auswirkungen der Optionen deutlich werden.} +\end{Example} + +\DescribeMacro{hangindent=} +Die Option +\begin{quote} + |hangindent=|\meta{Einzug} +\end{quote} +legt einen Einzug f"ur alle Zeilen au"ser der jeweils ersten des Absatzes fest. +Besteht die Beschriftung lediglich aus einem einzelnen Absatz, so ist die +Wirkung mit der Option |indention=|\meta{Einzug} identisch, bei mehreren +Abs"atzen zeigt sich jedoch der Unterschied: + +\begin{Example} + \begin{quote} + |format=hang,indention=-.5cm| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{format=hang,indention=-.5cm}{% + Erster Absatz der Beschriftung; dieser enth"alt einigen Text, so da"s die + Auswirkungen der Optionen deutlich werden. + + Zweiter Absatz der Beschriftung; dieser enth"alt ebenfalls einigen Text, + so da"s die Auswirkungen der Optionen deutlich werden.} +\end{Example} + +\begin{Example} + \begin{quote} + |format=hang,hangindent=-.5cm| + \end{quote} + \captionsetup{aboveskip=0pt} + \example{format=hang,hangindent=-.5cm}{% + Erster Absatz der Beschriftung; dieser enth"alt einigen Text, so da"s die + Auswirkungen der Optionen deutlich werden. + + Zweiter Absatz der Beschriftung; dieser enth"alt ebenfalls einigen Text, + so da"s die Auswirkungen der Optionen deutlich werden.} +\end{Example} + + +\subsection{Stile} +\label{style} + +\DescribeMacro{style=} +Eine geeignete Kombination aus den bisher vorgestellten Optionen wird \textit{Stil} +genannt; dies ist in etwa mit dem Seitenstil vergleichbar, den man bekannterma"sen +mit |\pagestyle| einstellen kann. + +Einen vordefinierten Abbildungs- und Tabellenbeschriftungsstil kann man mit der +Option +\begin{quote} + |style=|\meta{Stil} +\end{quote} +ausw"ahlen. Das \thispackage-Paket definiert in der Regel lediglich den Stil +|default|, der alle vorgehenden Optionen auf die Standardbelegung zur"ucksetzt, +d.h.~die Angabe der Option +\begin{quote} + |style=default| +\end{quote} +entspricht den Optionen +\begin{quote} + |format=default,labelformat=simple,labelsep=colon,|\\ + |justification=justified,font=default,labelfont=default,|\\ + |textfont=default,margin=0pt,indention=0pt,parindent=0pt|\\ + |hangindent=0pt,singlelinecheck=true| +\end{quote} + + +\subsection{Abst"ande} + +\DescribeMacro{aboveskip=} +\DescribeMacro{belowskip=} +Die Standard-\LaTeX-Klassen |article|, |report| und |book| definieren +zwei Abst"ande, die in Zusammenhang mit den Abbildungs- und +Tabellenbeschriftungen gebraucht werden: |\abovecaptionskip| wird \emph{vor} +der Beschriftung angewandt und ist auf |10pt| vorbelegt. |\belowcaptionskip| +wird \emph{nach} der Beschriftung angewandt und ist auf |0pt| vorbelegt. + +\pagebreak[3] +Beide Abst"ande lassen sich gew"ohnlich mit |\setlength| "andern, aber auch mit den +\thispackage-Optionen +\nopagebreak[3] +\begin{quote}\begin{tabular}{@{}r@{}ll} + |aboveskip=| & \meta{Abstand nach oben} & und\\ + |belowskip=| & \meta{Abstand nach unten} & .\\ +\end{tabular}\end{quote} + +\DescribeMacro{position=} +Die sture Anwendung von |\abovecaptionskip| und |\belowcaptionskip| bei +Beschriftungen birgt einen gro"sen Nachteil: Ist die Beschriftung \emph{"uber} +und nicht \emph{unter} der Abbildung oder Tabelle (wie bei Tabellen durchaus +"ublich), so ist die Vorbelegung dieser beiden Abst"ande nicht mehr sinnvoll, +da hier kein Abstand zwischen der Beschriftung und der Tabelle gesetzt wird. +(Wir erinnern uns: |\belowcaptionskip| ist auf |0pt|, also kein Abstand, +vorbelegt.) + +Man vergleiche: +\begin{Example} + \begin{minipage}[c]{.5\linewidth}% +% \captionsetup{aboveskip=0pt}% + \captionof{table}{Eine Tabelle}% + \centering\begin{tabular}{ll}% + A & B \\% + C & D \\% + \end{tabular}% + \end{minipage}% + \begin{minipage}[c]{.5\linewidth}% + \centering\begin{tabular}{ll}% + A & B \\% + C & D \\% + \end{tabular}% + \captionof{table}{Eine Tabelle}% + \end{minipage}% +\end{Example} + +Mit Hilfe des Parameters |position| kann man jedoch festlegen, wie +\LaTeX\ die Beschriftung behandeln soll, ob als \mbox{\emph{"Uber}schrift} +oder als \mbox{\emph{Unter}schrift}: +\begin{quote} + |position=top|\quad(oder |position=above|) +\end{quote} +gibt an, da"s die Abst"ande so gew"ahlt werden, da"s sie f"ur \mbox{\emph{"Uber}schriften} +sinnvoll gew"ahlt sind und +\begin{quote} + |position=bottom|\quad(oder |position=below|) +\end{quote} +gibt an, da"s die Abst"ande so gew"ahlt werden, da"s sie f"ur \mbox{\emph{"Uber}schriften} +sinnvoll gew"ahlt sind. (Dies ist die Standardeinstellung, allerdings nicht f"ur |longtable|s.) + +F"ugt man nun ein |\captionsetup{position=top}| in die linke Tabelle vor dem +|\caption| Befehl ein, so ergeben sich im Vergleich zwischen "Uberschrift und +Unterschrift stimmige Abst"ande: +\begin{Example} + \begin{minipage}[c]{.5\linewidth}% + \captionsetup{position=top}% + \captionof{table}{Eine Tabelle}% + \centering\begin{tabular}{ll}% + A & B \\% + C & D \\% + \end{tabular}% + \end{minipage}% + \begin{minipage}[c]{.5\linewidth}% + \centering\begin{tabular}{ll}% + A & B \\% + C & D \\% + \end{tabular}% + \captionof{table}{Eine Tabelle}% + \end{minipage}% +\end{Example} + +(Technisch ist dies so realisiert, da"s bei "Uberschriften die Ab\-st"an\-de +|\abovecaptionskip| und |\belowcaptionskip| vertauscht werden, so da"s +|\abovecaptionskip| immer derjenige Abstand ist, der zwischen Tabelle +und Beschriftung zur Anwendung kommt.) + +\DescribeMacro{tableposition=} +Sinnvoll l"a"st sich diese Option insbesondere zusammen mit dem optionalen +Parameter bei |\captionsetup| anwenden (siehe auch Abschnitt +\ref{misc}: \textit{"`N"utzliches"'}): +\begin{quote} + |\captionsetup[table]{position=top}| +\end{quote} +bewirkt, da"s bei allen Tabellen die Beschriftung bzgl.~der Abst"ande als +"Uberschrift behandelt wird. +\NEWfeature{v3.0a} +Da dies eine sehr gebr"auchliche Einstellung ist, +stellt das \thispackage"=Paket diesen Befehl auch als abk"urzende Option f"ur +|\usepackage| zur Verf"ugung: +\begin{quote} + |\usepackage[|\ldots|,tableposition=top]{caption}| +\end{quote} +entspricht +\begin{quote} + |\usepackage[|\ldots|]{caption}|\\ + |\captionsetup[table]{position=top}| +\end{quote} + + +\pagebreak[3] +\section{N"utzliches} +\label{misc} + +\DescribeMacro{\caption} +Der Befehl +\nopagebreak[3] +\begin{quote} + |\caption|\oarg{Kurzform f"ur das Verzeichnis}\marg{Beschriftung} +\end{quote} +\nopagebreak[3] +erzeugt eine "Uber- bzw.~Unterschrift innerhalb einer gleitenden Umgebung +wie |figure| oder |table|. Dies ist an sich nichts neues, neu ist allerdings, +da"s kein Eintrag ins Abbildungs- oder Tabellenverzeichnis vorgenommen +wird, wenn eine leere Kurzform angegeben wird, etwa so: +\begin{quote} + |\caption[]{Dies ist eine Abbildung, die nicht ins|\\ + | Abbildungsverzeichnis aufgenommen wird}| +\end{quote} + +\DescribeMacro{\caption*} +Das \package{longtable}-Paket definiert zus"atzlich zum Befehl |\caption| auch +den Befehl |\caption*|, der eine Beschriftung ohne Bezeichner und ohne Eintrag +ins Tabellenverzeichnis erzeugt. So erzeugt z.B. der Code +\begin{quote} + |\begin{longtable}{cc}|\\ + | \caption*{Eine Tabelle}\\|\\ + | A & B \\|\\ + | C & D \\|\\ + |\end{longtable}| +\end{quote} +diese Tabelle: +\begin{longtable}{cc} + \caption*{Eine Tabelle}\\ + A & B \\ + C & D \\ +\end{longtable} + +Das \thispackage-Paket bietet diesen Mechanismus auch f"ur normale Abbildungs- +und Tabellenbeschriftungen an. Ein Beispiel: +\begin{quote} + |\begin{table}|\\ + | \caption*{Eine Tabelle}|\\ + | \begin{tabular}{cc}|\\ + | A & B \\|\\ + | C & D \\|\\ + | \end{longtable}|\\ + |\end{table}| +\end{quote} + +\DescribeMacro{\captionof} +\DescribeMacro{\captionof*} +Der Befehl |\caption| funktioniert in der Regel nur innerhalb von gleitenden +Umgebungen, manchmal m"ochte man ihn jedoch auch anderweitig anwenden, +etwa um eine Abbildung in eine nicht-gleitende Umgebung wie |minipage| zu +setzen. + +\pagebreak[2] +Hierf"ur stellt das +\thispackage-Paket den Befehl +\begin{quote} + |\captionof|\marg{Umgebungstyp}\oarg{Kurzform}\marg{Langform} +\end{quote} +zur Verf"ugung. Die Angabe des Umgebungstypen ist hierbei notwendig, damit der +gew"unschte Bezeichner gew"ahlt wird und der Eintrag in das richtige Verzeichnis +vorgenommen wird. Ein Beispiel: +\begin{quote} + |\captionof{figure}{Abbildung}|\\ + |\captionof{table}{Tabelle}| +\end{quote} +f"uhrt zu folgendem Ergebnis: +\begin{Example} + \captionof{figure}{Abbildung} + \captionsetup{belowskip=\abovecaptionskip} + \captionof{table}{Tabelle} +\end{Example} + +Analog zu |\caption*| gibt es auch den Befehl |\captionof*| f"ur Beschriftungen +ohne Bezeichner und ohne Verzeichniseintrag. + +Beide Befehle, sowohl |\captionof| als auch |\captionof*|, sollten nur +\emph{innerhalb} von Umgebungen (wie |minipage| oder |\parbox|) angewandt werden. +Zum einen kann es sonst passieren, da"s \LaTeX\ zwischen dem Inhalt und der +Beschreibung einen Seitenumbruch setzt; zum anderen kann es bei Mi"sachtung gar +zu seltsamen Effekten (wie falsche Abst"ande um die Beschriftungen herum) kommen! + +\DescribeMacro{\ContinuedFloat} +Manchmal m"ochte man Abbildungen oder Tabellen aufteilen, jedoch ohne den einzelnen +Teilen eine eigene Abbildungs- oder Tabellennummer zu geben. Hierf"ur stellt das +\thispackage-Paket den Befehl +\begin{quote} + |\ContinuedFloat| +\end{quote} +zur Verf"ugung, der gleich als erstes innerhalb der folgenden Teile angewandt +werden sollte. Er verhindert, da"s die Z"ahlung fortgef"uhrt wird; eine Abbildung +oder Tabelle, die ein |\ContinuedFloat| enth"alt, erh"alt also die gleiche Nummer +wie die vorherige Abbildung oder Tabelle. + +Ein Beispiel: +\begin{quote} + |\begin{table}|\\ + |\caption{Eine Tabelle.}|\\ + \ldots\\ + |\end{table}|\\ + \ldots\\ + |\begin{table}\ContinuedFloat|\\ + |\caption{Eine Tabelle. (fortgef"uhrt)}|\\ + \ldots\\ + |\end{table}| +\end{quote} +ergibt als Ergebnis: +\begin{Example} + \makeatletter\def\@captype{table}\makeatother + \caption[]{Eine Tabelle.} + \centerline{\ldots} + \ContinuedFloat + \captionsetup{aboveskip=0pt} + \caption[]{Eine Tabelle. (fortgef"uhrt)} +\end{Example} + +\DescribeMacro{\captionsetup} +Den Befehl |\captionsetup| haben wir ja schon im Abschnitt +\ref{usage}: \textit{"`Verwendung des Paketes"'} kennengelernt, +uns dort allerdings die Bedeutung des optionalen Parameters +\meta{Typ} aufgespart. %Dies soll nun nachgeholt werden: + +Wir erinnern uns, die Syntax des Befehls lautet +\begin{quote} + |\captionsetup|\oarg{Typ}\marg{Optionen} +\end{quote} + +Wird hierbei ein \meta{Typ} angegeben, so werden die Optionen nicht +unmittelbar umgesetzt, sondern werden lediglich vermerkt und kommen erst dann +zum Einsatz, wenn eine "Uber- bzw.\ Unterschrift innerhalb des passenden +gleitenden Umgebungstyps gesetzt wird. So wirkt sich z.B. die Angabe +\begin{quote} + |\captionsetup[figure]|\marg{Optionen} +\end{quote} +lediglich auf die Unterschriften aus, die innerhalb einer |figure|"=Umgebung +gesetzt werden. + +Ein Beispiel: +\begin{quote} + |\captionsetup{font=small}|\\ + |\captionsetup[figure]{labelfont=bf}| +\end{quote} +f"uhrt zu Abbildungs- und Tabellenunterschriften der Art: +\begin{Example} + \captionsetup{font=small} + \captionsetup[figure]{labelfont=bf} + \captionof{figure}[]{Eine Abbildung} + \captionsetup{belowskip=\abovecaptionskip} + \captionof{table}[]{Eine Tabelle} +\end{Example} + +Wie man sieht, f"uhrt das |\captionsetup[figure]{labelfont=bf}| lediglich dazu, +da"s Abbildungsunterschriften mit fettem Bezeichner gesetzt werden, alle anderen +Unter- bzw.\ "Uberschriften werden hiervon nicht beeinflu"st. + +\DescribeMacro{\clearcaptionsetup} +Um diese vermerkten, typbezogenen Parameter aus dem Ged"achnis von \LaTeX\ zu +l"oschen, gibt es den Befehl +\begin{quote} + |\clearcaptionsetup|\marg{Typ}\quad. +\end{quote} + +|\clearcaptionsetup{figure}| w"urde z.B. die obrige Sonderbehandlung der +Abbildungsunterschriften wieder aufheben: +\begin{Example} + \captionsetup{font=small} + \captionof{figure}[]{Eine Abbildung} + \captionsetup{belowskip=\abovecaptionskip} + \captionof{table}[]{Eine Tabelle} +\end{Example} + +Als Umgebungstypen mit Unter- bzw.\ "Uberschriften gibt es in der Regel nur +zwei: |figure| und |table|. Wie wir jedoch sp"ater sehen werden, kommen durch die +Verwendung spezieller \LaTeX-Pakete (wie etwa das \package{float}"=Paket) +ggf.~weitere Typen hinzu, deren Beschriftungen ebenfalls derart individuell +angepasst werden k"onnen. + + +\pagebreak[3] +\section{Eigene Erweiterungen} +\label{declare} + +Wem die vorhandenen Formate, Trenner, Textausrichtungen, Zeichens"atze und Stile +nicht ausreichen, der hat die M"oglichkeit, sich eigene zu definieren. Hierzu +gibt es eine Reihe von Befehlen, die in dem Vorspann des Dokumentes (das ist der +Teil vor |\begin{document}|) zum Einsatz kommen. + +\pagebreak[2] +\DescribeMacro{\DeclareCaptionFormat} +Eigene Formate k"onnen mit dem Befehl +\begin{quote} + |\DeclareCaptionFormat|\marg{Name}\marg{Code mit \#1, \#2 und \#3} +\end{quote} +definiert werden. F"ur \#1 wird sp"ater der Bezeichner, f"ur \#2 der Trenner +und f"ur \#3 der Text eingesetzt. So ist z.B. das Standardformat |default|, +welches die Beschriftung als gew"ohnlichen Absatz formatiert, folgenderma"sen +in |caption.sty| definiert: +\begin{quote} + |\DeclareCaptionFormat{default}{#1#2#3\par}| +\end{quote} + +\DescribeMacro{\DeclareCaptionLabelFormat} +"Ahnlich k"onnen auch eigene Bezeichnerformate definiert werden: +\begin{quote} + |\DeclareCaptionLabelFormat|\marg{Name}\marg{Code mit \#1 und \#2} +\end{quote} +Bei den Bezeichnerformaten wird hierbei f"ur \#1 der Name (also z.B. +"`Abbildung"'), f"ur \#2 die Nummer (also z.B. "`12"') eingesetzt. + +\DescribeMacro{\bothIfFirst} +\DescribeMacro{\bothIfSecond} +Hierbei gibt es eine Besonderheit zu beachten: Wird das Bezeichnerformat +auch in Verbindung mit dem \package{subfig}"=Paket\cite{subfig} verwendet, +so kann der Bezeichnername (also \#1) auch leer sein. +Um dies flexibel handhaben zu k"onnen, stellt das \thispackage"=Paket die +Befehle +\begin{quote} + |\bothIfFirst|\marg{Erstes Argument}\marg{Zweites Argument}\quad und\\ + |\bothIfSecond|\marg{Erstes Argument}\marg{Zweites Argument} +\end{quote} +zur Verf"ugung. |\bothIfFirst| testet, ob das erste Argument leer ist, +|\bothIfSecond|, ob das zweite Argument leer ist. Nur wenn dies nicht der +Fall ist, werden beide Argumente ausgegeben, ansonsten werden beide +unterdr"uckt. + +So ist z.B. das Standard"=Bezeichnerformat |simple| nicht, wie man +naiverweise annehmen k"onnte, als +\begin{quote} + |\DeclareCaptionLabelFormat{simple}{#1 #2}| +\end{quote} +definiert, weil dies zu einem st"orendem f"uhrenden Leerzeichen f"uhren w"urde, +wenn \#1 leer ist. Stattdessen findet sich in |caption.sty| folgende +Definition, die sowohl mit |\caption| als auch mit |\subfloat| harmoniert: +\begin{quote} + |\DeclareCaptionLabelFormat{simple}{\bothIfFirst{#1}{ }#2}| +\end{quote} +d.h.~das Leerzeichen kommt nur dann zum Einsatz, wenn \#1 nicht leer ist. + +\pagebreak[3] +\DescribeMacro{\DeclareCaptionLabelSeparator} +Eigene Trenner werden mit +\nopagebreak[3] +\begin{quote} + |\DeclareCaptionLabelSeparator|\marg{Name}\marg{Code} +\end{quote} +\nopagebreak[3] +definiert. Auch hier wieder als einfaches Beispiel die Definition des +Standard"=Trenners aus |caption.sty|: +\nopagebreak[3] +\begin{quote} + |\DeclareCaptionLabelSeparator{colon}{: }| +\end{quote} +\pagebreak[3] + +\DescribeMacro{\DeclareCaptionJustification} +Eigene Textausrichtungen k"onnen mit +\begin{quote} + |\DeclareCaptionJustification|\marg{Name}\marg{Code} +\end{quote} +definiert werden. Der \meta{Code} wird dann der Beschriftung vorangestellt, +so f"uhrt z.B. die Verwendung der Ausrichtung +\begin{quote} + |\DeclareCaptionJustification{raggedright}{\raggedright}| +\end{quote} +dazu, da"s alle Zeilen der Beschriftung linksb"undig ausgegeben werden. + +\DescribeMacro{\DeclareCaptionFont} +Eigene Zeichensatzoptionen k"onnen mit +\begin{quote} + |\DeclareCaptionFont|\marg{Name}\marg{Code} +\end{quote} +definiert werden. So definiert z.B. das \thispackage"=Paket die Optionen +|small| und |bf| folgenderma"sen: +\begin{quote} + |\DeclareCaptionFont{small}{\small}|\\ + |\DeclareCaptionFont{bf}{\bfseries}| +\end{quote} + +\DescribeMacro{\DeclareCaptionStyle} +Zu guter letzt noch die Definition eigener Stile. Stile sind einfach eine +Ansammlung von geeigneten Einstellungen, die unter einem eigenen Namen +zusammengefasst werden und mit der Paketoption |style=|\meta{Name} ausgew"ahlt +werden k"onnen. Sie werden wie folgt definiert: +\begin{quote} + |\DeclareCaptionStyle|\marg{Name}\oarg{zus"atzliche Optionen}\marg{Optionen} +\end{quote} +Hierbei ist zu beachten, da"s die \meta{Optionen} immer auf den Standardeinstellungen +basieren (siehe auch Abschnitt \ref{style}: \textit{"`Stile"'}), es brauchen +also nur davon abweichende Optionen angegeben werden. + +Sind \meta{zus"atzliche Optionen} angegeben, so kommen diese automatisch +zus"atzlich zum Einsatz, sofern die Beschreibung in eine einzelne Zeile passt +und diese Abfrage nicht mit |singlelinecheck=off| ausgeschaltet wurde. + +Als Beispiel mu"s mal wieder eine einfache Definition aus diesem Paket herhalten: +\begin{quote} + |\DeclareCaptionStyle{default}[justification=centering]{}| +\end{quote} + + +\subsection{Beispiele} + +M"ochte man als Trenner einen Punkt \emph{und} einen Zeilenumbruch haben, +so lie"se sich das wie folgt realisieren: +\begin{quote} + |\DeclareCaptionLabelSeparator{period-newline}{. \\}| +\end{quote} +W"ahlt man diesen Trenner mit |\captionsetup{labelsep=period-newline}| aus, so +ergeben sich Beschriftungen der Art +\begin{Example} + \captionsetup{labelsep=period-newline,labelfont=bf,margin=10pt} + \captionsetup{aboveskip=0pt,type=figure} + \caption[]{\figuretext} +\end{Example} + +F"ur kurze Beschriftungen, die in eine Zeile passen, mag dieses Erscheinungsbild +jedoch st"orend sein, selbst wenn die automatische Zentrierung (mit +|singlelinecheck=off|) ausgeschaltet ist: +\begin{Example} + \captionsetup{labelsep=period-newline,labelfont=bf,margin=10pt,singlelinecheck=0} + \captionsetup{aboveskip=0pt,type=figure} + \caption[]{Eine Abbildung.} +\end{Example} + +Abhilfe schafft ein eigener Stil, der bei solchen Beschriftungen einen anderen +Trenner ohne Zeilenumbruch ausw"ahlt: +\begin{quote} + |\DeclareCaptionStyle{period-newline}%|\\ + | [labelsep=period]{labelsep=period-newline}| +\end{quote} +\begin{Example} + \captionsetup{style=period-newline,labelfont=bf,margin=10pt} + \captionsetup{aboveskip=0pt,type=figure} + \ContinuedFloat + \caption[]{Eine Abbildung.} +\end{Example} +M"ochte man die automatische Zentrierung ebenfalls implementieren, so w"are +\begin{quote} + |\DeclareCaptionStyle{period-newline}%|\\ + | [labelsep=period,justification=centering]%|\\ + | {labelsep=period-newline}| +\end{quote} +eine geeignete Definition: +\begin{Example} + \captionsetup{style=period-newline2,labelfont=bf,margin=10pt} + \captionsetup{aboveskip=0pt,type=figure} + \ContinuedFloat + \caption[]{Eine Abbildung.} +\end{Example} + +Leicht abgewandelt ergibt sich auch bei l"angeren Beschriftungen eine Zentrierung: +\begin{quote} + |\DeclareCaptionStyle{period-newline}%|\\ + | [labelsep=period]%|\\ + | {labelsep=period-newline,justification=centering}| +\end{quote} +\begin{Example} + \captionsetup{style=period-newline3,labelfont=bf,margin=10pt} + \captionsetup{aboveskip=0pt,type=figure} + \caption[]{\figuretext} +\end{Example} + +\bigskip\pagebreak[3] +Ein anderes Beispiel: Die Beschriftungen sollen wie folgt aussehen: +\begin{Example} + \captionsetup{format=reverse,labelformat=fullparens,labelsep=fill,font=small,labelfont=it} + \captionsetup{aboveskip=0pt} + \captionof{figure}[]{\figuretext} +\end{Example} +\pagebreak[2] +Dies lie"se sich z.B. wie folgt realisieren: +\nopagebreak[3] +{\leftmargini=10pt + \begin{quote} + |\DeclareCaptionFormat{reverse}{#3#2#1}|\\ + |\DeclareCaptionLabelFormat{fullparens}{(\bothIfFirst{#1}{ }#2)}|\\ + |\DeclareCaptionLabelSeparator{fill}{\hfill}|\\ + |\captionsetup{format=reverse,labelformat=fullparens,|\\ + | labelsep=fill,font=small,labelfont=it}| + \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 + \begin{quote} + |\DeclareCaptionFormat{llap}{\llap{#1#2}#3\par}|\\ + |\captionsetup{format=llap,singlelinecheck=no,labelsep=quad}| + \end{quote}} +Das Ergebnis w"aren Beschriftungen wie diese: +\begin{Example} + \captionsetup{format=llap,labelsep=quad,singlelinecheck=no} + \captionsetup{aboveskip=0pt} + \captionof{figure}[]{\figuretext} +\end{Example} + + +\pagebreak[3] +\section{Verwendung mit speziellen Dokumentenklassen} + +\NEWdescription{v3.0d} +Das \thispackage"=Paket ist auf die Verwendung mit den +Standard"=Dokumentenklassen |article|, |report| und |book| ausgelegt. + +M"ochte man das \thispackage"=Paket mit den \KOMAScript"=Klassen oder der +\package{memoir}"=Klasse verwenden, so ist sorgf"altig abzuw"agen, ob die +in diesen Klassen reichlich enthaltenden M"oglichkeiten zur Anpassung der +Beschriftungen nicht ausreichend sind. +Denn das \thispackage"=Paket funktioniert zwar auch mit den +\KOMAScript"=Klassen und der \package{memoir}"=Klasse, allerdings sollte +darauf geachtet werden, da"s die verschiedenen Anpassungsm"oglichkeiten nicht +im Dokument vermischt werden. +Ist das \thispackage"=Paket erst einmal geladen, verlieren die Optionen +der Dokumentenklassen wie |tablecaptionabove| und Befehle wie +|\captionabove|, |\captionbelow|, |\captionformat|, |\figureformat|, +|\tableformat|, |\setcapindent|, |\setcaphanging|, |\captionstyle| +usw.\ ihre Wirkung. + +Das \thispackage="Paket sollte zwar auch mit anderen als den oben erw"ahnten +Dokumentenklassen zusammenarbeiten, ist jedoch nicht uneingeschr"ankt +empfehlenswert, da es zu unerw"unschten Layout"="Anderungen, +sonstigen Nebenwirkungen oder gar Fehlfunktionen kommen kann. +(Zuk"unftige Versionen des \thispackage"=Paketes werden allerdings mehr +Dokumentenklassen unterst"utzen als dies derzeit der Fall ist.) + + +\section{Interaktion mit anderen Paketen} +\label{packages} + +Das \thispackage"=Paket enth"alt spezielle Anpassungen an andere Pakete, damit +die Beschriftungen dort ebenfalls genauso ausgegeben werden, wie man es mit den oben +genannten Optionen eingestellt hat. Im einzelnen sind dies die folgenden Pakete: + +\begin{tabular}{ll} + |float| & Erlaubt die Definition eigener gleitenen Umgebungsstile\\ + |hyperref| & Setzt Hyperlinks\\ + |hypcap| & Korrigiert die von \package{hyperref} gesetzten Anker bei Beschriftungen\\ + |listings| & Setzt Quelltexte diverser Programmiersprachen\\ + |longtable| & Setzt Tabellen, die sich "uber mehrere Seiten erstrecken k"onnen\\ + |rotating| & Unterst"utzt rotierende Abbildungen und Tabellen\\ + |sidecap| & Erlaubt das Setzen von Beschriftungen \emph{neben} Abbildungen\\ + |supertabular| & Setzt Tabellen, die sich "uber mehrere Seiten erstrecken k"onnen\\ +\end{tabular} + +\NEWfeature{v3.0b} +Wird eines dieser Pakete zusammen mit dem \thispackage"=Paket verwendet, steht +einem zus"atzlich die M"oglichkeit bereit, mittels +\begin{quote}|\captionsetup|\oarg{Umgebung}\marg{Optionen}\end{quote} +Optionen festzulegen, die lediglich f"ur diese Umgebung gelten. So bewirkt z.B. +\begin{quote}|\captionsetup[lstlisting]{labelfont=bf}|\quad,\end{quote} +da"s Beschriftungen innerhalb der |lstlisting|"=Umgebung automatisch mit fettem +Bezeichner gesetzt werden. +(Dies funktioniert allerdings nicht mit den |sideways|"=Umgebungen, die vom +\package{rotating}"=Paket angeboten werden.) + +Ist die Unterst"utzung eines dieser Pakete im speziellen Falle nicht erw"unscht, +so kann dies durch Angabe der Option +\begin{quote} + |\usepackage[|\ldots|,|\meta{Paketname}|=no]{caption}| +\end{quote} +erreicht werden, etwa |float=no|, wenn die Unterst"utzung des +\package{float}"=Paketes nicht erw"unscht wird. (Hinweis: Diese Optionen k"onnen +nur innerhalb des |\usepackage|"=Befehls angegeben werden, also insbesondere +\emph{nicht} nachtr"aglich mit |\captionsetup|.) + +N"ahere Informationen zu den einzelnen Paketen entnehmen Sie bitte der +dazugeh"origen Anleitung oder dem \LaTeX-Begleiter\cite{companion}. + + +\subsection{Das \package{float}-Paket} + +Ein sehr n"utzliches Feature stellt das \package{float}"=Paket\cite{float} +mit dem Platzierungsparameter |[H]| bereit: +Anders als beim Parameter |h|, den \LaTeX\ bereitstellt und der lediglich +eine Empfehlung darstellt, die Abbildung oder Tabelle nach M"oglichkeit +"`hier"' zu setzen, ist das |H| viel kompromi"sloser, denn es erzwingt +das Setzen genau an diesem Ort und nirgendwo anders. + +Weiterhin definiert es f"ur gleitende Umgebungen die Stile |plain|, +|plaintop|, |ruled| und |boxed|. +F"ur die vorhandenen Umgebungen |figure| und |table| kann hierbei der Stil +ge"andert werden, ferner k"onnen eigene Umgebungstypen definiert werden, +die ggf.~ein eigenes Verzeichnis bekommen. + +Bzgl.~der Abst"ande ist zu beachten, da"s bei Umgebungen des Stils |plain|, +|plaintop| und |boxed| lediglich |\abovecaptionskip| (und kein +|\belowcaptionskip|) zur Anwendung kommt. Ferner wird dieser Abstand vom +\package{float}"=Paket gesetzt und nicht vom \package{caption}"=Paket; +das hat f"ur Sie als Anwender zur Folge, da"s dieser Abstand nicht innerhalb +der Umgebung selbst mit |\captionsetup| ver"andert werden kann, ferner ist +die Option |position=| bei diesen Umgebungen wirkungslos. + +Beim Stil |boxed| ist der Abstand mit +\begin{quote} + |\captionsetup[boxed]{skip=2pt}| +\end{quote} +voreingestellt, bei |plain| und |plaintop| wird die globale Einstellung +verwendet, sofern keine lokale definiert wurde. + +Kommt das \package{float}"=Paket zusammen mit dem \thispackage"=Paket zum +Einsatz, so wird automatisch der Beschriftungsstil |ruled| definiert, der das +Aussehen der Beschriftungen innerhalb von Abbildungen des Umgebungsstils +|ruled| regelt: +\begin{quote} + |\DeclareCaptionStyle{ruled}{labelfont=bf,labelsep=space}| +\end{quote} +F"ur den Anwender bedeutet dies, da"s allgemein get"atigte Einstellungen an den +Beschriftungen hier unwirksam sind; stattdessen werden die Beschriftungen genau +so gesetzt, wie vom \package{float}"=Paket stilistisch vorgegeben, n"amlich so: + +\ifx\floatstyle\undefined + +\begin{Example} +\hrule height.8pt depth0pt \kern2pt +\vbox{\strut{\bfseries Programm 7.1} + Das erste Programm. Dies hat nichts mit dem Paket an sich zu tun, + dient aber als Beispiel. Man beachte den \texttt{ruled} Stil.} +\kern2pt\hrule\kern2pt +\begin{verbatim} +#include + +int main(int argc, char **argv) +{ + for (int i = 0; i < argc; ++i) + printf("argv[%d] = %s\n", i, argv[i]); + return 0; +} +\end{verbatim} +\kern2pt\hrule\relax +\end{Example} + +\else + +\floatstyle{ruled} +\newfloat{Program}{tbp}{lop}[section] +\floatname{Program}{Programm} + +\begin{Program}[H] +\begin{verbatim} +#include + +int main(int argc, char **argv) +{ + for (int i = 0; i < argc; ++i) + printf("argv[%d] = %s\n", i, argv[i]); + return 0; +} +\end{verbatim} +\caption{Das erste Programm. Dies hat nichts mit dem Paket an sich zu tun, + dient aber als Beispiel. Man beachte den \texttt{ruled} Stil.} +\end{Program} + +\fi + +M"ochte man das Aussehen dieser Beschriftungen "andern, ist der Stil |ruled| +mittels +\begin{quote} + |\DeclareCaptionStyle{ruled}|\marg{Optionen} +\end{quote} +geeignet zu definieren. + +Dieser Mechanismus funktioniert auch bei allen anderen Umgebungsstilen, +d.h.~auch bei Umgebungen des Types |plain|, |plaintop| und |boxed| kann ein +geeigneter Beschriftungsstil mit gleichem Namen definiert werden, der dann +automatisch bei gleitenden Umgebungen dieses Types zum Einsatz kommt. + + +\subsection{Das \package{listings}-Paket} + +\NEWdescription{v3.0b} +Das \package{listings}"=Paket\cite{listings} erlaubt die Einbindung von +Quelltexten diverser Programmiersprachen. + +\textbf{Achtung:} Die Zusammenarbeit klappt erst ab der Version 1.2 des +\package{listings}"=Paketes. "Altere Versionen verursachen eine Fehlermeldung! + + +\subsection{Das \package{longtable}-Paket} + +Das \package{longtable}"=Paket\cite{longtable} definiert die Umgebung +|longtable|, die sich wie eine Tabelle anwenden l"a"st, aber im Gegensatz zu +|tabular| Seitenumbr"uche innerhalb der Tabelle gestattet. + +\subsection{Das \package{rotating}-Paket} + +Das \package{rotating}"=Paket\cite{rotating} stellt u.a.~die +gleitenden Umgebungen \texttt{sideways\-figure} und \texttt{sideways\-table} +bereit, die im Gegensatz zu |figure| und |table| um 90 Grad gedreht werden +und immer eine ganze Seite einnehmen. + + +\subsection{Das \package{sidecap}-Paket} + +\NEWdescription{v3.0b} +Das \package{sidecap}"=Paket\cite{sidecap} definiert die Umgebungen |SCfigure| +und |SCtable|, die analog zu |figure| und |table| funktionieren, aber +Beschriftungen \emph{neben} der Abbildung oder Tabelle erlauben. + +Bei der Verwendung des \package{sidecap}"=Paketes ist zu beachten, da"s eine +dort angegebene Option |raggedright|, |raggedleft| oder |ragged| den Parameter +|justification=| des \thispackage"=Paketes f"ur die betreffenen Umgebungen +"uberschreibt, d.h.~bei Beschriftungen \emph{neben} der Abbildung oder Tabelle +erh"alt die Option des \package{sidecap}"=Paketes den Vorzug. + +\DescribeMacro{listof=} +%\NEWfeature{v3.0b} +Ferner liegt es im Design des \package{sidecap}"=Paketes begr"undet, +da"s das Unterdr"ucken des Verzeichniseintrages mit |\caption[]{|\ldots|}| +hier nicht klappt. Als Alternative kann in diesen F"allen die Unterdr"uckung +mittels |\captionsetup{listof=false}| innerhalb der Abbildung oder Tabelle +geschehen. + +\ifx\SCfigure\undefined + +\begin{Example} + \newsavebox\scbox + \begin{lrbox}{\scbox} + \setlength{\unitlength}{.75cm}% + \setlength{\fboxsep}{0pt}% + \fbox{\begin{picture}(4,4)% + \put(1,3){\circle{1}}% + \put(3,3){\circle{1}}% + \put(2,2){\circle{1}}% + \put(1,1){\circle{1}}% + \put(3,1){\circle{1}}% + \end{picture}}% + \end{lrbox} + \newlength\scboxwidth + \setlength\scboxwidth{\wd\scbox} + \makebox[\linewidth][c]{% + \parbox[b]{\scboxwidth}{\unhbox\scbox}% + \hspace\marginparsep + \parbox[b]{1.5\scboxwidth}{% + \captionsetup{justification=RaggedRight,labelfont=bf} + \captionof{figure}[]{Ein kleines Beispiel mit Beschriftung neben der Abbildung.}% + }% + } +\end{Example} + +\else + +\captionsetup{labelfont=bf} +\begin{SCfigure}[1.5][!ht] + \setlength{\unitlength}{.75cm}% + \setlength{\fboxsep}{0pt}% + \fbox{\begin{picture}(4,4)% + \put(1,3){\circle{1}}% + \put(3,3){\circle{1}}% + \put(2,2){\circle{1}}% + \put(1,1){\circle{1}}% + \put(3,1){\circle{1}}% + \end{picture}}% +% \captionsetup{labelfont=bf} + \caption[]{Ein kleines Beispiel mit Beschriftung neben der Abbildung.} +\end{SCfigure} +\captionsetup{labelfont=default} + +\fi + + +\subsection{Das \package{supertabular}-Paket} + +Das \package{supertabular}"=Paket\cite{supertabular} definiert, "ahnlich wie +das \package{longtable}"=Paket, eine Umgebung |supertabular|, die sich +ebenfalls wie eine Tabelle anwenden l"a"st, aber im Gegensatz zu |tabular| +Seitenumbr"uche innerhalb der Tabelle gestattet. + +Eine ausf"uhrliche Behandlung der Unterschiede zwischen den beiden Paketen +\package{longtable} und \package{supertabular} ist im Buch "`Der \LaTeX-Begleiter"' +\cite{companion} zu finden. + + +\subsection{Bekannte Inkompatibilit"aten} + +\NEWdescription{v3.0b} +Die Verwendung des \thispackage"=Paketes in Verbindung mit folgenden Paketen +ist nicht empfehlenswert, da es zu unerw"unschten Seiteneffekten +oder gar Fehlern kommen kann: +\begin{quote} +\package{ccaption}, \package{hvfloat}, \package{nonfloat} +\end{quote} + + +\section{Kompatibilit"at zu "alteren Versionen} + +\subsection{\thispackage\ Version $1.x$} + +Diese Version des \thispackage"=Paketes ist weitgehend kompatibel zu "alteren +Versionen des Paketes; alte Dokumente sollten sich also in der Regel ohne +Probleme weiterhin "ubersetzen lassen. Jedoch ist zu beachten, da"s eine Mischung +aus alten Befehlen und neueren Optionen bzw.~Befehlen nicht unterst"utzt wird +bzw.~zu unerw"unschten Nebeneffekten f"uhren kann. + +Hier eine kurze "Ubersicht "uber die alten Optionen und Befehle und durch was +sie in dieser Version des \thispackage"=Paketes ersetzt wurden: + +\begin{small}\begin{longtable}{ll} +\thispackage\ $1.\mathit{x}$ & \thispackage\ $3.\mathit{x}$\\ +\hline +\endhead +|normal| & |format=default|\\ +|hang| & |format=hang|\\ +|isu| & |format=hang|\\ +|center| & |justification=centering|\\ +|centerlast| & |justification=centerlast|\\ +|anne| & |justification=centerlast|\\ +|nooneline| & |singlelinecheck=off|\\ +|scriptsize| & |font=scriptsize|\\ +|footnotesize| & |font=footnotesize|\\ +|small| & |font=small|\\ +|normalsize| & |font=normalsize|\\ +|large| & |font=large|\\ +|Large| & |font=Large|\\ +|up| & |labelfont=up|\\ +|it| & |labelfont=it|\\ +|sl| & |labelfont=sl|\\ +|sc| & |labelfont=sc|\\ +|md| & |labelfont=md|\\ +|bf| & |labelfont=bf|\\ +|rm| & |labelfont=rm|\\ +|sf| & |labelfont=sf|\\ +|tt| & |labelfont=tt|\\ +|\setlength{\captionmargin}| & |margin=|\meta{Rand}\\ +|\renewcommand{\captionfont}| & |\DeclareCaptionFont|\\ + & $+$ |\captionsetup{font=|\meta{Name}|}|\\ +|\renewcommand{\captionsize}| & |\DeclareCaptionFont|\\ + & $+$ |\captionsetup{font=|\meta{Name}|}|\\ +|\renewcommand{\captionlabelfont}| & |\DeclareCaptionLabelFont|\\ + & $+$ |\captionsetup{labelfont=|\meta{Name}|}|\\ +\end{longtable}\end{small} + + +\subsection{\package{caption2} Version $2.x$} + +Die Pakete \package{caption} und \package{caption2} sind vom internen Konzept +her zu unterschiedlich, um hier eine Kompatibilit"at gew"ahrleisten zu k"onnen. +Daher liegt diesem Paket weiterhin ein |caption2.sty| bei, so da"s "altere +Dokumente, die |caption2.sty| verwenden, weiterhin "ubersetzt werden k"onnen. +Neue Dokumente sollten jedoch auf dem aktuellen \thispackage"=Paket +aufgesetzt werden, wie es in diesem Dokument beschrieben ist. + +% TODO: "Ubersetzungstabelle wie beim Abschnitt "caption 1.x" + + +\pagebreak[3] +\section{Weiterf"uhrende Dokumente} + +Folgende Dokumente m"ochte ich an dieser Stelle jedem ans Herz legen: + +\begin{itemize} +\item + Die DANTE-FAQ:\nopagebreak + \begin{quote} + \url{http://www.dante.de/faq/de-tex-faq/} + \end{quote} + +\item + \emph{"`Gleitobjekte -- die richtige Schmierung"'} von Axel Reichert + erl"autert den Umgang mit gleitenden Umgebungen und ist hier im Netz + zu finden:\nopagebreak + \begin{quote} + \url{ftp://ftp.dante.de/pub/tex/info/german/gleitobjekte/} + \end{quote} + +\item + \textsf{epslatex} von Keith Reckdahl enth"alt viele n"utzliche Tips im + Zusammenhang mit der Einbindung von Graphiken in \LaTeXe. + Das Dokument ist unter\nopagebreak + \begin{quote} + \url{ftp://ftp.dante.de/pub/tex/info/} + \end{quote} + als \texttt{epslatex.ps} bzw. \texttt{epslatex.pdf} zu finden. +\end{itemize} + + +\section{Danksagungen} + +Von ganzem Herzen danke ich Katja Melzner, Steven D. Cochran, Frank Mittelbach, +David Carlisle, Carsten Hinz und Olga Lapko. + +Weiterhin m"ochte ich mich herzlich bei +Harald Harders, +Peter L\"offler, +Peng Yu, +Alexander Zimmermann, +Matthias Pospiech, +J\"urgen Wieferink, +Christoph Bartoschek, +Uwe St\"ohr und +Ralf Stubner +f"ur ihre Hilfe beim stetigen Verbessern dieses Paketes bedanken. + + +\begin{thebibliography}{9} + \bibitem{companion} + Frank Mittelbach and Michel Goossens: + \newblock {\em The {\LaTeX} Companion (2nd.~Ed.)}, + \newblock Addison-Wesley, 2004. + + \bibitem{float} + Anselm Lingnau: + \emph{An Improved Environment for Floats}, + 2001/11/08 + + \bibitem{floatrow} + Olga Lapko: + \emph{The floatrow package documentation}, + 2005/05/22 + + \bibitem{hyperref} + Sebastian Rahtz: + \emph{Hypertext marks in \LaTeX}, + 2003/11/30 + + \bibitem{hypcap} + Heiko Oberdiek: + \emph{The hypcap package -- Adjusting anchors of captions} + 2001/08/27 + + \bibitem{listings} + Carsten Heinz: + \emph{The Listings Package}, + 2004/02/13 + + \bibitem{longtable} + David Carlisle: + \emph{The longtable package}, + 2000/10/22 + + \bibitem{rotating} + Sebastian Rahtz and Leonor Barroca: + \emph{A style option for rotated objects in \LaTeX}, + 1997/09/26 + + \bibitem{sidecap} + Rolf Niepraschk und Hubert G"a"slein: + \emph{The sidecap package}, + 2003/06/06 + + \bibitem{subfig} + Steven D. Cochran: + \emph{The subfig package}, + 2003/12/01 + + \bibitem{supertabular} + Johannes Braams und Theo Jurriens: + \emph{The supertabular environment}, + 2002/07/19 +\end{thebibliography} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/caption/caption.pdf b/Master/texmf-dist/doc/latex/caption/caption.pdf new file mode 100644 index 00000000000..59a44bfb6a1 Binary files /dev/null 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 new file mode 100644 index 00000000000..7d3dd75932d Binary files /dev/null and b/Master/texmf-dist/doc/latex/caption/caption2.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/manual.tex b/Master/texmf-dist/doc/latex/caption/manual.tex new file mode 100644 index 00000000000..7390b3b3a84 --- /dev/null +++ b/Master/texmf-dist/doc/latex/caption/manual.tex @@ -0,0 +1,61 @@ +%% +%% This is file `manual.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% caption.dtx (with options: `driver') +%% +%% Copyright (C) 1994-2005 Axel Sommerfeldt (caption@sommerfeldt.net) +%% +%% -------------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% This Current Maintainer of this work is Axel Sommerfeldt. +%% +%% This work consists of the files caption.ins, caption.dtx, +%% caption2.dtx, caption.xml, and anleitung.tex and the derived files +%% caption.sty, caption2.sty, caption3.sty, and manual.tex. +%% +\documentclass{ltxdoc} +\setlength\parindent{0pt} +\setlength\parskip{\smallskipamount} +\newcommand\NEWfeature{\NEW{New feature}} +\newcommand\NEWdescription{\NEW{New description}} +\newcommand\NEW[2]{% + \hskip 1sp \marginpar{\footnotesize\sffamily\raggedleft + #1\\#2}} +\ifx\pdfoutput\undefined\else + \ifcase\pdfoutput\else + \usepackage{mathptmx,courier} + \usepackage[scaled=0.90]{helvet} + \addtolength\marginparwidth{15pt} + \fi +\fi +\usepackage{caption}[2004/11/28] +\usepackage{longtable,hyperref} +\DeclareCaptionLabelSeparator{period-newline}{. \\} +\DeclareCaptionStyle{period-newline}[labelsep=period]{labelsep=period-newline} +\DeclareCaptionStyle{period-newline2}[labelsep=period,justification=centering]{labelsep=period-newline} +\DeclareCaptionStyle{period-newline3}[labelsep=period]{labelsep=period-newline,justification=centering} +\DeclareCaptionFormat{reverse}{#3#2#1} +\DeclareCaptionFormat{llap}{\llap{#1#2}#3\par} +\DeclareCaptionLabelFormat{fullparens}{(\bothIfFirst{#1}{ }#2)} +\DeclareCaptionLabelSeparator{fill}{\hfill} +\DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}} +\begin{document} + \DocInput{caption.dtx} +\end{document} +\endinput +%% +%% End of file `manual.tex'. -- cgit v1.2.3