1. Wie lässt sich die weiße horizontale Linie durch die mit rotatebox formatierten Spaltenüberschriften entfernen?
  2. Wie lässt sich außerdem die Darstellung der Linien im Ergebnis optimieren? Je nach Zoom-Stufe im PDF sind nicht immer alle Linien sichtbar. Dies ist am Bildschirm sehr unschön anzusehen.
  3. Lässt sich das Einfärben der Zellen sinnvoller/cleverer coden?

Bezüglich der gedrehten Spaltentitel habe ich mich an diesem Beispiel orientiert: How to make TeX fit rotated text into table cell?

Oder habe ich mich verrannt und mein gewünschtes Ergebnis lässt sich viel einfacher erzielen?

Open in Online-Editor
\documentclass{scrartcl}

\usepackage[ngerman]{babel}             
\usepackage[T1]{fontenc}        
\usepackage[utf8]{inputenc}         
\usepackage{graphicx,tabu,booktabs,multirow,colortbl}

%%% Abstände
\renewcommand{\arraystretch}{1.3}   % Zeilenabstand
\setlength{\aboverulesep}{0pt}      % Abstand über Linien
\setlength{\belowrulesep}{0pt}      % Abstand unter Linien

%%% Farben
\definecolor{tabheadcolor}{cmyk}{.1,.04,0,.04}  % Spaltenüberschriften

\begin{document}

\setbox1\hbox{Zielerreichung}
\setbox2\hbox{Detailgrad}
\setbox3\hbox{Kausalität}
\setbox4\hbox{Objektivität}
\setbox5\hbox{Handhabbarkeit}
\setbox6\hbox{Durchführbarkeit}
\begin{tabu} to \textwidth {|X[.7,c]|X[15,l]|*6{X[1,c]|}}
    \cmidrule[0.08em]{3-8}
      \multicolumn{2}{c|}{}
    & \cellcolor{tabheadcolor}\rule{0pt}{\dimexpr\wd1-\normalbaselineskip}
    & \cellcolor{tabheadcolor}\rule{0pt}{\dimexpr\wd2-\normalbaselineskip}
    & \cellcolor{tabheadcolor}\rule{0pt}{\dimexpr\wd3-\normalbaselineskip}
    & \cellcolor{tabheadcolor}\rule{0pt}{\dimexpr\wd4-\normalbaselineskip}
    & \cellcolor{tabheadcolor}\rule{0pt}{\dimexpr\wd5-\normalbaselineskip}
    & \cellcolor{tabheadcolor}\rule{0pt}{\dimexpr\wd6-\normalbaselineskip}\\
      \cmidrule[0.08em]{1-2}
      \cellcolor{tabheadcolor}\#
    & \cellcolor{tabheadcolor}Methode
    & \cellcolor{tabheadcolor}\rotatebox{90}{\rlap{\usebox1}}
    & \cellcolor{tabheadcolor}\rotatebox{90}{\rlap{\usebox2}}
    & \cellcolor{tabheadcolor}\rotatebox{90}{\rlap{\usebox3}}
    & \cellcolor{tabheadcolor}\rotatebox{90}{\rlap{\usebox4}}
    & \cellcolor{tabheadcolor}\rotatebox{90}{\rlap{\usebox5}}
    & \cellcolor{tabheadcolor}\rotatebox{90}{\rlap{\usebox6}}\\
    \midrule
    \rowcolor{white}
    1   & \textit{Klassische Anlagenanalyse}
        & 2 & 3 & 4 & 2 & 4 & 3\\
    \midrule
    \rowcolor{white}
    2   & \textit{Overall Equipment Effectiveness (OEE)}
        & 3 & 1 & 2 & 2 & 3 & 2\\
    \bottomrule
\end{tabu}

\end{document}

alt text

gefragt 09 Aug '15, 09:38

Mischer's gravatar image

Mischer
13113
Akzeptiert-Rate: 0%

bearbeitet 09 Aug '15, 09:49


  • Benutze nicht das Paket tabu; es wird nicht mehr vom Autor gepflegt.
  • Benutze eine X-Spalte nur, wenn du sie auch brauchst.
  • Linien und Farben sind ungünstig; entscheide dich für "entweder oder".
  • Dass PDF-Viewer Probleme mit der Genauigkeiten haben, kannst du nicht ändern.

Ansonsten: Setze zwei Tabellen nebeneinander, denen du die Option [b] mitgibst:

Open in Online-Editor
\documentclass{scrartcl}
\usepackage[table]{xcolor}
\usepackage{graphicx,array,booktabs}
\renewcommand{\arraystretch}{1.3}   % Zeilenabstand
\setlength{\aboverulesep}{0pt}      % Abstand über Linien
\setlength{\belowrulesep}{0pt}      % Abstand unter Linien
\newcommand\rotbox[1]{\rotatebox{90}{#1 }}
%%% Farben
\definecolor{tabheadcolor}{cmyk}{.1,.04,0,.04}  % Spaltenüberschriften    
\begin{document}

\begin{tabular}[b]{|c|>{\itshape}l}\midrule
\rowcolor{tabheadcolor}
\#  & \upshape Methode                     \\\midrule
1   & Klassische Anlagenanalyse            \\\midrule
2   & Overall Equipment Effectiveness (OEE)\\\bottomrule
\end{tabular}%
\begin{tabular}[b]{|*6{c|}}\midrule
\rowcolor{tabheadcolor}
\rotbox{Zielerreichung} & \rotbox{Detailgrad} & \rotbox{Kausalität}
    & \rotbox{Objektivität} & \rotbox{Handhabbarkeit} & \rotbox{Durchführbarkeit}\\\midrule
 2 & 3 & 4 & 2 & 4 & 3\\\midrule
 3 & 1 & 2 & 2 & 3 & 2\\
\bottomrule
\end{tabular}

\end{document}

alt text

Bei unterschiedlichen Zeilenhöhen der beiden Tabellen, kannst du auch mit \strut arbeiten, was einer nicht-sichtbaren Linie der Höhe und Tiefe einer Klammer entspricht.

Soll die Tabelle, die ja aus zwei nebeneinanderliegenden besteht, dennoch auf Zeilenbreite gebracht werden, so ist es nicht mehr ganz so einfach. Bei der folgenden Lösung packe ich beide tabularx in eine Tabelle, die den Splatenoperator b (bottom) verwendet. Damit das funktioniert, muss ich TeX mit \vspace{0pt} eine Zeile der Höhe 0pt "vorgaukeln", damit daran die beiden Tabellen ausgerichtet werden können.

Open in Online-Editor
\documentclass[parskip=half-]{scrartcl}
\usepackage[table]{xcolor}
\usepackage{graphicx,tabularx,booktabs,ragged2e}
\renewcommand{\arraystretch}{1.3}   % Zeilenabstand
\setlength{\aboverulesep}{0pt}      % Abstand über Linien
\setlength{\belowrulesep}{0pt}      % Abstand unter Linien
\newcommand\rotbox[1]{\rotatebox{90}{#1 }}
%%% Farben
\definecolor{tabheadcolor}{cmyk}{.1,.04,0,.04}  % Spaltenüberschriften

\begin{document}

\hrulefill Zeilenbreite\hrulefill

\begin{tabular}{@{} b{0.6\textwidth} @{} b{0.4\textwidth} @{}}
\begin{tabularx}{\linewidth}{|c|>{\itshape}X}\midrule
\rowcolor{tabheadcolor}
\#  & \upshape Methode                     \\\midrule
1   & Klassische Anlagenanalyse            \\\midrule
2   & Overall Equipment Effectiveness (OEE)\\\bottomrule
\end{tabularx}\vspace{0pt}
&
\begin{tabularx}{\linewidth}{|*6{>{\Centering}X|}}\midrule
\rowcolor{tabheadcolor}
\rotbox{Zielerreichung} & \rotbox{Detailgrad} & \rotbox{Kausalität}
    & \rotbox{Objektivität} & \rotbox{Handhabbarkeit} & \rotbox{Durchführbarkeit}\\\midrule
 2 & 3 & 4 & 2 & 4 & 3\\\midrule
 3 & 1 & 2 & 2 & 3 & 2\\
\bottomrule
\end{tabularx}\vspace{0pt}
\end{tabular}

\end{document}

alt text

Permanenter link

beantwortet 09 Aug '15, 13:01

Herbert's gravatar image

Herbert
5.1k34
Akzeptiert-Rate: 31%

bearbeitet 10 Aug '15, 08:10

Danke für den Lösungsvorschlag und deine weiteren Anregungen, das passt schon sehr gut!

Eine ergänzende Frage: Wie kann ich die Gesamttabelle jetzt noch auf Textbreite strecken, wenn Spalte 2 ("Methode") die Füllspalte mit variabler Breite sein soll?

(10 Aug '15, 07:51) Mischer

Das geht nicht mit meinem Vorschlag nicht so einfach, weil es ja formal zwei Tabellen sind. Ich erweitere aber gleich meine Antwort.

(10 Aug '15, 07:56) Herbert

Funktioniert bestens, vielen Dank für deine Hilfe!

(11 Aug '15, 19:45) Mischer
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×256
×48
×2
×2

gestellte Frage: 09 Aug '15, 09:38

Frage wurde gesehen: 10,439 Mal

zuletzt geändert: 11 Aug '15, 19:45