PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ausrichtung mit ctable



René Geppert
21-10-2008, 23:56
\documentclass[a4paper,english,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{ctable}

\begin{document}

\ctable[
cap = Sample Selection,
caption = Sample Selection,
label = nowidth,
width = \textwidth
]{@{}>{\raggedright}p{4.9cm}>{\centering}X>{\centering}X>{\centering}Xc@{}}{
\tnote[a]{Footnotetext a}
\tnote[b]{Footnotetext b}
\tnote[c]{Footnotetext c}
}{\toprule
\bfseries Database & \multicolumn{2}{c}{\bfseries ABCDEFG} & \multicolumn{2}{c}{\bfseries ABCDEFGHIJ}\\
\cmidrule(lr){2-3} \cmidrule(l){4-5}
Original sample & & 1000 & & 1000 \\ \addlinespace[0.1cm] \toprule
& less & remaining & less & remaining \\
\cmidrule(lr){2-2} \cmidrule(lr){3-3} \cmidrule(lr){4-4} \cmidrule(l){5-5}
Companies already captured by ABCDEFG database\tmark[a]
& & & 327 & 87\\ \addlinespace
Companies without complete data for the desired period\tmark[b]
& 60 & 662 & 42 & 45\\ \addlinespace
Companies not found in KLMNO database\tmark[c]
& 22 & 640 & 5 & 40\\ \addlinespace
Other companies
& 42 & 598 & -- & 40 \\ \addlinespace
Non-blah companies
& 1 & 597 & 2 & 38 \\ \addlinespace \midrule
Final sample
& & & & 635 \\
\bottomrule
}
\end{document}


folgende probleme:
a) falls ich die letzte spalte auch auf >{\centering}X setze, bekomme ich zig fehlermeldungen, während es bei allen anderen spalten problemlos funktioniert
b) ABCDEFGHIJ ist auf aufgrund des \cmidrule(l) nicht "richtig" zentriert
c) ich bekomme warnmeldungen bzgl. caption, ist das ein problen von ctable?

jemand vorschläge? :D

sommerfee
22-10-2008, 08:20
c) ich bekomme warnmeldungen bzgl. caption, ist das ein problen von ctable?

Ja. :( Wie ich gerade festgestellt habe, lädt es das caption-Paket, definiert aber seit der aktuellen Version 1.13 selber \caption so um, daß \caption[]{...} keinen Eintrag ins Tabellenverzeichnis tätigt. Nur geschieht dies inkompatibel zum caption-Paket und ist außerdem (soweit ich das auf die schnelle beurteilen kann) unsinnig, da das caption-Paket diese Funktionalität schon mitbringt.

Man kann diese Warnung ignorieren, solange einen die damit verbundenen (und in Kapitel 6 der Anleitung zum caption-Paket aufgelisteten) Einschränkungen nicht stören.


jemand vorschläge? :D

Das threeparttable-Paket stattdessen verwenden?

Liebe Grüße,
Axel

René Geppert
22-10-2008, 09:48
danke soweit schonmal sommerfee
habs jetzt mal in eine threeparttable gepackt
passt auch soweit
auch das problem mit der c/X-column hab ich gelöst bekommen
preample und tabularx preample sehen jetzt etwa so aus:


\newcolumntype{Y}{>{\centering\arraybackslash}X}
...
\begin{tabularx}{\linewidth}{@{}>{\raggedright}p{4.9cm}YYYY@{}}

ich verstehe in der tabularx.dvi die erklärung zu \arraybackslash zwar nicht so wirklich, aber es funzt erstmal^^

bleibt noch das letzte problem mit der zentrierung: woher das problem kommt ist ja klar, da cmidrule einseitig die linie verkürzt, ist ABCDEFGHIJ optisch nicht zentriert, beidseitig die linie verkürzen kann ich nicht, da dann das remaining zu breit für die linie ist und ich das dann in beiden spalten machen müsste, was für einen zu geringen zwischenraum sorgen würde usw.

hat da noch jemand ne idee oder einen workaround?

mfg

René Geppert
22-10-2008, 10:12
hmm, habe nen [code]\, [\code] davorgepackt, damit stimmts immerhin optisch

wäre dennoch dankbar, wenn jemand eine elegantere lösung für das problem hat

mechanicus
22-10-2008, 11:16
Kannst du vielleicht nochmal ein Minimalbeispiel machen, wo wir sehen, was jetzt genau bei dir steht?

Gruß
Marco

René Geppert
22-10-2008, 11:40
Klar.



\documentclass[a4paper,english,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{tabularx}
\usepackage{threeparttable}
\usepackage{booktabs}
\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{document}

\begin{table}
\centering
\caption{Sample Selection}\label{abc}
\smallskip
\begin{threeparttable}
\begin{tabularx}{\linewidth}{@{}>{\raggedright}p{4.9cm}*{4}{Y}@{}}\toprule
\bfseries Database & \multicolumn{2}{c}{\bfseries ABCDEF} & \multicolumn{2}{c}{\bfseries \, ABCDEFGHIJ}\\
\cmidrule(lr){2-3} \cmidrule(l){4-5}
Original sample & & 1000 & & 1000\\ \addlinespace[0.1cm] \toprule
& less & remaining & less & remaining \\ \cmidrule(lr){2-2} \cmidrule(lr){3-3} \cmidrule(lr){4-4} \cmidrule(l){5-5}
Companies already captured by ABCDEF database\tnote{a} & & & 327 & 87\\ \addlinespace
Companies without complete data for the desired period\tnote{b} & 60 & 662 & 42 & 45\\ \addlinespace
Companies not found in KLMNO database & 22 & 640 & 5 & 40\\ \addlinespace
Foreign blahs & 42 & 598 & -- & 40 \\ \addlinespace
Non-blah companies & 1 & 597 & 2 & 38 \\ \addlinespace \midrule
Final sample & & & & 635 \\
\bottomrule \end{tabularx} \begin{tablenotes}
\item[a] aaa
\item[b] bbb
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}


also das problem ist wie gesagt, dass ABCDEFGHIJ nicht zentriert ist, wenn man das schmale leerzeichen (\,) entfernt, was durch das cmidrule(l) kommt