\captionof

Aus goLaTeX
Version vom 14. Mai 2020, 14:51 Uhr von KOMAScript (Diskussion | Beiträge) (Komplett neu erstellt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

\captionof wird von verschiedenen Paketen bereitgestellt und erzeugt einen Gleitumgebungstitel, beispielsweise eine Bildunterschrift, ohne zugehörige Gleitumgebung.

Verwendung

Voraussetzung

\usepackage{capt-of}
oder
\usepackage{caption}
oder
\documentclass{scrartcl}
oder
\documentclass{scrbook}
oder
\documentclass{scrreprt}

Syntax

\captionof{Gleitumgebung}[Verzeichniseintrag]{Titel}
\captionof*{Gleitumgebung}[Verzeichniseintrag]{Titel}
\captionaboveof{Gleitumgebung}[Verzeichniseintrag]{Titel}
\captionbelowof{Gleitumgebung}[Verzeichniseintrag]{Titel}

Parameter

{Gleitumgebung}
Gleitumgebung ist der Name einer existierenden Gleitumgebung, beispielsweise figure oder table.
[Verzeichniseintrag]
Der Eintrag, der im Verzeichnis der Gleitumgebungen vom Typ Gleitumgebung erfolgen soll. Wird das optionale Argument weggelassen, so wird stattdessen Titel für den Verzeichniseintrag verwendet.
{Titel}
Der Gleitumgebungstitel, der ausgegeben werden soll.

Beschreibung

Die Anweisung \captionof erzeugt einen Ausgabe, wie es \caption innerhalb einer Umgebung von Typ Gleitumgebung tun würde. Zu beachten ist, dass das erste Argument einen Typ von Gleitumgebungen angibt. Existiert also beispielsweise neben figure auch eine Umgebung figure*, so sind beide vom Typ figure und als erstes Argument von \captionof kann auch lediglich figure angegeben werden.

Beim Paket caption gibt es noch eine Besonderheit zu beachten. Ist das optionale Argument Verzeichniseintrag leer, so wird kein Eintrag ins entsprechende Verzeichnis erstellt. Außerdem kennt caption noch eine Sternform \captionof*, bei der kein Label mit Nummer erzeugt wird.

Die KOMA-Script-Klassen verfügen noch über die Befehle \captionaboveof und \captionbelowof, die entsprechend \captionabove und \captionbelow explizit eine Formatierung des Titels als Überschrift bzw. als Unterschrift vornehmen.

Die Anweisungen können sowohl innerhalb von Gleitumgebungen verwendet werden, beispielsweise wenn eine Tabelle und eine Abbildung nebeneinander stehen und gemeinsam gleiten sollen, als auch außerhalb von Gleitumgebungen, um beispielsweise eine Abbildung, die nicht gleiten soll, mit einer Bildunterschrift zu versehen. Letzteres ist in einem Bilderanhang, in dem viele Bilder ohne umgebenden Text aufeinander folgen, sinnvoll.

Beispiele

\documentclass{scrartcl}

\usepackage[ngerman]{babel}
\usepackage{mwe}

\begin{document}
\tableofcontents
\listoffigures
\listoftables
\section{Ein Beispiel}
\blindtext

\begin{figure}
  \begin{minipage}[t]{.5\linewidth}
    \centering
    \begin{tabular}[b]{lcr}
      links   & mittig & rechts\\\hline
      das     & ist    & eine\\
      Tabelle & als   & Beispiel\\
      ohne    & jeden & Sinn\\
    \end{tabular}
    \captionof{table}{Eine Beispieltabelle}
  \end{minipage}%
  \begin{minipage}[t]{.5\linewidth}
    \includegraphics[width=\linewidth]{example-image}
    \caption{Eine Beispielabbildung}
  \end{minipage}
\end{figure}

\blinddocument

\appendix
\section{Weitere Abbildungen}
\begin{minipage}{\linewidth}
  \centering
  \includegraphics{example-image-a}
  \captionof{figure}{Diese Abbildung soll nicht gleiten.}
\end{minipage}

\vspace{\intextsep}\noindent
\begin{minipage}{\linewidth}
  \centering
  \includegraphics{example-image-b}
  \captionof{figure}{Diese Abbildung soll auch nicht gleiten.}
\end{minipage}

\vspace{\intextsep}\noindent
\begin{minipage}{\linewidth}
  \centering
  \includegraphics{example-image-c}
  \captionof{figure}{Diese Abbildung soll schon gar nicht gleiten.}
\end{minipage}
\end{document}

Im Abbildungsanhang werden die minipage-Umgebungen verwendet, um einen Seitenumbruch zwischen Bild und Bildunterschrift zu verhindern. Statt \vspace{\intextsep}\noindent hätte man beispielsweise auch eine center- oder flushleft- oder flushright-Umgebung jeweils um die minipage verwenden können, um sowohl einen Abstand zu erzeugen als auch den Absatzeinzug vor den minipage-Umgebungen zu verhindern:

\documentclass{scrartcl}

\usepackage[ngerman]{babel}
\usepackage{mwe}

\begin{document}
\tableofcontents
\listoffigures
\listoftables

\blinddocument

\appendix
\section{Weitere Abbildungen}
\begin{minipage}{\linewidth}
  \centering
  \includegraphics{example-image-a}
  \captionof{figure}{Diese Abbildung soll nicht gleiten.}
\end{minipage}
\begin{center}
  \begin{minipage}{\linewidth}
    \centering
    \includegraphics{example-image-b}
    \captionof{figure}{Diese Abbildung soll auch nicht gleiten.}
  \end{minipage}
\end{center}
\begin{center}
  \begin{minipage}{\linewidth}
    \centering
    \includegraphics{example-image-c}
    \captionof{figure}{Diese Abbildung soll schon gar nicht gleiten.}
  \end{minipage}
\end{center}
\end{document}

Die so erzeugten Abstände sind zwar nicht identisch aber ähnlich. Alternativen zu \vspace{\intextsep} wären beispielsweise \smallskip, \medskip oder \bigskip.

Verwandte Befehle

\caption

Verweise

Paket capt-of, Paket caption, KOMA-Script