Hallo zusammen! Ich möchte in einem benutzerdefinierten float die Vorteile von Open in Online-Editor
\documentclass[a4paper,12pt]{report} \usepackage[utf8]{inputenc} \usepackage[german]{babel} \usepackage[font=normalsize]{caption} \DeclareCaptionType[fileext=loc,placement=hbt,within=none]{chart}[Diagramm][Diagrammsverzeichnis] \usepackage{threeparttable} \begin{document} \begin{chart} \centering \begin{threeparttable} \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{threeparttable} \end{chart} \listofcharts \listoftables \end{document} Das Ziel ist es, die Beschriftung maximal so breit wie das Diagramm einzustellen und sie im Diagrammsverzeichnis anzuzeigen. Das Problem ist, dass die Vielen Dank im Voraus! |
Die Frage wurde aus folgenden Grund "Das Problem ist veraltet und tritt seit caption 2016/02/02 v3.3-136 nicht mehr auf." geschlossen saputello 12 Feb '16, 08:30
Witziger Weise enthält das Paket Open in Online-Editor
\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}}% }{}{% \typeout{Patch of `measuredfigure' failed!}% } \xpatchcmd\threeparttable{\caption@settype{table}}{% \@ifundefined{\@captype}{\caption@settype{table}}{% \expandafter\caption@settype\expandafter{\@captype}}% }{}{% \typeout{Patch of `threeparttable' failed!}% } \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} Achtung: Der Patch ist ab Solange Du Open in Online-Editor
\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 Last but not least, kennt Open in Online-Editor
\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{chart} \listofcharts \listoftables \end{document} Auch die Verwendung von beantwortet 27 Jan '16, 08:10 saputello Vielen Dank saputello! Ich benutzte dein letztes Beispiel (mit scrbase und tocbasic), weil es mir einfacher zum Verstehen als das erste Beispiel war. Allerdings möchte ich meine Frage ein Bisschen erweitern, denn ich ein weiteres Problem fand. Danke.
(28 Jan '16, 15:27)
fpires
3
Danke für deine Analyze! Den Bug habe ich aufgenommen und behoben: https://sourceforge.net/p/latex-caption/tickets/31/ Ich werde noch heute eine neue Version des caption-Paketes nach CTAN hochladen, sie sollte dann in den nächsten Tagen via Update verfügbar sein. BTW: Eine weitere alternative Lösung wäre die Verwendung des newfloat-Paketes anstelle des caption-Paketes gewesen. Der Befehl zum Definieren der neuen Gleitumgebung ist dann DeclareFloatingEnvironment statt DeclareCaptionType, die Syntax ist dieselbe. (Intern verwendet DeclareCaptionType sowieso DeclareFloatingEnvironment.)
(31 Jan '16, 18:44)
Axel
@Axel: Danke für den Hinweis und die neue Version. Wenn damit dann das Originalbeispiel von @fpires schon das gewünschte Ergebnis liefert, können wir die Frage als überholt schließen.
(31 Jan '16, 19:12)
saputello
@Axel:
(31 Jan '16, 19:13)
saputello
@saputello: Ja, wenn man dafür dann doch wieder caption braucht, blieb bisher nur das Patchen oder die Verwendung von captionbox statt threeparttable. Man könnte sich aber nun auch stattdessen sein caption-Paket selber aktualisieren, indem man die Dateien des caption-Paketes (caption.sty usw.) durch diejenigen von https://sourceforge.net/p/latex-caption/code/HEAD/tree/branches/3.3/tex/ austauscht, was vermutlich sowohl die einfachste als auch die praktikabelste Lösung ist.
(03 Feb '16, 00:28)
Axel
2
Update (2016-02-02): Upload nach CTAN ist heute Vormittag erfolgt, d.h. in den nächsten Tagen sollte das Update auch über die Paketverwaltungen der TeX-Distributionen verfügbar sein.
(03 Feb '16, 00:28)
Axel
Ergebnis 5 von 6
show 1 more comments
|