PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit \cmidrule aus Paket booktabs



heulsuse
30-01-2005, 13:58
Hallo Leute,

ich muss für meine Arbeit mehrere große Tabellen texen
und wollte für eine bessere Übersichtlichkeit die horizontalen
Linien aus dem Paket booktabs verwenden.

Funktioniert an sich ziemlich gut, bis ich mehrere \cmidrule's
verwende, um nur in bestimmten Spalten eine horizontale Linie
zu erzeugen (ähnlich Standard-\cline).

Problem :confused: :

Schon ab zwei \cmidrule am Ende einer Zeile, tritt eine vertikale
Verschiebung zwischen beiden Linien auf, vielleicht nur 1pt, aber zu
erkennen und auf alle Fälle unsauber bei mehr als zwei \cmidrule's.

Bin mittlerweile ziemlich ratlos !!
Wer kann mir nen Tip geben?

P.S.: Ich verwende die Koma-Skript-Klasse. Vielleicht eine Inkompatibilität?

Viele Grüße,
die heulsuse.

edico
30-01-2005, 22:31
... da du deinen Code nicht lieferst, muss ich spekulieren - schade. Mit KOMA hat das sicher nichts zu tun, sondern ich tippe ganz verdächtig darauf, dass du zwischen den \cmidrule Aufrufen eine Leerspalte eingebau hast; du must aber ohne jedweden Abstand schrieben:
...
\begin{tabular}{@{}llr@{}}
\toprule
\multicolumn{2}{c}{Produkt} &\multicolumn{1}{c}{Preis/kg} \\
\cmidrule(r){1-2}\cmidrule(l){3-3} % kein Abstand hier!
\addlinespace[5pt]
Nahrung & Kategorie &\multicolumn{1}{c}{EUR}\\
\midrule
Äpfel & Frucht & 1.50 \\
Orangen & Frucht & 2.00 \\
\addlinespace
Steak & Fleisch & 4.50 \\
\bottomrule
\end{tabular}
...
edico

heulsuse
31-01-2005, 09:41
Hallo Edico,

zunächst erst einmal ein Dankeschön für deine Antwort.
War natürlich blöd von mir den Code nicht anzugeben.

Der Erste bezieht sich auf meine jetzige Realisierung mit
2 \midrule's und der Zweite ist der, welcher mir Kopfzerbrechen
bereitet. Wie die entsprechenden getexten Tabellen Aussehen
erkennst du in den angehängten jpeg-Dateien in bild1.zip und
bild2.zip .

\begin{table}[h]
\small
\renewcommand{\captionlabelfont}{\it}
\centering
% \renewcommand{\arraystretch}{1.25}
\begin{tabular}[h]{crrrrrrrrl}\toprule
$u$ & \multicolumn{1}{c}{\begin{minipage}[b]{1.75em}$\;\; L/a$\\ $2L/a$\end{minipage}} & \multicolumn{1}{R{5em}}{Konfigurationen} &
\multicolumn{1}{R{5em}}{Replika} & \multicolumn{1}{R{5em}}{Messungen gesamt} & \multicolumn{1}{R{5em}}{Thermalisierung} &
\multicolumn{1}{R{5em}}{verbliebene Messungen} & \multicolumn{1}{R{5em}}{Größe der Bins} & \multicolumn{1}{R{5em}}{Jackknife-Samples} & \multicolumn{1}{H{5em}}{Restkonfigu\-rationen}\\ \midrule\midrule
% \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}\cmidrule(lr){9-9}\cmidrule(l){10-10}
0.9793 & 6 & 25 & 32 & 800 & 0 & 800 & 8 & 100 & 0 \\
& 12 & 160 & 4 & 640 & 10 & 600 & 6 & 100 & 0 \\
& 8 & 160 & 4 & 640 & 10 & 600 & 6 & 100 & 0 \\ \midrule
1.1814 & 6 & 50 & 32 & 1600 & 0 & 1600 & 16 & 100 & 0 \\
& 12 & 400 & 4 & 1600 & 25 & 1500 & 15 & 100 & 0 \\
& 24 & ??? & 2 & 510 & 55 & 400 & 4 & 100 & 206 \\ \midrule
1.5078 & 6 & 50 & 32 & 1600 & 0 & 1600 & 16 & 100 & 0 (+50)\\
& 12 & 160 & 4 & 640 & 10 & 600 & 6 & 100 & 0 \\
& 8 & 120 & 4 & 480 & 20 & 400 & 4 & 100 & 0 \\
& 16 & 500 & 1 & 500 & 0 & 500 & 5 & 100 & 0 \\ \midrule
2.0142 & 6 & 49 & 32 & 1568 & 9 & 1280 & 16 & 80 & 0 \\
& 12 & 162 & 4 & 648 & 2 & 640 & 8 & 80 & 0 (+2*30)\\
& 8 & 99 & 4 & 396 & 19 & 320 & 4 & 80 & 0 \\
& 24 & 330 & 2 & 660 & 10 & 640 & 8 & 80 & 138 \\ \bottomrule
\end{tabular}
\end{table}



\begin{table}[h]
\small
\renewcommand{\captionlabelfont}{\it}
\centering
% \renewcommand{\arraystretch}{1.25}
\begin{tabular}[h]{crrrrrrrrl}\toprule
$u$ & \multicolumn{1}{c}{\begin{minipage}[b]{1.75em}$\;\; L/a$\\ $2L/a$\end{minipage}} & \multicolumn{1}{R{5em}}{Konfigurationen} &
\multicolumn{1}{R{5em}}{Replika} & \multicolumn{1}{R{5em}}{Messungen gesamt} & \multicolumn{1}{R{5em}}{Thermalisierung} &
\multicolumn{1}{R{5em}}{verbliebene Messungen} & \multicolumn{1}{R{5em}}{Größe der Bins} & \multicolumn{1}{R{5em}}{Jackknife-Samples} & \multicolumn{1}{H{5em}}{Restkonfigu\-rationen}\\ %\midrule\midrule
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}\cmidrule(lr){9-9}\cmidrule(l){10-10}
0.9793 & 6 & 25 & 32 & 800 & 0 & 800 & 8 & 100 & 0 \\
& 12 & 160 & 4 & 640 & 10 & 600 & 6 & 100 & 0 \\
& 8 & 160 & 4 & 640 & 10 & 600 & 6 & 100 & 0 \\ \midrule
1.1814 & 6 & 50 & 32 & 1600 & 0 & 1600 & 16 & 100 & 0 \\
& 12 & 400 & 4 & 1600 & 25 & 1500 & 15 & 100 & 0 \\
& 24 & ??? & 2 & 510 & 55 & 400 & 4 & 100 & 206 \\ \midrule
1.5078 & 6 & 50 & 32 & 1600 & 0 & 1600 & 16 & 100 & 0 (+50)\\
& 12 & 160 & 4 & 640 & 10 & 600 & 6 & 100 & 0 \\
& 8 & 120 & 4 & 480 & 20 & 400 & 4 & 100 & 0 \\
& 16 & 500 & 1 & 500 & 0 & 500 & 5 & 100 & 0 \\ \midrule
2.0142 & 6 & 49 & 32 & 1568 & 9 & 1280 & 16 & 80 & 0 \\
& 12 & 162 & 4 & 648 & 2 & 640 & 8 & 80 & 0 (+2*30)\\
& 8 & 99 & 4 & 396 & 19 & 320 & 4 & 80 & 0 \\
& 24 & 330 & 2 & 660 & 10 & 640 & 8 & 80 & 138 \\ \bottomrule
\end{tabular}
\end{table}

heulsuse
31-01-2005, 11:08
Hallo, bin nun endlich fündig geworden :) .

es müssen nur die folgenden Zeilen eingefügt werden:

\makeatletter
\def\@xcmidrule{\ifx\@tempa\cmidrule\vskip-\@thisrulewidth%<== culprit
\global\@lastruleclass=\@ne\else
\ifx\@tempa\morecmidrules\vskip \cmidrulesep
\global\@lastruleclass=\@ne\else
\vskip \belowrulesep\global\@lastruleclass=\z@\fi\fi
\ifnum0=`{\fi}}
\makeatother

Zur Herkunft der Lösung siehe

http://groups.google.de/groups?hl=de&lr=&threadm=yfielb8zqdq.fsf%40triumf.ca&rnum=22&prev=/groups%3Fq%3D%255Ccmidrule%26start%3D20%26hl%3Dde% 26lr%3D%26selm%3Dyfielb8zqdq.fsf%2540triumf.ca%26r num%3D22


Danke an alle Leute, die drüber nachgedacht haben
Bis irgendwann,
die Heulsuse :p