PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : threeparttable mit verschiedenen Zeilenabständen



StiewiF
29-07-2007, 13:09
Hallo zusammen,

ich habe folgendes Problem:

Ich habe einen threeparttable in der caption, die eigentliche Tabelle und die Fußnoten einen unterschiedlichen Zeilenabständen haben sollen. Mit viel tüfteln konnte ich irgendwie erreichen, dass zumindest schon mal die Tabelle nen Zeileabstand von 1.5 und die caption mit nen Zeilenabstand von 1.0 haben, wie gewünscht. Allerdings schaffe ich es nicht, den der Fußote auf 0.5 zu setzten, das scheint irgendwie an den der caption gekoppelt zu sein(?).

Hier meine Tabelle:


\documentclass[12pt, tablecaptionabove, pointlessnumbers, noonelinecaption, a4paper]{scrartcl}
\usepackage[latin1,ansinew]{inputenc}
\usepackage{ngerman,latexsym,textcomp,alltt,amsmat h,amssymb,makeidx,multicol}
\usepackage{float}
\usepackage{longtable}
\usepackage{booktabs}
\setlength\LTleft{0.0em}
\setlength\LTright\fill\usepackage{array}
\usepackage{times}

\usepackage[bf]{caption2}
\renewcommand{\captionfont}{\small}

\setcapindent{2em}
\setcapwidth[c]{.9\linewidth}

\usepackage{setspace}
\usepackage{threeparttable}

\begin{document}
%------------------------------------------------------------------------
\begin{table}[H]
\centering
\begin{threeparttable}
\linespread{1.5}
\small
\caption{Reaktionsbedingungen, uhsdkjfdsalkjfdsalkf lkasbfds Ausbeute und Enantiomerenüberschuss von \textbf{24}.}
\normalsize
\linespread{1.0}
\begin{tabular}{cccc}
\toprule
Nr. & Lösungsmittel & Ausbeute \% &\textit{ee}$^{a}$ / \%\\
\midrule
1$^{b}$ & Toluol & 11 & 27 \\
2 & Toluol & 34 & 18 \\
\bottomrule
\end{tabular}
\footnotesize
\begin{tablenotes}
\item[a] Bestimmung durch HPLC-Analyse an einer stationären Phase.\\
\item[b] Bestimmung durch HPLC-Analyse an einer stationären Phase.\\
\end{tablenotes}
\normalsize
\label{tab:TMSDCM}
\end{threeparttable}
\end{table}
%------------------------------------------------------------------------
\end{document}


Noch ne 2 kleine Frage:
Wie kann ich den Abstand zw der caption und der Tabelle ändern?
Gibt es irgendwo im Netz ne gute Beschreibung zum Thema threeparttable?

Danke schon mal für eure Hilfe
Gruß Stefan

sommerfee
29-07-2007, 13:35
Ich habe einen threeparttable in der caption, die eigentliche Tabelle und die Fußnoten einen unterschiedlichen Zeilenabständen haben sollen.

Wie man innerhalb von captions den Zeilenabstand ändert, ist in der Doku zum aktuellen caption-Paket beschrieben. (caption2 supporte ich grundsätzlich nicht mehr, man möge das verstehen.)



Wie kann ich den Abstand zw der caption und der Tabelle ändern?

Bei threeparttable ist der fest im Paket verankert, genauer gesagt hier:



\def\TPT@tabargset#1{% Alias \TPT@tabarghook
\TPT@unhook
\setlength\hsize{#1}%
\xdef\TPT@hsize{\hsize\the\hsize \parindent 1em \noexpand\@parboxrestore}%
\TPT@hsize
\ifx\TPT@docapt\@undefined\else \TPT@docapt \vskip.2\baselineskip \fi
\par \aftergroup\TPT@sethsize
}


Wenn du noch ein bis zwei Wochen Zeit hast, kannst du den Abstand mit dem caption-Paket v3.1 regeln, das enthält eine Anpassung an das threeparttable-Paket, so daß man den Abstand dort wie gewohnt mit \captionsetup{skip=xxx} einstellen kann. Ansonsten bleibt wohl nur eine eigene Anpassung von \TPT@tabargset.

Liebe Grüße,
Axel

StiewiF
29-07-2007, 19:06
wo finde ich denn diese doko zum caption paket?
kann sie nirgends finden, kannst du den link hier angeben?

hab sie gefunden :-)
diese sollte es sein:

ftp://ctan.tug.org/tex-archive/macros/latex/contrib/caption/anleitung.pdf

StiewiF
29-07-2007, 21:06
hmmm, habe jetzt mal das caption2 gegen das caption getauscht und nach der schönen Anleitung alles passend gemacht. das sieht jetzt so aus:

\documentclass[12pt, tablecaptionabove, pointlessnumbers, noonelinecaption, a4paper]{scrartcl}
\usepackage[latin1,ansinew]{inputenc}
\usepackage{ngerman,latexsym,textcomp,alltt,amsmat h,amssymb,makeidx,multicol}
\usepackage{float}
%\restylefloat{table}
%\restylefloat{figure}
\usepackage{longtable}
\usepackage{booktabs}
\setlength\LTleft{0.0em}
\setlength\LTright\fill\usepackage{array}
\usepackage{times}

\usepackage[onehalfspacing]{setspace}
\usepackage[margin=10pt,font=small,labelfont=bf,format=hang,si nglelinecheck=off,tableposition=top]{caption}

\usepackage{threeparttable}



\begin{document}
%------------------------------------------------------------------------
\begin{table}[H]
\begin{spacing}{1.5}
\centering
\begin{threeparttable}
\caption{Reaktionsbedingungen, uhsdkjfdsalkjfdsalkf lkasbfds Ausbeute und Enantiomerenüberschuss von \textbf{24}.}
\begin{tabular}{cccc}
\toprule
Nr. & Lösungsmittel & Ausbeute \% &\textit{ee}$^{a}$ / \%\\
\midrule
1$^{b}$ & Toluol & 11 & 27 \\
2 & Toluol & 34 & 18 \\
\bottomrule
\end{tabular}
\footnotesize
\begin{tablenotes}
\item[a] Bestimmung durch HPLC-Analyse an einer stationären Phase.\\
\item[b] Bestimmung durch HPLC-Analyse an zwei stationären Phasen.\\
\end{tablenotes}
\normalsize
\label{tab:TMSDCM}
\end{threeparttable}
\end{spacing}
\end{table}
%------------------------------------------------------------------------
\end{document}


2 Probleme treten allerdings auf:


- im pdf erscheint Tabelle1: ..... nachher nicht mehr linksbündig (+ eingerückt) sondern zentriert. wie ändere ich das?


- und das 2te:

meine eigentlich Frage war wie ich verschiedene Zeilenabstände bekomme für die caption(1.0) die tabularumgebung(1.5) und die Fußnote(0.5)? mit \begin{spacing} und \end{spacing} kann ich zwar alles verändern, jedoch nicht jedes einzeln. Gibt`s da nen Trick?

Gruß Stefan

sommerfee
30-07-2007, 10:24
- im pdf erscheint Tabelle1: ..... nachher nicht mehr linksbündig (+ eingerückt) sondern zentriert. wie ändere ich das?

Ja, das ist eine Eigenart der threeparttable-Umgebung, es richtet die caption immer automatisch an der Tabelle aus. Wie man das ändert, weiß ich aus dem Stegreif auch nicht (normalerweise wird diese Umgebung verwendet, weil sie genau dieses Feature bietet), ich werde heute abend mal etwas wühlen und mich nochmal melden...



meine eigentlich Frage war wie ich verschiedene Zeilenabstände bekomme für die caption(1.0)

Ändere dein "font=small" zu "font={small,singlespacing}". Das ist in der Anleitung vom caption-Paket in Abschnitt 5 etwas versteckt, sorry, ich hatte es hier bei mir auf der Festplatte schon längst geändert, so daß ich ganz vergessen hatte, daß es "da draußen" noch anders aussieht.

Bzgl. der Fußnoten weiß ich nicht bescheid, da müsste ich mich auch erstmal schlau machen.

Liebe Grüße,
Axel

edico
30-07-2007, 10:28
... und wenn Du es so machst:

\documentclass[12pt,tablecaptionabove,pointlessnumbers,noonelinec aption]{scrartcl}
\usepackage[latin1,ansinew]{inputenc}
\usepackage{ngerman,latexsym,textcomp,alltt,amsmat h,amssymb,makeidx,multicol}
\usepackage{float}
%\restylefloat{table}
%\restylefloat{figure}
\usepackage{longtable}
\usepackage{booktabs}
\setlength\LTleft{0.0em}
\setlength\LTright\fill\usepackage{array}
\usepackage{times}

\usepackage%[onehalfspacing]
{setspace}
\onehalfspacing % 1.5-zeilig
\renewcommand{\arraystretch}{1.8} % Tabellenzeilenabstnde verringern

\usepackage[%margin=10pt,parskip=5pt %Einzug+more than 1_paragraph
font=small,
labelfont=bf,
%format=hang,
%singlelinecheck=off,
tableposition=top,
justification=RaggedRight
]{caption}

\usepackage{threeparttable}

\begin{document}

{\small
\begin{verbatim}
2 Probleme treten allerdings auf:
- im pdf erscheint Tabelle1: ..... nachher nicht mehr linksbndig
(+ eingerckt) sondern zentriert.

-> caption-Optionen auskommentieren + hinzufuegen
%margin=10pt,
%format=hang,
justification=RaggedRight

Das Paket threeparttable.sty (insbesonder geeignet zum Setzen von
Fussnoten / Anmerkungen in Tabellen) hat den netten 'Nebeneffekt',
dass die Breite der Caption der Tabelle angepasst wird.


- meine eigentlich Frage war wie ich verschiedene Zeilenabstnde
bekomme fr die caption(1.0) die tabularumgebung(1.5) und die
Funote(0.5)? mit \begin{spacing} und \end{spacing} kann ich
zwar alles verndern, jedoch nicht jedes einzeln.

-> Itemabstaende + Itemzwischenraeume verringern
...
\begin{setstretch}{.75}
\begin{tablenotes}\setlength{\itemsep}{-2ex}...\end{tablenotes}
\end{setstretch}
...

-> TPT anderthalbspacing
\onehalfspacing % 1.5-zeilig
\renewcommand{\arraystretch}{1.5} % Tabellenzeilenabstnde verringern

\end{verbatim}}


\begin{table}[H]
%\begin{spacing}{1.5}
\centering
%
\begin{threeparttable}
\caption{Reaktionsbedingungen, uhsdk\-jfdsa\-lkjf\-dsalkf lkasbfds Ausbeute und Enantiomerenberschuss von \textbf{24}.}
\label{tab:TMSDCM}
\begin{tabular}{cccc}
\toprule
Nr. & Lsungsmittel & Ausbeute \% &\textit{ee}$^{a}$ / \%\\
\midrule
1$^{b}$ & Toluol & 11 & 27 \\
2 & Toluol & 34 & 18 \\
\bottomrule
\end{tabular}
%
\footnotesize
\begin{setstretch}{.75}
\begin{tablenotes}\setlength{\itemsep}{-2ex}
\item[a] Bestimmung durch HPLC-Analyse an einer stationren Phase.\\
\item[b] Bestimmung durch HPLC-Analyse an zwei stationren Phasen.\\
\end{tablenotes}
\end{setstretch}
\normalsize
\end{threeparttable}
%\end{spacing}
\end{table}

\end{document}


educo

P.S.
Mir fällt gerade noch auf:
die Dobbelbackslashes in der Itemumgebung gehören da nicht hin.
Damit wird die itemsep-'Korrektur' obsolet.

StiewiF
30-07-2007, 11:44
@ sommerfee

leider funzt das nicht mit
\captionsetup{font=singlespacing}
und auch nicht mit
\usepackage[font{small,singlespacing}]

Fehlermeldung: Package caption error: singlespacing undefined
was mache ich falsch?
austricksen konnte ich es bisher mit verschiedenen \linespread innerhalb der table-umgebung

sommerfee
30-07-2007, 12:07
Fehlermeldung: Package caption error: singlespacing undefined

Dann hast du eine Version < 3.0p des caption-Paketes.

Abhilfe: caption-Paket aktualisieren oder es folgendermaßen machen:

\usepackage[...]{caption} % ohne singlespacing in den Optionen!
\DeclareCaptionFont{singlespacing}{\setstretch{1}}
\captionsetup{font={small,singlespacing}}

Gruß,
Axel

StiewiF
30-07-2007, 13:00
im Moment macht er sie automatisch einzeilig (in Bildern und Tabellen), ich weiß nicht warum, aber ich bin glücklich damit :)

das mit dem Itemabstaende + Itemzwischenraeume verringern hat auch super geklappt, Tabellenzeilenabstände verringern auch

bleibt noch eins (da hast du mich wohl falsch verstanden edico)

[QUOTE=edico;241515]... und wenn Du es so machst:

2 Probleme treten allerdings auf:
- im pdf erscheint Tabelle1: ..... nachher nicht mehr linksbndig
(+ eingerckt) sondern zentriert.

-> caption-Optionen auskommentieren + hinzufuegen
%margin=10pt,
%format=hang,
justification=RaggedRight

Das Paket threeparttable.sty (insbesonder geeignet zum Setzen von
Fussnoten / Anmerkungen in Tabellen) hat den netten 'Nebeneffekt',
dass die Breite der Caption der Tabelle angepasst wird.


ich wollte gerade diesen "Nebeneffekt" nicht haben, sondern dass die caption so aussieht wie in den Optionen angegeben, aber links auf der Seite soll sie anfangen(+das bisschen eingerückt, also die 10pt), also muss man das threeparttable-package irgendwie austricksen können. wenn das geht...?

sommerfee
30-07-2007, 14:56
ich wollte gerade diesen "Nebeneffekt" nicht haben, sondern dass die caption so aussieht wie in den Optionen angegeben, aber links auf der Seite soll sie anfangen(+das bisschen eingerückt, also die 10pt), also muss man das threeparttable-package irgendwie austricksen können. wenn das geht...?

\captionsetup{width=...}

scheint zu gehen, wenn man es direkt vor \caption innerhalb der threeparttable schreibt. Muß man dann allerdings in jede threeparttable per Hand einbauen.

Alternativ könnte man sich das Makro \TPT@caption aus dem threeparttable-Paket schnappen und selber passend umdefinieren.

Eine ganz andere Alternative: Das floatrow-Paket, das hat AFAIK auch diverse Möglichkeiten, Anmerkungen & Fußnoten formatiert unter die Tabelle zu setzen.

Liebe Grüße,
Axel

StiewiF
30-07-2007, 16:14
jippi, mit \captionsetup{width=...} geht`s prima

danke für die viele Hilfe!

wann kommt denn das caption-Paket v3.1 raus? und wie erfahre ich davon und wo bekomme ich es?

Gruß Stefan

sommerfee
30-07-2007, 16:39
jippi, mit \captionsetup{width=...} geht`s prima

Mit caption v3.1 wird man das übrigens auch global mit \captionsetup[threeparttable]{width=...} einstellen können.


wann kommt denn das caption-Paket v3.1 raus?

Ich hoffe in 1-2 Wochen, je nachdem wieviel Zeit in ich nächster Zeit dafür finde.



und wie erfahre ich davon

Auf der CTAN-ANN-Mailingliste bekommt man die Ankündigungen über aktuelle Pakete. Die Liste ist auch hier einzusehen:

http://www.mail-archive.com/ctan-ann@dante.de/maillist.xml



und wo bekomme ich es?

Auf jedem CTAN-Server, z.B. unter www.dante.de. Und dann einige Tage später auch als MikTeX-Update.

Liebe Grüße,
Axel