PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bildbeschriftung mit threeparttable, \ref und Abstände



Mander
11-11-2010, 10:27
Servus!

Ich habe für die Beschriftung von Abbildungen eine Lösung mit threeparttable gefunden, die meinen Anforderungen des Layouts entspricht.

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{graphicx}
\usepackage{threeparttable}
\usepackage{caption}
\renewcommand{\baselinestretch}{1.5} %Zeilenabstand 1,5

\begin{document}
\begin{figure}[htb]
\centering
\caption{Hallo}
\begin{threeparttable}
\rule{5cm}{5cm}
\begin{tablenotes}[para]
\centering
\item[] Footnote \\
\end{tablenotes}
\label{fig:1}
\end{threeparttable}
\end{figure}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Nulla consequat massa \ref{fig:1} quis enim.
\end{document}

Leider funktioniert so der \ref Befehl nicht.
Die andere Sache betrifft die Abstände zwischen Bild und tablenotes sowie Bild und Fließtext. Da ich im Gesamtdokument 1,5-fachen Zeilenabstand habe sind die Abstände mir eigentlich zu groß. Besser sieht es meiner Meinung nach so aus.

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{graphicx}
\usepackage{threeparttable}
\usepackage{caption}

\begin{document}
\begin{figure}[htb]
\centering
\caption{Hallo}
\begin{threeparttable}
\rule{5cm}{5cm}
\begin{tablenotes}[para]
\centering
\item[] Footnote \\
\end{tablenotes}
\label{fig:1}
\end{threeparttable}
\end{figure}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Nulla consequat massa \ref{fig:1} quis enim.
\end{document}

Aber ich brauche die eineinhalb für den Fließtext.

Tschüss Mander

bobmalaria
11-11-2010, 10:48
hi,

du musst das label natürlich in die gleiche ebene setzen wie die caption die den anker setzt. also das label nicht innerhalb threeparttable, sondern innerhalb figure. setzt es doch einfach direkt nach der caption.

baselinestretch würde ich nicht modifizieren ,dass kann wirklich zu hässlichen abständen kommen. besser das paket setspace verwenden. dann kannst du mit \singlespacing \onehalfspacing usw. auch ganz einfach umschalten und z.b. innerhalb figure auf \singlespacing umschalten.


\documentclass[12pt,a4paper]{scrartcl}
\usepackage{graphicx}
\usepackage{threeparttable}
\usepackage{caption}
%\renewcommand{\baselinestretch}{1.5} %Zeilenabstand 1,5
\usepackage{setspace}
\onehalfspacing

\begin{document}
\begin{figure}[htb]
\singlespacing
\centering
\caption{Hallo}
\label{fig:1}
\begin{threeparttable}
\rule{5cm}{5cm}
\begin{tablenotes}[para]
\centering
\item[] Footnote \\
\end{tablenotes}
\end{threeparttable}
\end{figure}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Nulla consequat massa \ref{fig:1} quis enim.
\end{document}

Mander
11-11-2010, 17:15
Hi bobmalaria,

vielen Dank! So klappt es.

sommerfee
11-11-2010, 20:26
und z.b. innerhalb figure auf \singlespacing umschalten.

Das macht das setspace-Paket automatisch. Ich würde sogar das \singlespacing weglassen, weil das an dieser Stelle nicht ganz frei von Nebenwirkungen ist, sprich: in diesem Falle zusätzlichen vertikalen Abstand einfügt. Kommentiert man es aus, "rutscht" die Abbildung daher etwas nach oben, mit dann korrektem Abstand zum oberen Seitenrand.

Liebe Grüße,
Axel