- Die farbigen Spalten sprechen für das Paket `colortbl.sty`. <br>
- Für mehrseitige Tabellen gibt es das Paket `longtable.sty`. <br>
- `longtable.sty` stellt auch einen Automatismus bereits, der gewünschte Annotationen angibt, wenn eine Tabelle auf der folgenden Seite fortgesetzt wird bzw. fortzgesetzt wurde bzw. zu ende ist (dazu später noch eine Anmerkung).
- Eine automatische Zeilennummerierung kann man sich mit einem counter basteln oder man nimmt Werkzeuge von `pgfplotstable`.
- *In allen Fällen hat eine eine Zeilennummerierung der beschriebenen Art automatsiert zu werden! Sonst braucht man auch kein LaTeX verwenden.*
**Um alle oben genannten Sachen zu vereinen bietet sich das Paket `pgfplotstable` an, in das man die eingangs genannten Pakete hinzuzieht.**
*Das würde mir höchstens noch im Albtraum einfallen, bei derart komplizierten Ansprüchen Standard-LaTeX-Tabellen zu verwenden und mit Standard-LaTeX-Tabellen Syntax zu arbeiten (also besser `pgfplotstable` verwenden!)* <br>
Das heißt auch: <br>
*Ich würde auf gar keinen Fall irgendwelche längeren **Zellinhalte** in die Tabelle selbst reinschreiben (auch wenn das immer wieder gemacht wird und dann maximal unübersichtliche Beispiele präsentiert werden...), diese gehören ordentlicherweise in `\def`- bzw. `\newcommand`-Anweisungen, so dass die Tabelle selbst ein ganz einfaches Gerüst hat!*
<br>
**<big>`pgfplotstable`</big>**
<br>
- Eine **Indexspalte** kann man in der Form <br>
`create on use/IndexCol/.style = {%
create col/expr={int(\pgfplotstablerow+1)}},% Zeilen zählen` <br>
erzeugen. <br>
Der Text mit der Nummer der Tabelle, der da noch drumherum stehen soll, wird mit <br>
`postproc cell content/.append style={% Text ergänzen
/pgfplots/table/@cell content/.add={LS%
\ifnum\thetable<9{0\thetable.-}\else{\thetable.-}\fi% führende Null ergänzen
}{},
},`<br>
ergänzt.
- Bei Bedarf kann man auch lustige Spielchen machen und für die dritte Spalte <br>
`string replace={F}{Frühling}, string replace={S}{Sommer}` usw.<br>
festlegen. Dann wird aus "S" automatisch "Sommer", aus "H" automatisch "Herbst" usw.
**Jedenfalls sieht das dann irgendwie so aus:**
___
[![alt text][1]][2]
text][1]][1]
___
[![alt text][3]][4]
text][4]][5]
___
[![alt text][5]][6]
text][6]][7]
___
[![alt text][7]][8]
text][8]][9]
___
**Anmerkung**: Wegen diesem Automatismus für mehrseitige Tabellen (`longtabu`), habe ich es nicht geschafft, den Befehl `\rowcolor` (aus `colortbl`) für die Kopfzeile (`head row`) einzusetzen. <br>
Also musste ich die Kopfzeile hacken und dort `\cellcolor{<Farbe>}` reinschreiben. <br>
Das hatte allerdings den seltsamen Nebeneffekt, dass die Zellinhalt, also hier die `column names`, nicht mehr angenommen wurden. <br>
Naja, das ist nicht weiter schlimm (macht lediglich stutzig, weil das geht [normalerweise schon][9]), schon][10]), weil wenn der Zellinhalt eh schonmal gehackt ist, kann man dort auch gleich die `column names` reinschreiben...
**PS:** Auf diesen Kram mit "Tabellenbreite 15cm usw." lasse ich mich nicht ein (das kann leicht ergänzt werden). Ich habe stattdessen sinnvolle dynamische Maße, je nach Seitengeometrie (die -wie gesagt- leicht ergänzt werden kann - `\usepackage[...]{geometry}`) verwendet.
% arara: pdflatex
% arara: pdflatex
% arara: pdflatex
\documentclass[]{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä}, germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{microtype}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.13}
\usepackage{tabu}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{colortbl}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash }p{#1\textwidth}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1\textwidth}}
\newcolumntype{C}[1]{>{\raggedright\arraybackslash\centering}p{#1\textwidth}}
\colorlet{Kopfzeile}{gray!70}
\colorlet{SpaltenSonst}{lightgray}
\arrayrulecolor{white} % blue
\setlength\arrayrulewidth{1pt}
% Spaltennamen
\newcommand\A{Was \newcommand\A{\bfseries\centering Was ist zu tun}
\newcommand\B{Ausprägung}
\newcommand\C{AG}
\newcommand\D{AN}
\newcommand\B{\bfseries\centering Ausprägung}
\newcommand\C{\bfseries AG}
\newcommand\D{\bfseries AN}
% Indexspalte:
\pgfplotstableset{
create on use/IndexCol/.style = {%
create col/expr={int(\pgfplotstablerow+1)}},% Zeilen zählen
columns/IndexCol/.style={
postproc cell content/.append style={% Text ergänzen
/pgfplots/table/@cell content/.add={LS%
\ifnum\thetable<9{0\thetable.-}\else{\thetable.-}\fi% führende Null ergänzen
}{},
},
column type=L{0.1}|,
numeric type, % sonst komisches Zahlenformat
column type/.add={>{\columncolor{Kopfzeile}}}{},
% column name={Lfd.-Nr.},
},
}
% Weitere Spalten
\pgfplotstableset{
columns/0/.style = {
% column name=XXX, % kein Effekt...
column type=L{0.525}|,
column type/.add={>{\columncolor{SpaltenSonst}}}{},
},
columns/1/.style = {column type=L{0.15}|,
column type/.add={>{\columncolor{SpaltenSonst}}}{},
string replace={F}{Frühling},
string replace={S}{Sommer},
string replace={H}{Herbst},
string replace={W}{Winter},
},
columns/2/.style = {column type=L{0.075}|,
type=C{0.075}|,
column type/.add={>{\columncolor{SpaltenSonst}}}{},
},
columns/3/.style = {column type=L{0.075},
type=C{0.075},
column type/.add={>{\columncolor{SpaltenSonst}}}{},
},
}
% Long Table
\pgfplotstableset{string type, header=false,
LongTable/.style 2 args={%%%%%%%%%%%%%%%%
begin table={\begin{longtabu} %to 0.6\textwidth
},
end table={\end{longtabu}},
every first row/.style={
before row={\hline}
},
every head row/.style={
typeset cell/.code={%% head row hacken
\ifnum\pgfplotstablecol=\pgfplotstablecols%
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\cellcolor{Kopfzeile}\D ##1\\}%
\else%
\ifnum\pgfplotstablecol=1%
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\cellcolor{Kopfzeile} ##1 Lfd.-Nr. &}%
\else%
\ifnum\pgfplotstablecol=2%
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\cellcolor{Kopfzeile}\A ##1 &}%
\else%
\ifnum\pgfplotstablecol=3%
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\cellcolor{Kopfzeile}\B ##1 &}%
\else%
\ifnum\pgfplotstablecol=4%
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\cellcolor{Kopfzeile}\C ##1 &}%
\else%
\pgfkeyssetvalue{/pgfplots/table/@cell content}{ ##1 &}%
\fi\fi\fi\fi\fi%
},%%
before row={
#1 % für caption
%\rowcolor{red} % geht
\rowcolor{red}
%\caption{#1}\\
\endfirsthead
%\rowcolor{brown} % geht nicht
\midrule
\multicolumn{5}{c}{{\cellcolor{Kopfzeile} Tabelle \thetable\ Fortsetzung von vorheriger Seite}} \\
%\rowcolor{gray!90}
\bottomrule
%\rowcolor{red} % geht nicht
\endhead
\midrule
%\rowcolor{red} % geht nicht
\multicolumn{5}{r}{\cellcolor{Kopfzeile} Fortsetzung auf der nächsten Seite} \\
\bottomrule
% \rowcolor{orange} % geht
\endfoot
%\rowcolor{yellow} % geht nicht
\midrule
\multicolumn{5}{r}{\cellcolor{Kopfzeile} Ende von Tabelle \thetable} \\
\multicolumn{5}{l}{#2} \\ % Tabellenlegende
\bottomrule
\endlastfoot
},
},
},%%%%%%%%%%%%%%
every even row/.style={before row=\hline}, % horizontale Linien
every odd row/.style={before row=\hline}
}
\usepackage{mwe}
\begin{document}
% Inhalte
\def\Ii{Entgegenahme aller Wünsche zu Weihnachten 2018}
\def\Iii{Technische Vorbereitung
\begin{itemize}
\item erster Punkt
\item zweiter Punkt
\item dritter Punkt
\end{itemize}
}
% Tabelle
\pgfplotstabletypeset[
col sep=&,
columns={IndexCol,0,1,...,3},
LongTable=
{\caption{Caption auskommentieren, wenn unerwünscht}\label{tab:DataTable}\\}
{Tabellenlegende: auskommentieren, wenn unerwünscht},
]{
\Ii & W & X & Y/Z
\Iii & F & X & Y
a & S & Y & Y
a & H & Z & Z
a & W & X & Z
\lipsum[1] & 2 & 3 & 4
\lipsum[3] & 2 & 3 & 4
\lipsum[3] & 2 & 3 & 4
\lipsum[3] & 2 & 3 & 4
}
\end{document}
[1]: https://texwelt.de/wissen/upfiles/1_25.png
https://texwelt.de/wissen/upfiles/55555555_271.png
[2]: https://texwelt.de/wissen/upfiles/1_25.png
[3]: https://texwelt.de/wissen/upfiles/1a_1.png
https://texwelt.de/wissen/upfiles/1_25.png
[4]: https://texwelt.de/wissen/upfiles/1a_1.png
[5]: https://texwelt.de/wissen/upfiles/2_18.png
https://texwelt.de/wissen/upfiles/1a_1.png
[6]: https://texwelt.de/wissen/upfiles/2_18.png
[7]: https://texwelt.de/wissen/upfiles/3_6.png
https://texwelt.de/wissen/upfiles/2_18.png
[8]: https://texwelt.de/wissen/upfiles/3_6.png
[9]: https://texwelt.de/wissen/upfiles/3_6.png
[10]: https://tex.stackexchange.com/questions/338891/how-to-customize-rows-by-name-with-pgfplotstable/457011#457011