Sie sind hier

Wie setze ich die Caption bei Abbildungen und Tabellen in den Rand?

Hallo,

ist es mit "Bordmitteln" möglich, Captions bei Abbildungen und Tabellen in den äußeren Rand der Seite zu setzen, also *neben* die Abbildung/Tabelle? Ein Beispiel dafür ist etwa die Klasse dpunkt.cls aus dem d.punkt-Verlag, der ich aber aus vielen Gründen die koma-Pakete vorziehe.

Ich habe bereits das Forum durchsucht, die Anleitung gelesen (ich tippe auf eine Anwendung von \captionbeside!) und gegoogelt - ohne Erfolg.

Danke schon einmal für eine Antwort!

Alles Gute
Martin

Bild von Markus Kohm

Es gibt keine Anweisung \captionbeside, sondern eine Umgebung captionbeside. Diese wird in der KOMA-Script-Anleitung mit Beispiel erklärt. Dabei wird im Beispiel der gesamte Komplex aus Abbildung und Titel um 2em in den Rand verschoben. Gibt man als Breite statt \linewidth eine andere Breite an, so erhält der gesamte Komplex eine andere Breite, beispielsweise die Breite von Textkörper zuzüglich Rand. Dabei wird übrigens auch die Verwendung des calc-Pakets unterstützt. Dazu sollte man dann den Offset aus dem Beispiel noch auf 0pt setzen.

Im Beispiel wird der Bildtitel innen gesetzt. Du willst wohl eher außen, musst also das entsprechende Argument Anordnung noch ändern.

Ohne das calc-Paket kann man auch eine eigene Länge definieren und beispielsweise in der Präambel setzen:

\newlength{\textandmargin}
\AtBeginDocument{%
  \setlength{\textandmargin}{\textwidth}%
  \addtolength{\textandmargin}{\marginparsep}%
  \addtolength{\textandmargin}{\marginparwidth}%
}

Und dann im Beispiel aus der KOMA-Script-Anleitung \linewidth durch \textandmargin ersetzen.

... das \captionbeside war ein Typo, ich hatte es tatsächlich als Umgebung verwendet. Ich werde die Tipps mal ausprobieren und Rückmeldung geben: entweder positiv oder negativ :-P

Alles Gute und schönes Wochenende
Martin

mcaption.sty?

Viele Grüße
Stephan Hennig

Gibt es eine Möglichkeit in der Präambel standardmäßig alle figures an den äußeren Rand mit Label innen zu legen, ohne für jede figure wie die folgende eine captionbeside-Umgebung zu benötigen?
Gruß,
Paolo

\begin{figure}[]
\includegraphics[]{Winkelfehler}
\caption{Vereinfachter Lastfall}
\end{figure}

Bild von Markus Kohm

Um so etwas zu realisieren, müsste man tief in die Funktionsweise von Gleitumgebungen eingreifen. Dann dürfte beispielsweise in einer figure-Umgebung nur noch eine einzige \caption-Anweisung vorhanden sein. Damit wäre es dann beispielsweise nicht mehr möglich, zwei Abbildungen oder eine Abbildung und eine Tabelle jeweils mit eigener Unterschrift nebeneinander zu setzen, oder zwei Gleitobjekte, die nicht auseinanderdriften sollen in eine Gleitumgebung. Solche Einschränkungen hat man beispielsweise bei Gleitumgebungen, die mit dem float-Paket definiert wurden (oder, wenn man damit \restylefloats verwenden). Es mag erträglich sein, wenn man die Wahl hat, sich eine solche Einschränkung durch Verwendung eines Pakets zu erkaufen oder auf ein Paket zu verzichten. Eine solche Einschränkung in eine Klasse einzubauen, halte ich für ungünstig. Außerdem würde dadurch die Befehlskompatibilität zu den Standardklassen aufgegeben. Ein Dokument, das mit den Standardklassen gesetzt wurde, könnte dann nicht durch einfachen Tausch der Klasse mit einer KOMA-Script-Klasse gesetzt werden. Das ist auch der Grund, warum die Optionen tablecaptionabove/below bzw. die Anweisungen \captionabove/below keinen Einfluss auf die Position über oder unter dem Inhalt der Gleitumgebung, sondern nur auf Formatierung (genauer: die vertikalen Abstände) des Textes der \caption-Anweisungen haben.

Es sollte aber auch nachträglich relativ einfach sein, das gewünschte zu erreichen. Dazu braucht es ein paar Suchen/Ersetzen-Anweisungen, um die \begin{captionbeside} und \end{captionbeside} zu generieren und etwas Handarbeit um die Anfänge der captionbeside-Umgebungen an die richtige Stelle zu verschieben.

Wen die genannten Einschränkungen nicht stören, der sollte sich übrigens nicht lange mit dem float-Paket aufhalten, sondern sich gleich einmal das Paket floatrow anschauen. Das kann wirklich sehr viel bezüglich Gleitobjekte. Damit ist es dann ggf. auch wieder möglich, mehrere Objekte in einer Gleitumgebung zu haben. Das Paket ist bezüglich Gleitumgebungen das flexibelste, was ich kenne. Nachdem dieses Paket inzwischen extrem mächtig ist, habe ich das Vorhaben, eine komplett neue, extrem mächtige Gleitumgebungsschnittstelle in KOMA-Script einzubauen, vorerst aufgegeben, obwohl das Design der Schnittstelle längst fertig war (nur die Implementierung und die Dokumentation fehlen noch fast komplett).

Vielen Dank für die Erläuterung.
Mittlerweile habe ich auf einfache Weise die captionbeside Umgebung überall eingefügt.

\setcapwidth[o]{\linewidth}
\addtokomafont{captionlabel}{\bfseries\footnotesize}
\addtokomafont{caption}{\footnotesize}

\documentclass[
a4paper,
twoside,
pagesize,
]{scrreprt}

\chapter{Verfahren}

\begin{figure}
\begin{captionbeside}[beamwidth]{Antennendiagramm}[i][\linewidth][0em]*
\includegraphics[]{graphicspath/beamwidth}
\end{captionbeside}
\label{fig:beamwidth}
\end{figure}

Hierbei erscheint die linke Seite richtig, die rechte hat die captions
allerdings weit vom Bild entfernt linksbündig, sie sollte hier rechtsbündig beim Bild stehen.

Gruß,
Paolo

Bild von Markus Kohm

Ein früherer Forumsbeitrag behandelt IMHO genau diese Frage der Ausrichtung bereits recht ausführlich.

Comments for "Wie setze ich die Caption bei Abbildungen und Tabellen in den Rand?" abonnieren