Nachdem ich hier sehr gute Anregungen erhalten habe, wie ich meine tcolorbox optimieren kann, möchte ich diese Box (die bei mir eine nicht gleitende Abbildung ist) auch referenzieren.

Leider kommt es dabei nicht zur richtigen Referenzierung: Im nachfolgenden Beispiel wird „Abbildung 1.1“ statt „Abbildung 1“ ausgegeben. Was kann ich tun, dass die Referenz korrekt angegeben wird?

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

\usepackage{caption}

\usepackage{tcolorbox}

\newcommand{\meinebox}[3]
{\vspace{.15cm}
    \begin{minipage}{\textwidth}
        \begin{tcolorbox}[boxrule=.25mm,colframe=black,colback=white,
            after=\captionof{figure}{#2}]
            \parskip.5cm
            {#1}
            \label{#3}
        \end{tcolorbox}
    \end{minipage}
    \vspace{.15cm}
}

\usepackage{blindtext}

\begin{document}

\section{Überschrift}

\subsection{Überschrift}

\meinebox{
\blindtext
}{Dies ist die Beschreibung zur Abbildung.}{fig:Blindtext}

\blindtext

Siehe Abbildung~\ref{fig:Blindtext}

\end{document}

gefragt 11 Okt '15, 15:36

Andr%C3%A9's gravatar image

André
986232836
Akzeptiert-Rate: 33%

2

Das label gehört auch hier hinter die caption; bedeutet:
after={\captionof{figure}{#2}\label{#3}}.

(11 Okt '15, 15:57) Johannes

Wie Johannes bereits richtig bemerkt hat muss das \label nach der \caption stehen (gilt immer!). Zusätzlich würde ich eine eigene Box definieren, statt eine existierende Box in ein Makro zu packen, insbesondere da so Sachen wie der \vspace von tcolorbox erledigt werden können.

Open in Online-Editor
\documentclass[12pt,parskip=full]{scrartcl}
\usepackage[utf8]{inputenx}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{tcolorbox}
\newtcolorbox{meinebox}[3][]{
  width=\textwidth,boxrule=.25mm,
  colframe=black,colback=white,
  before skip=.15cm,after skip=.15cm,
  fonttitle={\parskip=.5cm},% <-- Keine gute Idee
  after={\captionof{figure}{#2}\label{#3}},
  #1
}
\begin{document}
\section{Überschrift}
\subsection{Überschrift}

\begin{meinebox}{Dies ist die Beschreibung zur Abbildung.}{fig:Blindtext}
  \blindtext
\end{meinebox}

\blindtext

Siehe Abbildung~\ref{fig:Blindtext}

\end{document}

alt text

Permanenter link

beantwortet 11 Okt '15, 18:43

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 11 Okt '15, 18:49

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×32
×14

gestellte Frage: 11 Okt '15, 15:36

Frage wurde gesehen: 9,455 Mal

zuletzt geändert: 11 Okt '15, 18:49