Ich habe in meinem Dokument eine tcolorbox. Dafür möchte ich gern eine Beschriftung (\caption) angeben. Dies geht über den Befehl \captionof. Allerdings wird dadurch der Absatzabstand, den ich in der KOMA-Script-Klasse definiert habe (parskip=full), unterdrückt.

Wird in dem folgenden Beispiel die Zeile

Open in Online-Editor
\captionof{figure}{ ...

oder die Zeile

Open in Online-Editor
\usepackage{caption}

auskommentiert, ist der Absatzabstand wieder vorhanden.

Was kann ich also tun, um die tcolorbox korrekt zu beschriften und den Absatzabstand beizubehalten?

Open in Online-Editor
\documentclass[
  12pt,
  parskip=full,
  ]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{caption}

\usepackage{tcolorbox}

\usepackage{blindtext}

\begin{document}

\begin{tcolorbox}[boxrule=.25mm,colframe=black,colback=white]
\blindtext
\end{tcolorbox}
\captionof{figure}{Dies ist die Beschreibung zur Abbildung.}

\blindtext

Normalerweise sollte hier ein Absatzabstand erscheinen.

\blindtext

\blindtext

\end{document}

gefragt 27 Sep '15, 11:18

Andr%C3%A9's gravatar image

André
93151733
Akzeptiert: 77%

1

Ginge mit \begin{tcolorbox}[...,after=\captionof{figure}{Dies ist die Beschreibung zur Abbildung.}]. Trotzdem kann es dann aber einen Seitenumbruch zwischen der tcolorbox und der Beschriftung geben. Wenn Du das nicht möchtest, dann setze beides zusammen in eine minipage.

(27 Sep '15, 13:23) esdd

@esdd Ich finde Deine Variante am besten. Wenn Du eine Antwort aus dem Kommentar machst, würde ich sie als korrekte Lösung markieren.

(11 Okt '15, 09:38) André

Ich finde es übrigens eher seltsam, dass die Beschreibung außerhalb der Box liegt.

(11 Okt '15, 10:00) Johannes

Wie schon in einem Kommentar erwähnt, kann man mit der tcolorbox-Option after das Einfügen der Beschriftung nach der Box, aber noch innerhalb der Gruppe veranlassen. Mit dem analogen before kann man mit dem von @saputello erwähnten \KOMAoptions{parskip=full-} oder mit \centering etc. die Warnung wegen der overfull hbox verhindern.

Open in Online-Editor
\documentclass[
  12pt,
  parskip=full,
  ]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{caption}
\usepackage{tcolorbox}
\usepackage{blindtext}

\begin{document}

\blindtext

\begin{tcolorbox}[boxrule=.25mm,colframe=black,colback=white,
  before={\centering},
  after={\captionof{figure}{Dies ist die Beschreibung zur Abbildung.}}
]
\blindtext
\end{tcolorbox}

\blindtext

Normalerweise sollte hier ein Absatzabstand erscheinen.

\blindtext

\blindtext

\end{document}

Zu beachten ist, dass trotzdem zwischen der Box und der Beschriftung ein Seitenumbruch erfolgen kann. Wie man das verhindern kann, ist ein der Antwort von @saputello beschrieben.

Permanenter link

beantwortet 11 Okt '15, 15:25

esdd's gravatar image

esdd
14.2k53251

Die \captionof-Anweisung von caption verändert die Einstellungen. Die einfachste Lösung ist daher, in der Tat auf caption zu verzichten. Im Beispiel wird es auch gar nicht benötigt. Genügen aus irgendwelchen Gründen die Möglichkeiten von KOMA-Script nicht oder wird caption aus anderen Gründen benötigt, beispielsweise wegen subcaption, so genügt es, sämtliche Auswirkungen mit Hilfe einer Gruppe zu begrenzen:

Open in Online-Editor
\documentclass[
  12pt,
  parskip=full,
  ]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{caption}

\usepackage{tcolorbox}

\usepackage{blindtext}

\begin{document}

\begingroup
\begin{tcolorbox}[boxrule=.25mm,colframe=black,colback=white]
\blindtext
\end{tcolorbox}
\captionof{figure}{Dies ist die Beschreibung zur Abbildung.}
\endgroup

\blindtext

Normalerweise sollte hier ein Absatzabstand erscheinen.

\blindtext

\blindtext

\end{document}

Wenn Du außerdem verhindern willst, dass zwischen der tcolorbox und der Bildunterschrift ein Seitenumbuch erfolgen kann, solltest Du beides zusammen in eine minipage packen. Außerdem führt parskip=full zu einer »overfull hbox«-Warnung, wenn man Material verwendet, das über die gesamte Seitenbreite geht. Das kann man beispielsweise mit einer lokalen Änderung der Option verhindern:

Open in Online-Editor
\documentclass[
  12pt,
  parskip=full,
  ]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{caption}

\usepackage{tcolorbox}

\usepackage{blindtext}

\begin{document}

\begingroup
\KOMAoption{parskip}{full-}% letzte Zeile des Absatzes darf voll werden
\noindent\begin{minipage}{\linewidth}
\begin{tcolorbox}[boxrule=.25mm,colframe=black,colback=white]
\blindtext
\end{tcolorbox}
\captionof{figure}{Dies ist die Beschreibung zur Abbildung.}
\end{minipage}\par
\endgroup

\blindtext

Normalerweise sollte hier ein Absatzabstand erscheinen.

\blindtext

\blindtext

\end{document}

Man kann auch eine der Umgebungen center, flushleft oder flushright verwenden, die allerdings zusätzlich einen vertikalen Abstand verursachen:

Open in Online-Editor
\documentclass[
  12pt,
  parskip=full,
  ]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{caption}

\usepackage{tcolorbox}

\usepackage{blindtext}

\begin{document}

\begin{center}
\begin{minipage}{\linewidth}
\begin{tcolorbox}[boxrule=.25mm,colframe=black,colback=white]
\blindtext
\end{tcolorbox}
\captionof{figure}{Dies ist die Beschreibung zur Abbildung.}
\end{minipage}
\end{center}

\blindtext

Normalerweise sollte hier ein Absatzabstand erscheinen.

\blindtext

\blindtext

\end{document}

Ob man dann noch wie von @esdd vorgeschlagen das after-Argument für \captionof verwendet, ist eher eine Geschmacksfrage.

Permanenter link

beantwortet 27 Sep '15, 12:16

saputello's gravatar image

saputello
18.4k22352

bearbeitet 28 Sep '15, 02:49

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×43
×27
×5

Frage gestellt: 27 Sep '15, 11:18

Frage wurde angeschaut: 1,787 Mal

Zuletzt aktualisiert: 11 Okt '15, 15:25