Witziger Weise enthält das Paket `threeparttable` mit den Umgebungen `threeparttable` und `measuredfigure` bereits solche Umgebungen. Allerdings beschädigt das Paket `caption` vor Version 2016/02/02 v3.3-136 diese Funktion, indem es `threeparttable` immer als Tabellenumgebung und `measuredfigure` immer als Abbildungsumgebung festschreibt. Man kann die Funktionalität aber wieder hineinpatchen. Dazu muss man die Anweisung `\caption@settype` mit dem jeweiligen Argument aus der entsprechenden Umgebung durch etwas mehr Intelligenz ersetzen:
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}% Alte Rechtschreibung??? Aktuelle wäre ngerman
% statt german!
\usepackage{threeparttable}
\usepackage[font=normalsize]{caption}
\DeclareCaptionType[fileext=loc,placement=hbt,within=none]{chart}[Diagramm][Diagrammsverzeichnis]
\usepackage{xpatch}
\makeatletter
\xpatchcmd\measuredfigure{\caption@settype{figure}}{%
\@ifundefined{\@captype}{\caption@settype{figure}}{%
\expandafter\caption@settype\expandafter{\@captype}}%
}{}{%
\@latexerr{Patch of `measuredfigure' failed!}\@eha
}
\xpatchcmd\threeparttable{\caption@settype{table}}{%
\@ifundefined{\@captype}{\caption@settype{table}}{%
\expandafter\caption@settype\expandafter{\@captype}}%
}{}{%
\@latexerr{Patch of `threeparttable' failed!}\@eha
}
\makeatother
\begin{document}
\begin{chart}
\centering
\begin{measuredfigure}
\begin{tabular}{|c|c|c|} \hline
Spalte 1 & Spalte 2 & Spalte 3 \\ \hline
a & b & c \\ \hline
d & e & f \\ \hline
g & h & i \\ \hline
\end{tabular}
\caption{Diagrammstest.}
\end{measuredfigure}
\end{chart}
\begin{chart}
\centering
\begin{threeparttable}
\caption{Diagrammstest.}
\begin{tabular}{|c|c|c|} \hline
Spalte 1\tnote{1} & Spalte 2 & Spalte 3 \\ \hline
a & b & c \\ \hline
d & e & f \\ \hline
g & h & i \\ \hline
\end{tabular}
\begin{tablenotes}
\item[1] Eine Anmerkung
\end{tablenotes}
\end{threeparttable}
\end{chart}
\listofcharts
\listoftables
\end{document}
Du solltest vielleicht einen Bug-Report an den `caption`-Autor schreiben, damit er dieses Problem behebt.
**Achtung: Mit aktuellem `caption` bekommt man so die Fehlermeldungen:**
<pre><code>! LaTeX Error: Patch of `measuredfigure' failed!.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.20 }
?
! LaTeX Error: Patch of `threeparttable' failed!.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.26 }</code></pre>
*Der Patch ist ab dieser Version nicht mehr erforderlich!*
Solange Du `caption` nur verwendest, um neue Gleitumgebungen zu definieren, kannst Du auch auf `caption` verzichten und das *stattdessen* mit [`tocbasic`](http://www.ctan.org/pkg/tocbasic) machen:
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}% Alte Rechtschreibung??? Aktuelle wäre ngerman
% statt german!
\usepackage{threeparttable}
\usepackage{scrbase,tocbasic}
\DeclareNewTOC[%
type=chart,
types=charts,
name=Diagramm,
listname=Diagrammverzeichnis,
float,
floatpos=hbt,
]{loc}
\begin{document}
\begin{chart}
\centering
\begin{measuredfigure}
\begin{tabular}{|c|c|c|} \hline
Spalte 1 & Spalte 2 & Spalte 3 \\ \hline
a & b & c \\ \hline
d & e & f \\ \hline
g & h & i \\ \hline
\end{tabular}
\caption{Diagrammstest.}
\end{measuredfigure}
\end{chart}
\listofcharts
\listoftables
\end{document}
Dabei muss man dann nichts patchen, weil `measuredfigure` und `threeparttable` unangetastet bleiben. Natürlich gilt das nur, solange man `caption` eben nicht verwendet! Alleine die Verwendung von `tocbasic` hält `caption` ja nicht davon ab, `threeparttable` und `measuredfigure` auf Tabellen bzw. Abbildungen festzuklopfen. Sobald man `caption` lädt, benötigt man für diese beiden Umgebungen daher den Patch aus dem ersten Beispiel.
Last but not least, kennt `caption` auch noch die Anweisung `\captionbox`. Die Syntax dieses Befehls konnte ich zwar in der Anleitung nicht finden, sie scheint aber der von `\subcaptionbox` aus dem Paket `subcaption` zu entsprechen. Die Anweisung bietet zwar nicht die volle Funktionalität der `threeparttable`-Umgebung, als *Ersatz* für `measuredfigure` genügt sie jedoch:
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[font=normalsize,labelfont=bf]{caption}
\DeclareCaptionType[fileext=loc,placement=hbt,within=none]{chart}[Diagramm][Diagrammsverzeichnis]
\begin{document}
\begin{chart}
\centering
\captionbox{Diagrammtest mit etwas mehr Text.\label{diag:test}}{%
\begin{tabular}{|c|c|c|} \hline
Spalte 1 & Spalte 2 & Spalte 3 \\ \hline
a & b & c \\ \hline
d & e & f \\ \hline
g & h & i \\ \hline
\end{tabular}
\end{tabular}%
}
\end{chart}
\listofcharts
\listoftables
\end{document}
Auch die Verwendung von `\captionbox` ändert nichts daran, dass `threeparttable` und `measuredfigure` von `caption` vor 2016/02/02 v3.3-136 auf Tabellen bzw. Abbildungen festgelegt werden. wurden. Es nützt also nicht nützte daher nichts `\captionbox` mit diesen Umgebungen zu kombinieren. Stattdessen muss musste man `measuredfigure` wie im Beispiel gezeigt durch `\captionbox` *ersetzen*.