PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabellen einfärben mit colortbl



Bilbo
12-04-2009, 12:38
Hallo,

ich bin gerade dabei einige Tabellen mit colortbl einzufärben. Leider sieht das gewünschte Ergebnis noch nicht so aus wie es sein soll.

Die farbige Hinterlegung lappt über die Tabellenränder hinaus und passt sich nicht korrekt an die \toprule und \midrule an.

Zum anderen wäre die Frage, ob man das Ganze automatisieren könnte, da jede Zeile im Wechsel weiß bzw. grau erscheinen soll. Ansonsten müsste man das für jede Zeile manuell in die Tabelle eingeben.

Letztendlich sollte es so aussehen wie im Manual zum xcolor Packet auf Seite 9.



\documentclass{scrreprt}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{blindtext}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
\usepackage{floatrow}
\floatsetup[table]{style=plaintop}

\begin{document}

\blindtext

\begin{table}[h]
\ttabbox{
\caption{test.}
\label{tbl:test}}
{\begin{tabular}{@{}*{4}{l}@{}}
\toprule
\rowcolor[gray]{.7}
1 & 2 & 3 & 4 \\
\midrule
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\bottomrule
\end{tabular}}
\end{table}

\end{document}

mechanicus
12-04-2009, 12:54
Hallo,


\documentclass{scrreprt}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{blindtext}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
\usepackage{floatrow}
\floatsetup[table]{style=plaintop}

\begin{document}

\blindtext

\begin{table}[h]
\ttabbox{
\caption{test.}
\label{tbl:test}}{
\newcolumntype{L}{>{\columncolor{white}[0pt][\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep][0pt]}l}
\begin{tabular}{@{}L *{2}{l}R@{}}
\toprule
\rowcolor[gray]{.7}
1 & 2 & 3 & 4 \\
\midrule
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\bottomrule
\end{tabular}}
\end{table}

\end{document}

Gruß
Marco

Bilbo
12-04-2009, 13:01
Sind leider immer noch weiße Ränder im Tabellenkopf zu sehen. Von der Breite passt es jetzt aber.

mechanicus
12-04-2009, 13:26
Hallo,

das ist eigentlich auch so gedacht, dass der Spalt da ist :rolleyes: .
Hier mal ohne Spalt:

\documentclass{scrreprt}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{blindtext}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
\usepackage{floatrow}
\floatsetup[table]{style=plaintop}

\begin{document}

\blindtext

\begin{table}[h]
\ttabbox{
\caption{test.}
\label{tbl:test}}{
\newcolumntype{L}{>{\columncolor{white}[0pt][\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep][0pt]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{@{}L *{2}{l}R@{}}
\toprule
\rowcolor[gray]{.7}
1 & 2 & 3 & 4 \\
\midrule
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\rowcolor[gray]{.9}
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\bottomrule
\end{tabular}}
\end{table}

\end{document}

Gruß
Marco

Bilbo
12-04-2009, 13:32
Hallo,

das ist eigentlich auch so gedacht, dass der Spalt da ist :rolleyes: .
Hier mal ohne Spalt:

Jo, nur sieht es nicht so gut aus, meiner Meinung nach.

Kann man den Farbwechsel innerhalb der Tabelle automatisieren oder muss man das per Hand machen?

Mal schauen wie das funktioniert, wenn ich eine *.csv Datei mittels pgfplotstable einlese.

mechanicus
12-04-2009, 13:43
Hallo,



Kann man den Farbwechsel innerhalb der Tabelle automatisieren oder muss man das per Hand machen?
Hierfür gibt es den Befehl rowcolors.
Beachte die Option beim Paket xcolor:

\documentclass{scrreprt}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage{blindtext}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
\usepackage{floatrow}
\floatsetup[table]{style=plaintop}

\begin{document}

\blindtext

\begin{table}[h]
\ttabbox{
\caption{test.}
\label{tbl:test}}{
\newcolumntype{L}{>{\columncolor{white}[0pt][\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep][0pt]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors*{2}{gray!30}{white}
\begin{tabular}{@{}L *{2}{l}R@{}}
\toprule
\rowcolor[gray]{.7}
1 & 2 & 3 & 4 \\
\midrule
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
1111111 & 222222 & 3333333 & 4444444 \\
\bottomrule
\end{tabular}}
\end{table}

\end{document}

Gruß
Marco

Bilbo
12-04-2009, 14:02
Die Zeile


\rowcolors*{2}{gray!30}{white}


gibt bei mir einen Fehler aus:

undefined control sequence

mechanicus
12-04-2009, 14:06
Die Zeile


\rowcolors*{2}{gray!30}{white}


gibt bei mir einen Fehler aus:

undefined control sequence
Hallo,

hast du xcolor so geladen:
\usepackage[table]{xcolor}
??
Weil meine Beispiel funktioniert bei mir.
Hier mal die File-List:


*File List*
scrreprt.cls 2009/04/01 v3.03 KOMA-Script document class (report)
scrkbase.sty 2009/04/01 v3.03 KOMA-Script package (KOMA-Script-dependent bas
ics and keyval usage)
scrbase.sty 2009/04/01 v3.03 KOMA-Script package (KOMA-Script-independent b
asics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2009/03/25 v3.03 KOMA-Script package (loading files)
tocbasic.sty 2009/01/20 v3.02a(package)
scrsize11pt.clo 2009/04/01 v3.03 KOMA-Script font size class option (11pt)
typearea.sty 2009/04/01 v3.03 KOMA-Script package (type area)
inputenc.sty 2006/05/05 v1.1b Input encoding file
latin1.def 2006/05/05 v1.1b Input encoding file
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
lmodern.sty 2007/01/14 v1.3 Latin Modern Fonts
babel.sty 2008/07/06 v3.8l The Babel package
ngermanb.ldf 2008/07/06 v2.6n new German support from the babel system
booktabs.sty 2005/04/14 v1.61803 publication quality tables
graphicx.sty 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive
pdftex.def 2008/09/08 v0.04l Graphics/color for pdfTeX
tabularx.sty 1999/01/07 v2.07 `tabularx' package (DPC)
array.sty 2005/08/23 v2.4b Tabular extension package (FMi)
longtable.sty 2004/02/01 v4.11 Multi-page Table package (DPC)
ltxtable.sty 1995/12/11 v0.2 longtable/tabularx merge (DPC)
ltcaption.sty 2008/03/28 v1.2 longtable captions (AR)
xcolor.sty 2007/01/21 v2.11 LaTeX color extensions (UK)
color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
colortbl.sty 2001/02/13 v0.1j Color table columns (DPC)
blindtext.sty 2009/01/27 V1.8 blindtext-Package
xspace.sty 2006/05/08 v1.12 Space after command names (DPC,MH)
caption.sty 2008/08/24 v3.1j Customizing captions (AR)
caption3.sty 2008/08/24 v3.1j caption3 kernel (AR)
floatrow.sty 2008/03/28 v0.2c floatrow: float package extension
t1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern
supp-pdf.tex
fr-longtable.sty 2007/11/28 v0.1b (beta) floatrow: additions for longtable
ot1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern
omllmm.fd 2007/01/14 v1.3 Font defs for Latin Modern
omslmsy.fd 2007/01/14 v1.3 Font defs for Latin Modern
omxlmex.fd 2007/01/14 v1.3 Font defs for Latin Modern
***********

Gruß
Marco

Bilbo
12-04-2009, 14:09
Hallo,

hast du xcolor so geladen:
\usepackage[table]{xcolor}
??
Weil meine Beispiel funktioniert bei mir.


Ne, danke für den Hinweis. Nun geht es.

Jetzt probiere ich das Ganze noch für eine longtable und eine importierte *.csv Datei. Zweites dürfte nicht so einfach werden.

mechanicus
12-04-2009, 14:11
Ne, danke für den Hinweis. Nun geht es.

Jetzt probiere ich das Ganze noch für eine longtable und eine importierte *.csv Datei. Zweites dürfte nicht so einfach werden.
Hast ja noch das Forum :D

Gruß
Marco

Bilbo
12-04-2009, 14:19
Hast ja noch das Forum :D

Forum = Marco ?:D

Na geht natürlich nicht mit longtable. Wäre auch zu einfach gewesen:rolleyes:



\documentclass{scrreprt}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
\usepackage{floatrow}
\floatsetup[table]{style=plaintop}

\begin{document}

\begin{longtable}{@{}*{7}{l}@{}}
\caption[test]{Datensatz für die Aufgabe 1 und 2.} \\
\label{tbl:datensatz} \\
\newcolumntype{L}{>{\columncolor{white}[0pt][\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep][0pt]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors*{2}{gray!30}{white}
\toprule
\textbf{Datum} & 1 & 2 & 3 & 4 & 5 & 6 \\
\midrule
\endfirsthead
\toprule
\textbf{Datum} & 1 & 2 & 3 & 4 & 5 & 6 \\
\midrule
\endhead
04.11.1987 & 2,9 & 7,6 & 80 & 0,26 & 2,9 & 0,0 \\
11.11.1987 & 22,5 & 8,4 & 82 & 0,26 & 2,7 & 19,8 \\
18.11.1987 & 43 & 6,1 & 88 & 0,26 & 1,5 & 41,5 \\
25.11.1987 & 3,3 & 4,6 & 82 & 0,26 & 2,1 & 1,2 \\
02.12.1987 & 0,3 & 0,2 & 80 & 0,26 & 1,7 & -1,4 \\
09.12.1987 & 1,7 & -1,5 & 87 & 0,26 & 1,0 & 0,7 \\
16.12.1987 & 33,1 & 6,8 & 92 & 0,26 & 1,1 & 32,0 \\
23.12.1987 & 7,2 & 6,6 & 84 & 0,26 & 2,1 & 5,1 \\
30.12.1987 & 18,8 & 8,5 & 77 & 0,26 & 3,5 & 15,3 \\
06.01.1988 & 10 & 5,8 & 75 & 0,26 & 3,2 & 6,8 \\
13.01.1988 & 8,5 & 1,8 & 86 & 0,26 & 1,3 & 7,2 \\
20.01.1988 & 12,4 & 3,7 & 88 & 0,26 & 1,3 & 11,1 \\
27.01.1988 & 16 & 6,1 & 75 & 0,26 & 3,2 & 12,8 \\
03.02.1988 & 13,2 & 6,2 & 67 & 0,26 & 4,3 & 8,9 \\
10.02.1988 & 5 & 5,4 & 67 & 0,26 & 4,0 & 1,0 \\
17.02.1988 & 33 & 3,4 & 77 & 0,26 & 2,4 & 30,6 \\
24.02.1988 & 35,9 & 1,7 & 86 & 0,26 & 1,3 & 34,6 \\
02.03.1988 & 20,4 & 2,3 & 76 & 0,33 & 3,0 & 17,4 \\
09.03.1988 & 24,7 & 2,5 & 69 & 0,33 & 3,9 & 20,8 \\
16.03.1988 & 12,1 & 5,3 & 61 & 0,33 & 6,0 & 6,1 \\
23.03.1988 & 13,2 & 7,7 & 75 & 0,33 & 4,6 & 8,6 \\
30.03.1988 & 1,7 & 10,4 & 59 & 0,33 & 9,0 & -7,3 \\
06.04.1988 & 0 & 12,5 & 44 & 0,39 & 16,7 & -16,7 \\
13.04.1988 & 0,3 & 16,3 & 30 & 0,39 & 26,6 & -26,3 \\
20.04.1988 & 1 & 11,3 & 38 & 0,39 & 17,0 & -16,0 \\
27.04.1988 & 0,9 & 17,7 & 41 & 0,39 & 24,5 & -23,6 \\
04.05.1988 & 0 & 18,4 & 36 & 0,39 & 27,8 & -27,8 \\
11.05.1988 & 0 & 22,2 & 34 & 0,39 & 36,3 & -36,3 \\
18.05.1988 & 0,3 & 15,9 & 47 & 0,39 & 19,7 & -19,4 \\
25.05.1988 & 8,4 & 20,9 & 59 & 0,39 & 20,8 & -12,4 \\
01.06.1988 & 41,2 & 17,8 & 64 & 0,37 & 14,3 & 26,9 \\
08.06.1988 & 18,7 & 18,2 & 67 & 0,37 & 13,4 & 5,3 \\
15.06.1988 & 0 & 21,2 & 45 & 0,37 & 27,0 & -27,0 \\
22.06.1988 & 22,6 & 18,8 & 72 & 0,37 & 11,8 & 10,8 \\
29.06.1988 & 41,9 & 21,9 & 63 & 0,37 & 18,9 & 23,0 \\
06.07.1988 & 25,1 & 22 & 55 & 0,35 & 21,9 & 3,2 \\
13.07.1988 & 34,9 & 19,4 & 63 & 0,35 & 15,4 & 19,5 \\
20.07.1988 & 17,3 & 25,8 & 52 & 0,35 & 29,4 & -12,1 \\
27.07.1988 & 12,3 & 20,8 & 52 & 0,35 & 21,7 & -9,4 \\
03.08.1988 & 1,2 & 21,6 & 56 & 0,33 & 19,7 & -18,5 \\
10.08.1988 & 0 & 25,2 & 46 & 0,33 & 30,1 & -30,1 \\
17.08.1988 & 2,1 & 21 & 54 & 0,33 & 19,9 & -17,8 \\
24.08.1988 & 9,2 & 18,9 & 69 & 0,33 & 11,8 & -2,6 \\
31.08.1988 & 7,4 & 18,9 & 58 & 0,33 & 15,9 & -8,5 \\
07.09.1988 & 6,9 & 18,3 & 56 & 0,31 & 15,1 & -8,2 \\
14.09.1988 & 2,7 & 15,3 & 69 & 0,31 & 8,8 & -6,1 \\
21.09.1988 & 7,9 & 16,5 & 65 & 0,31 & 10,7 & -2,8 \\
28.09.1988 & 1,2 & 16,4 & 50 & 0,31 & 15,2 & -14,0 \\
05.10.1988 & 12,8 & 14 & 63 & 0,26 & 8,1 & 4,7 \\
12.10.1988 & 2,9 & 14,3 & 83 & 0,26 & 3,8 & -0,9 \\
19.10.1988 & 1,8 & 10,9 & 66 & 0,26 & 6,1 & -4,3 \\
26.10.1988 & 2,6 & 9,1 & 61 & 0,26 & 6,2 & -3,6 \\
\bottomrule
\end{longtable}

\end{document}

mechanicus
12-04-2009, 14:38
Hallo,

geht, du hast die Reihenfolge nicht beachtet und bei xcolor wieder table vergessen:

\documentclass{scrreprt}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
\usepackage{floatrow}
\floatsetup[table]{style=plaintop}

\begin{document}
\newcolumntype{L}{>{\columncolor{white}[0pt][\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep][0pt]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors*{2}{gray!30}{white}
\begin{longtable}[c]{@{}L*{5}{l}R@{}}
\caption[test]{Datensatz für die Aufgabe 1 und 2.} \label{tbl:datensatz}\\
\toprule
\textbf{Datum} & 1 & 2 & 3 & 4 & 5 & 6 \\
\midrule
\endfirsthead
\toprule
\textbf{Datum} & 1 & 2 & 3 & 4 & 5 & 6 \\
\midrule
\endhead
04.11.1987 & 2,9 & 7,6 & 80 & 0,26 & 2,9 & 0,0 \\
11.11.1987 & 22,5 & 8,4 & 82 & 0,26 & 2,7 & 19,8 \\
18.11.1987 & 43 & 6,1 & 88 & 0,26 & 1,5 & 41,5 \\
25.11.1987 & 3,3 & 4,6 & 82 & 0,26 & 2,1 & 1,2 \\
02.12.1987 & 0,3 & 0,2 & 80 & 0,26 & 1,7 & -1,4 \\
09.12.1987 & 1,7 & -1,5 & 87 & 0,26 & 1,0 & 0,7 \\
16.12.1987 & 33,1 & 6,8 & 92 & 0,26 & 1,1 & 32,0 \\
23.12.1987 & 7,2 & 6,6 & 84 & 0,26 & 2,1 & 5,1 \\
30.12.1987 & 18,8 & 8,5 & 77 & 0,26 & 3,5 & 15,3 \\
06.01.1988 & 10 & 5,8 & 75 & 0,26 & 3,2 & 6,8 \\
13.01.1988 & 8,5 & 1,8 & 86 & 0,26 & 1,3 & 7,2 \\
20.01.1988 & 12,4 & 3,7 & 88 & 0,26 & 1,3 & 11,1 \\
27.01.1988 & 16 & 6,1 & 75 & 0,26 & 3,2 & 12,8 \\
03.02.1988 & 13,2 & 6,2 & 67 & 0,26 & 4,3 & 8,9 \\
10.02.1988 & 5 & 5,4 & 67 & 0,26 & 4,0 & 1,0 \\
17.02.1988 & 33 & 3,4 & 77 & 0,26 & 2,4 & 30,6 \\
24.02.1988 & 35,9 & 1,7 & 86 & 0,26 & 1,3 & 34,6 \\
02.03.1988 & 20,4 & 2,3 & 76 & 0,33 & 3,0 & 17,4 \\
09.03.1988 & 24,7 & 2,5 & 69 & 0,33 & 3,9 & 20,8 \\
16.03.1988 & 12,1 & 5,3 & 61 & 0,33 & 6,0 & 6,1 \\
23.03.1988 & 13,2 & 7,7 & 75 & 0,33 & 4,6 & 8,6 \\
30.03.1988 & 1,7 & 10,4 & 59 & 0,33 & 9,0 & -7,3 \\
06.04.1988 & 0 & 12,5 & 44 & 0,39 & 16,7 & -16,7 \\
13.04.1988 & 0,3 & 16,3 & 30 & 0,39 & 26,6 & -26,3 \\
20.04.1988 & 1 & 11,3 & 38 & 0,39 & 17,0 & -16,0 \\
27.04.1988 & 0,9 & 17,7 & 41 & 0,39 & 24,5 & -23,6 \\
04.05.1988 & 0 & 18,4 & 36 & 0,39 & 27,8 & -27,8 \\
11.05.1988 & 0 & 22,2 & 34 & 0,39 & 36,3 & -36,3 \\
18.05.1988 & 0,3 & 15,9 & 47 & 0,39 & 19,7 & -19,4 \\
25.05.1988 & 8,4 & 20,9 & 59 & 0,39 & 20,8 & -12,4 \\
01.06.1988 & 41,2 & 17,8 & 64 & 0,37 & 14,3 & 26,9 \\
08.06.1988 & 18,7 & 18,2 & 67 & 0,37 & 13,4 & 5,3 \\
15.06.1988 & 0 & 21,2 & 45 & 0,37 & 27,0 & -27,0 \\
22.06.1988 & 22,6 & 18,8 & 72 & 0,37 & 11,8 & 10,8 \\
29.06.1988 & 41,9 & 21,9 & 63 & 0,37 & 18,9 & 23,0 \\
06.07.1988 & 25,1 & 22 & 55 & 0,35 & 21,9 & 3,2 \\
13.07.1988 & 34,9 & 19,4 & 63 & 0,35 & 15,4 & 19,5 \\
20.07.1988 & 17,3 & 25,8 & 52 & 0,35 & 29,4 & -12,1 \\
27.07.1988 & 12,3 & 20,8 & 52 & 0,35 & 21,7 & -9,4 \\
03.08.1988 & 1,2 & 21,6 & 56 & 0,33 & 19,7 & -18,5 \\
10.08.1988 & 0 & 25,2 & 46 & 0,33 & 30,1 & -30,1 \\
17.08.1988 & 2,1 & 21 & 54 & 0,33 & 19,9 & -17,8 \\
24.08.1988 & 9,2 & 18,9 & 69 & 0,33 & 11,8 & -2,6 \\
31.08.1988 & 7,4 & 18,9 & 58 & 0,33 & 15,9 & -8,5 \\
07.09.1988 & 6,9 & 18,3 & 56 & 0,31 & 15,1 & -8,2 \\
14.09.1988 & 2,7 & 15,3 & 69 & 0,31 & 8,8 & -6,1 \\
21.09.1988 & 7,9 & 16,5 & 65 & 0,31 & 10,7 & -2,8 \\
28.09.1988 & 1,2 & 16,4 & 50 & 0,31 & 15,2 & -14,0 \\
05.10.1988 & 12,8 & 14 & 63 & 0,26 & 8,1 & 4,7 \\
12.10.1988 & 2,9 & 14,3 & 83 & 0,26 & 3,8 & -0,9 \\
19.10.1988 & 1,8 & 10,9 & 66 & 0,26 & 6,1 & -4,3 \\
26.10.1988 & 2,6 & 9,1 & 61 & 0,26 & 6,2 & -3,6 \\
\bottomrule
\end{longtable}

\end{document}

Gruß
Marco

Bilbo
12-04-2009, 15:09
Jo, jetzt funktioniert es. Wieso muss es vor longtable stehen?

Mal eine andere Frage: Was bedeutet die Notation {@{}L*{5}{l}R@{}} ? Nicht das ich das bis heute wirklich verstanden habe. Kann man das irgendwo mal nachlesen? Ich muss das mal verstanden haben. Ist ja nicht unwichtig für Tabellen.

Und noch etwas: Wie vergrößere ich den linken und rechten Rand von Tabellen mit booktabs? Sprich wie bekomme ich noch einen tabulator vor bzw. hinter den Text, damit es nicht so abgeschnitten aussieht wie jetzt.

mechanicus
12-04-2009, 15:23
Jo, jetzt funktioniert es. Wieso muss es vor longtable stehen?

Aus dem selben Grund, warum es vor tabular steht.;)
Du willst die Anweisungen ja für eine Tabelle haben, also muss es vor der Tabelle deklariert werden.


Was bedeutet die Notation {@{}L*{5}{l}R@{}} ? Nicht das ich das bis heute wirklich verstanden habe. Kann man das irgendwo mal nachlesen? Ich muss das mal verstanden haben. Ist ja nicht unwichtig für Tabellen.
Werbung an:
Ich habe das Buch von Herbert Voss: Tabellen in Latex und ich finde es nicht schlecht
Werbung aus.
Was bedeutet es nun:
Zwischen zwei Tabellenspalten kannst du dir ja mal eine vertikale Linie machen. Der Text in der Linke bzw. rechten Spalte von der Linie, werden diese Linie nie erreichen. Hier gibt es immer den Abstand tabcolsep. Willst du Aber den Abstand nicht (meist zum Anfang bzw. Ende einer Tabelle) musst due tabcolsep verändern. Am einfachsten geht das mit @{}.
Bsp:

\documentclass{article}
\parindent0pt
\begin{document}
\begin{tabular}{|l|l|}
text & text \\
text & text \\
\end{tabular}

\begin{tabular}{|@{}l|l@{}|}
text & text \\
text & text \\
\end{tabular}

\end{document}

Die Anweisung *{5}{l} ist dir klar.




Und noch etwas: Wie vergrößere ich den linken und rechten Rand von Tabellen mit booktabs? Sprich wie bekomme ich noch einen tabulator vor bzw. hinter den Text, damit es nicht so abgeschnitten aussieht wie jetzt.
Hier verstehe ich nicht, was du möchtest.

Gruß
Marco

Bilbo
12-04-2009, 15:40
Hier verstehe ich nicht, was du möchtest.

Ich möchte einfach, dass die horizontalen Linien der Tabelle noch etwas weiter rausragen als der Text.

mechanicus
12-04-2009, 15:59
Hallo,

das start so:

\begin{longtable}[c]{L*{5}{l}R}

Gruß
Marco

Bilbo
12-04-2009, 19:39
Weist du wie ich importierte Tabellen als *.csv mittels pgfplotstable über mehere Seiten darstellen lassen kann wie mit longtable?

Leider bekomme ich kein Minimalbeispiel hin, welches ohne Fehlermeldungen läuft. Funktioniert komischerweise nur in meinem langen Dokument.

Bilbo
12-04-2009, 19:46
Ich poste mal einfach den Code meiner Tabelle:



\begin{center}
\pgfkeys{/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=4,
use comma,
set thousands separator={}
}

\pgfplotstabletypesetfile[
column type=l,
columns={Spalte1,Spalte2,Spalte3,Spalte4,Spalte5},
every odd row/.style={
before row={\rowcolor[gray]{0.9}}},
every head row/.style={
before row=\toprule,after row=\midrule},
every last row/.style={
after row=\bottomrule},
]
{col sep=comma}{test.csv}
\end{center}


In der test.csv stehen hunderte von Zeilen an Daten.

Funktioniert soweit ganz gut, bis auf folgendes:

- Tabelle geht nicht über mehrere Seiten
- der Header der Tabelle lässt sich nicht mit Farbe hinterlegen
- ich möchte eine Tabellenüberschrift erzeugen (caption)

mechanicus
12-04-2009, 20:16
Hallo,

ich glaube du kannst so keine longtable erzeugen. Das Paket datatool kann das.

Gruß
Marco

Bilbo
12-04-2009, 20:20
Denke ich nämlich auch. Das Paket datatool kannte ich noch nicht. Sieht richtig kompliziert aus:rolleyes:

mechanicus
12-04-2009, 20:43
Denke ich nämlich auch. Das Paket datatool kannte ich noch nicht. Sieht richtig kompliziert aus:rolleyes:
Hier mal ein Minimalbeispiel:

\documentclass[12pt,ngerman]{scrreprt}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{longtable}
\usepackage{datatool}
\usepackage{xkeyval}
\usepackage{filecontents}
\begin{filecontents*}{Daten.csv}
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
\end{filecontents*}
\DTLloaddb{Liste}{Daten.csv}


\begin{document}
\chapter{foo}

\DTLdisplaylongdb[caption={Test}]{Liste}

\end{document}

Gruß
Marco

mechanicus
12-04-2009, 20:50
Hallo,

wäre es vielleicht nicht einfacher, die csv mit OO-Calc zu öffnen und dann mittels calc to Latex die Sachen zu exportieren. Den letzten Feinschliff, kannst du ja dann direkt in Latex machen.

Gruß
Marco

Bilbo
12-04-2009, 21:10
Es soll wie hier aussehen:



\documentclass{scrreprt}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
\usepackage{floatrow}
\floatsetup[table]{style=plaintop}

\begin{document}

{
\newcolumntype{L}{>{\columncolor{white}[\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors*{2}{gray!30}{white}
\begin{longtable}[c]{L*{5}{l}R}
\caption[test]{Datensatz für die Aufgabe 1 und 2.} \\
\label{tbl:datensatz} \\
\toprule
\rowcolor[gray]{.8}
\textbf{Datum} & 1 & 2 & 3 & 4 & 5 & 6 \\
\midrule
\endfirsthead
\toprule
\rowcolor[gray]{.8}
\textbf{Datum} & 1 & 2 & 3 & 4 & 5 & 6 \\
\midrule
\endhead
04.11.1987 & 2,9 & 7,6 & 80 & 0,26 & 2,9 & 0,0 \\
11.11.1987 & 22,5 & 8,4 & 82 & 0,26 & 2,7 & 19,8 \\
18.11.1987 & 43 & 6,1 & 88 & 0,26 & 1,5 & 41,5 \\
25.11.1987 & 3,3 & 4,6 & 82 & 0,26 & 2,1 & 1,2 \\
02.12.1987 & 0,3 & 0,2 & 80 & 0,26 & 1,7 & -1,4 \\
09.12.1987 & 1,7 & -1,5 & 87 & 0,26 & 1,0 & 0,7 \\
16.12.1987 & 33,1 & 6,8 & 92 & 0,26 & 1,1 & 32,0 \\
23.12.1987 & 7,2 & 6,6 & 84 & 0,26 & 2,1 & 5,1 \\
30.12.1987 & 18,8 & 8,5 & 77 & 0,26 & 3,5 & 15,3 \\
06.01.1988 & 10 & 5,8 & 75 & 0,26 & 3,2 & 6,8 \\
13.01.1988 & 8,5 & 1,8 & 86 & 0,26 & 1,3 & 7,2 \\
20.01.1988 & 12,4 & 3,7 & 88 & 0,26 & 1,3 & 11,1 \\
27.01.1988 & 16 & 6,1 & 75 & 0,26 & 3,2 & 12,8 \\
03.02.1988 & 13,2 & 6,2 & 67 & 0,26 & 4,3 & 8,9 \\
10.02.1988 & 5 & 5,4 & 67 & 0,26 & 4,0 & 1,0 \\
17.02.1988 & 33 & 3,4 & 77 & 0,26 & 2,4 & 30,6 \\
24.02.1988 & 35,9 & 1,7 & 86 & 0,26 & 1,3 & 34,6 \\
02.03.1988 & 20,4 & 2,3 & 76 & 0,33 & 3,0 & 17,4 \\
09.03.1988 & 24,7 & 2,5 & 69 & 0,33 & 3,9 & 20,8 \\
16.03.1988 & 12,1 & 5,3 & 61 & 0,33 & 6,0 & 6,1 \\
23.03.1988 & 13,2 & 7,7 & 75 & 0,33 & 4,6 & 8,6 \\
30.03.1988 & 1,7 & 10,4 & 59 & 0,33 & 9,0 & -7,3 \\
06.04.1988 & 0 & 12,5 & 44 & 0,39 & 16,7 & -16,7 \\
13.04.1988 & 0,3 & 16,3 & 30 & 0,39 & 26,6 & -26,3 \\
20.04.1988 & 1 & 11,3 & 38 & 0,39 & 17,0 & -16,0 \\
27.04.1988 & 0,9 & 17,7 & 41 & 0,39 & 24,5 & -23,6 \\
04.05.1988 & 0 & 18,4 & 36 & 0,39 & 27,8 & -27,8 \\
11.05.1988 & 0 & 22,2 & 34 & 0,39 & 36,3 & -36,3 \\
18.05.1988 & 0,3 & 15,9 & 47 & 0,39 & 19,7 & -19,4 \\
25.05.1988 & 8,4 & 20,9 & 59 & 0,39 & 20,8 & -12,4 \\
01.06.1988 & 41,2 & 17,8 & 64 & 0,37 & 14,3 & 26,9 \\
08.06.1988 & 18,7 & 18,2 & 67 & 0,37 & 13,4 & 5,3 \\
15.06.1988 & 0 & 21,2 & 45 & 0,37 & 27,0 & -27,0 \\
22.06.1988 & 22,6 & 18,8 & 72 & 0,37 & 11,8 & 10,8 \\
29.06.1988 & 41,9 & 21,9 & 63 & 0,37 & 18,9 & 23,0 \\
06.07.1988 & 25,1 & 22 & 55 & 0,35 & 21,9 & 3,2 \\
13.07.1988 & 34,9 & 19,4 & 63 & 0,35 & 15,4 & 19,5 \\
20.07.1988 & 17,3 & 25,8 & 52 & 0,35 & 29,4 & -12,1 \\
27.07.1988 & 12,3 & 20,8 & 52 & 0,35 & 21,7 & -9,4 \\
03.08.1988 & 1,2 & 21,6 & 56 & 0,33 & 19,7 & -18,5 \\
10.08.1988 & 0 & 25,2 & 46 & 0,33 & 30,1 & -30,1 \\
17.08.1988 & 2,1 & 21 & 54 & 0,33 & 19,9 & -17,8 \\
24.08.1988 & 9,2 & 18,9 & 69 & 0,33 & 11,8 & -2,6 \\
31.08.1988 & 7,4 & 18,9 & 58 & 0,33 & 15,9 & -8,5 \\
07.09.1988 & 6,9 & 18,3 & 56 & 0,31 & 15,1 & -8,2 \\
14.09.1988 & 2,7 & 15,3 & 69 & 0,31 & 8,8 & -6,1 \\
21.09.1988 & 7,9 & 16,5 & 65 & 0,31 & 10,7 & -2,8 \\
28.09.1988 & 1,2 & 16,4 & 50 & 0,31 & 15,2 & -14,0 \\
05.10.1988 & 12,8 & 14 & 63 & 0,26 & 8,1 & 4,7 \\
12.10.1988 & 2,9 & 14,3 & 83 & 0,26 & 3,8 & -0,9 \\
19.10.1988 & 1,8 & 10,9 & 66 & 0,26 & 6,1 & -4,3 \\
26.10.1988 & 2,6 & 9,1 & 61 & 0,26 & 6,2 & -3,6 \\
\bottomrule
\end{longtable}
}

\end{document}


Nur halt, dass man die Daten importiert. Sprich selbe Farben und der Tabellenkopf soll auf jeder Seite erscheinen.

mechanicus
12-04-2009, 22:00
Hallo,

so nun habe ich es:

\documentclass[12pt,ngerman]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
% \usepackage{floatrow}
% \floatsetup[table]{style=plaintop}


\usepackage{datatool}
\usepackage{filecontents}
\begin{filecontents*}{Daten.csv}
Zeins,Zwei,Zdrei
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
\end{filecontents*}
\DTLloaddb{Liste}{Daten.csv}

% \DTLiffirstrow{\\}{\\}\DTLifoddrow{\rowcolor{gray! 30}}{\rowcolor{white}}
\begin{document}
\newcolumntype{L}{>{\columncolor{white}[\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors*{2}{white}{gray!30}
\begin{longtable}[c]{L*{1}{l}R}
\caption{Test}\\\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endfirsthead
\caption*{Test}\\\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endhead
\DTLforeach{Liste}{\Zeins=Zeins,\Zwei=Zdrei,\Zdrei =Zdrei}{\Zeins & \Zwei & \Zdrei \\}
\end{longtable}

\end{document}

Hoffe das gefällt dir.

Gruß
Marco

Bilbo
12-04-2009, 22:16
Sieht sehr gut aus, Marco :)

Allerdings steht auf jeder Seite die caption. Diese soll aber nur zu Beginn vorkommen.

PS: Wieso befinden sich die Daten in der Präambel?

Geht hier nicht einfach der Befehl


%\DTLloaddb[headers={Zahl,Zahl,Zahl}]{Liste}{Daten.csv}

mechanicus
12-04-2009, 22:36
Allerdings steht auf jeder Seite die caption. Diese soll aber nur zu Beginn vorkommen.

Dann musst du in der longtable das caption* löschen.



PS: Wieso befinden sich die Daten in der Präambel?
Geht hier nicht einfach der Befehl

%\DTLloaddb[headers={Zahl,Zahl,Zahl}]{Liste}{Daten.csv}
Zahl,Zahl,Zah ist doch die Überschrift, die auf jeder Seite steht, dass musst du schon in der longtable selbst definieren.

Gruß
Marco

Bilbo
12-04-2009, 22:45
Dann musst du in der longtable das caption* löschen.

Wenn ich \caption*{Test}\\ lösche, dann erscheint am Ende der Tabelle eine halbe graue Zeile und die Farben sind umgekehrt. Die erste Zeile soll weiß sein, die zweite grau;)

mechanicus
12-04-2009, 23:32
Hallo,


\documentclass[12pt,ngerman]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
% \usepackage{floatrow}
% \floatsetup[table]{style=plaintop}


\usepackage{datatool}
\usepackage{filecontents}
\begin{filecontents*}{Daten.csv}
Zeins,Zwei,Zdrei
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
\end{filecontents*}
\DTLloaddb{Liste}{Daten.csv}

% \DTLiffirstrow{\\}{\\}\DTLifoddrow{\rowcolor{gray! 30}}{\rowcolor{white}}
\begin{document}
\newcolumntype{L}{>{\columncolor{white}[\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}

\begin{longtable}[c]{L*{1}{l}R}
\caption{Test}\\\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endfirsthead
\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endhead
\DTLforeach{Liste}{\Zeins=Zeins,\Zwei=Zdrei,\Zdrei =Zdrei}{\Zeins & \Zwei & \Zdrei \\\DTLifoddrow{\rowcolor{gray!30}}{}}
\end{longtable}

\end{document}
Dann so.
:D:D

Gruß
Marco

Bilbo
12-04-2009, 23:43
Fast perfekt :D

Du hast unter jeder Zeile mittig eine kleine Verdickung, als wäre dort eine zusätzliche Linie. Sieht man sowohl im PDF als auch im Ausdruck.

mechanicus
13-04-2009, 00:00
Hallo,

neuer Versuch:

\documentclass[12pt,ngerman]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
% \usepackage{floatrow}
% \floatsetup[table]{style=plaintop}


\usepackage{datatool}
\usepackage{filecontents}
\begin{filecontents*}{Daten.csv}
Zeins,Zwei,Zdrei
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
\end{filecontents*}
\DTLloaddb{Liste}{Daten.csv}

\begin{document}
\newcolumntype{L}{>{\columncolor{white}[\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors{7}{white}{gray!20}
\begin{longtable}[c]{L*{1}{l}R}
\caption{Test}\\\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endfirsthead
\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endhead
\DTLforeach{Liste}{\Zeins=Zeins,\Zwei=Zdrei,\Zdrei =Zdrei}{\DTLiffirstrow{}{\\}\Zeins & \Zwei & \Zdrei }
\end{longtable}

\end{document}
auch wenn ich gestehen muss, dass ich es nicht sehe.:p

Gruß
Marco

Bilbo
13-04-2009, 00:06
ich war schon kurz davor bingo zu schreiben. jetzt ist wieder das problem mit der letzten zeile. so nah dran :D

mechanicus
13-04-2009, 00:16
ich war schon kurz davor bingo zu schreiben. jetzt ist wieder das problem mit der letzten zeile. so nah dran :D

Das schaffen wir noch. Also bei mir ist das Problem nicht, mir der letzten Zeile. Habe noch bottomrule eingefügt:

\documentclass[12pt,ngerman]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
% \usepackage{floatrow}
% \floatsetup[table]{style=plaintop}


\usepackage{datatool}
\usepackage{filecontents}
\begin{filecontents*}{Daten.csv}
Zeins,Zwei,Zdrei
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
\end{filecontents*}
\DTLloaddb{Liste}{Daten.csv}

\begin{document}
\newcolumntype{L}{>{\columncolor{white}[\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors{7}{white}{gray!20}
\begin{longtable}[c]{L*{1}{l}R}
\caption{Test}\\\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endfirsthead
\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endhead
\bottomrule\endfoot
\DTLforeach{Liste}{\Zeins=Zeins,\Zwei=Zdrei,\Zdrei =Zdrei}{\DTLiffirstrow{}{\\}\Zeins & \Zwei & \Zdrei }
\end{longtable}

\end{document}
Gruß
Marco

Bilbo
13-04-2009, 00:22
Immer noch da. Ich suche den Fehler morgen :)

Bilbo
13-04-2009, 10:24
\documentclass[12pt,ngerman]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
% \usepackage{floatrow}
% \floatsetup[table]{style=plaintop}


\usepackage{datatool}
\usepackage{filecontents}
\begin{filecontents*}{Daten.csv}
Zeins,Zwei,Zdrei
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
1,10,0
2,12,0
3,14,0
4,16,0
5,18,0
6,20,0
7,22,0
8,24,0
\end{filecontents*}
\DTLloaddb{Liste}{Daten.csv}

\begin{document}
\newcolumntype{L}{>{\columncolor{white}[\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors{7}{white}{gray!20}
\begin{longtable}[c]{L*{1}{l}R}
\caption{Test}\\\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endfirsthead
\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endhead
\DTLforeach{Liste}{\Zeins=Zeins,\Zwei=Zdrei,\Zdrei =Zdrei}{\DTLiffirstrow{}{\\}\Zeins & \Zwei & \Zdrei }
\end{longtable}

\end{document}

Die Version hier ist übrigens fehlerfrei, bis auf das die Farben der Zeilen (weiß/grau) andersrum sollen, sprich Zeile 1 ist weiß.

mechanicus
13-04-2009, 10:27
Die Version hier ist übrigens fehlerfrei, bis auf das die Farben der Zeilen (weiß/grau) andersrum sollen, sprich Zeile 1 ist weiß.
Da fällt es wahrscheinlich nicht auf, weil die letzte halbe Zeile weiß ist. Bei meinem obigen Beispiel funktioniert es super. Bei dir scheinbar nicht :mad: , wann hast du zuletzt ein Update gemacht?

Gruß
Marco

voss
13-04-2009, 10:40
Immer noch da. Ich suche den Fehler morgen :)

hst du am Ende deiner DAten zufällig so etwas, also eine "Leer-Datenzeile, nur
die beiden Kommata?


[...]
7,22,0
8,24,0
, ,

Herbert

Bilbo
13-04-2009, 15:03
Da fällt es wahrscheinlich nicht auf, weil die letzte halbe Zeile weiß ist. Bei meinem obigen Beispiel funktioniert es super. Bei dir scheinbar nicht :mad: , wann hast du zuletzt ein Update gemacht?


Doch es funktioniert. Habe sogar noch eine Zeile hinzugefügt. Die Tabelle wird korrekt abgeschlossen. Nur die Farben sind noch falsch rum.

Übrigens hätte ich gerne, dass Dezimalstellen mit einem Komma statt Punkt angezeigt werden. Während man das mit pgfplotstable leicht umstellen konnte finde ich dazu nichts in der datatool Anleitung.


hst du am Ende deiner DAten zufällig so etwas, also eine "Leer-Datenzeile, nur
die beiden Kommata?


[...]
7,22,0
8,24,0
, ,

nein;)

mechanicus
13-04-2009, 16:01
Hallo,

jetzt aber:

\documentclass[12pt,ngerman]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage{ltcaption}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[margin=10pt,font={scriptsize,rm},labelfont=bf,form at=plain,labelsep=endash]{caption}
% \usepackage{floatrow}
% \floatsetup[table]{style=plaintop}


\usepackage{datatool}
\usepackage{filecontents}
\begin{filecontents*}{Daten.csv}
Zeins;Zwei;Zdrei
1;10,5;0
2;12,5;0
3;14,6;0
4;16,7;0
5;18,7;0
6;20;0
7;22;0
8;24;0
1;10;0
2;12;0
3;14;0
4;16;0
5;18;0
6;20;0
7;22;0
8;24;0
1;10;0
2;12;0
3;14;0
4;16;0
5;18;0
6;20;0
7;22;0
8;24;0
1;10;0
2;12;0
3;14;0
4;16;0
5;18;0
6;20;0
7;22;0
8;24;0
1;10;0
2;12;0
3;14;0
4;16;0
5;18;0
6;20;0
7;22;0
8;24;0
1;10;0
2;12;0
3;14;0
4;16;0
5;18;0
6;20;0
7;22;0
8;24;0
1;10;0
2;12;0
3;14;0
4;16;0
5;18;0
6;20;0
7;22;0
8;24;0
1;10;0
2;12;0
3;14;0
4;16;0
5;18;0
6;20;0
7;22;0
8;24;0
\end{filecontents*}
\DTLsetseparator{;}\DTLsetnumberchars{}{,}\DTLload db{Liste}{Daten.csv}
\begin{document}
\newcolumntype{L}{>{\columncolor{white}[\tabcolsep]}l}
\newcolumntype{R}{>{\columncolor{white}[\tabcolsep]}l}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\renewcommand{\arraystretch}{1.2}
\rowcolors{7}{gray!20}{white}

\begin{longtable}[c]{L*{1}{l}R}
\caption{Test}\\\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endfirsthead
\toprule\rowcolor[gray]{.8} Zahl&Zahl&Zahl\\\midrule\endhead
\bottomrule\endfoot
\DTLforeach{Liste}{\Zeins=Zeins,\Zwei=Zwei,\Zdrei= Zdrei}{\DTLiffirstrow{}{\\}\Zeins & \Zwei & \Zdrei }
\end{longtable}

\end{document}

folgende Änderungen:
\rowcolors: Farben gedreht,
datatool: Daten mit Simikolon getrennt und innerhalb ein Koma gesetzt.

Gruß
Marco

Bilbo
13-04-2009, 16:58
datatool: Daten mit Simikolon getrennt und innerhalb ein Koma gesetzt.

Ich denke das geht mit
\DTLsetnumberchars, habe aber noch nicht raus wie es funktioniert.

mechanicus
13-04-2009, 17:14
Ich denke das geht mit
\DTLsetnumberchars, habe aber noch nicht raus wie es funktioniert.
Ich auch nicht ;)

Bilbo
13-04-2009, 18:19
Ich denke es kann auch als Punkt stehen bleiben. Ist ja in den Naturwissenschaften eine häufige Wahl der Darstellung selbst in Deutschland.

Problem ist nur, dass das Kompilieren jetzt ewig dauert. Überall werden Anker gesetzt (define anchor at line xxx). Was auch immer das heißt...