PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Caption



BigFella
31-05-2013, 22:18
Ich möchte gerne das Caption Packet dazu nutzen, die Beschriftung einer Tabelle am linken oberen Ran der Tabelle zu beginnen und nach der Nummer eine neue Zeile zu beginnen. Minimal sieht was ich bsiher habe so aus:


\documentclass[12pt]{article}
\usepackage[font=small,format=plain,labelfont=bf,up,textfont=i t,up,labelsep=newline,justification=RaggedLeft]{caption}
\begin{document}
\begin{table}\caption{test}
\begin{tabular}{lll}
1&1&1\\1&2&3\end{tabular}\end{table}
\end{document}

Nun klappt zwar schon den Umbruch nach der Tabellennummer, aber bei mir steht die Caption nicht linksbündig, sondern in der Mitte.. Was mache ich denn da falsch?

nixversteh
31-05-2013, 22:37
Ich möchte gerne das Caption Packet dazu nutzen, die Beschriftung einer Tabelle am linken oberen Ran der Tabelle zu beginnen und nach der Nummer eine neue Zeile zu beginnen. Minimal sieht was ich bsiher habe so aus:


\documentclass[12pt]{article}
\usepackage[font=small,format=plain,labelfont=bf,up,textfont=i t,up,labelsep=newline,justification=RaggedLeft]{caption}
\begin{document}
\begin{table}\caption{test}
\begin{tabular}{lll}
1&1&1\\1&2&3\end{tabular}\end{table}
\end{document}

Nun klappt zwar schon den Umbruch nach der Tabellennummer, aber bei mir steht die Caption nicht linksbündig, sondern in der Mitte.. Was mache ich denn da falsch?

Hallo BigFella,

teste mal diesen Code:
%**********************************************
% Caption für Tabelle definieren
%**********************************************
\usepackage[singlelinecheck=off]{caption}
\usepackage{float}
\DeclareCaptionLabelFormat{figurelabel}{\textit{#1 #2}}
\DeclareCaptionTextFormat{tabletext}{\vskip0pt\hsp ace{-\parindent}\raggedright\textit{#1}}
\captionsetup[table]{textformat=tabletext,skip=15pt,format=plain,skip= 15pt,justification=justified,labelsep=newline, position=above,labelfont={up},textfont=it}
\captionsetup[figure]{position=below,labelformat=figurelabel}
%**********************************************

Viel Erfolg

Gruß

Martin

sommerfee
01-06-2013, 08:16
justification=RaggedLeft

"RaggedLeft" sorgt dafür, daß der Flattersatz links ist, der Text also rechtsbündig formatiert wird. Wenn du linksbündig formatierten Flattersatz haben möchtest, mußt du "RaggedRight" angeben.

Außerdem werden einzeilige Beschriftungen immer gesondert behandelt, in der Regel zentriert. Diese Sonderbehandlung kann man über "singlelinecheck=off" (oder kurz: "slc=off") ausschalten.

Wenn die Tabellen selber linksbündig gesetzt werden, reichen diese Änderungen bereits aus. Werden die Tabellen jedoch zentriert gesetzt, und die Beschriftung soll nicht linksbündig zur Seite, sondern linksbündig zur Tabelle gesetzt werden, benötigt man noch zusätzlich eine Formatierungshilfe, denn \caption alleine weiß nicht, was darüber oder darunter wie gesetzt wird.

Das caption-Paket bietet dafür den Befehl \captionbox an, der Inhalt und Beschriftung in eine Box setzt:



\documentclass[12pt]{article}
\usepackage[font=small,format=plain,labelfont=bf,up,textfont=i t,labelsep=newline,slc=off,tableposition=t]{caption}
\begin{document}
\begin{table}
\caption{test}
\begin{tabular}{lll}
1&1&1\\1&2&3
\end{tabular}
\end{table}
\begin{table}
\centering
\captionbox{test}{%
\begin{tabular}{lll}
1&1&1\\1&2&3
\end{tabular}}
\end{table}
\end{document}


(Das floatrow-Paket bietet Möglichkeiten, die über \captionbox hinausgehen.)

BigFella
01-06-2013, 17:12
Perfekt. Vielen Dank!