Problem mit diagbox in Kombination mit rotatebox Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


LatexNeuling

Problem mit diagbox in Kombination mit rotatebox

Beitrag von LatexNeuling »

Hallo Zusammen,

trotz längerer Suche habe ich bisher leider keine Lösung für folgendes Problem finden können.

Ich möchte eine Tabelle erstellen bei welcher die Überschriften in der erststen Tabellenzeile um 90 Grad gedreht sind, also vertikal stehen. Dazu benutze ich den Befehl \rotatebox{90}{Text}. Soweit so gut.

Zudem möchte ich das die erste Zelle der Tabelle durch eine diagonale Linie getrennt wird, wobei die Zelle die Überschriften für die Spalten bzw. Zeilen enthalten soll. Zu diesem Zweck verwende ich den Befehl \diagbox{Überschrift_1}{Überschrift_2}. Leider teilt die dadurch erzeugte Linie die Zelle nicht in zwei gleich große Hälften. Der Verusuch dies mit festen Werten für Höhe und Breite zu beheben führt dazu, dass die erste Zeile unnötig hoch wird.

Minimalbeispiel:
\documentclass{article}
\usepackage{tabularx}
\usepackage{diagbox}
\usepackage{rotating}

\begin{document}

\begin{tabularx}{\columnwidth}{X|c|c}
		  	\diagbox{ueberschrift1}{ueberschrift2}  & \rotatebox{90}{Spalte 1} 	& \rotatebox{90}{Spalte 2} \\  \hline
			Zeile 1 	& 	&  \\ \hline		
\end{tabularx}

\end{document}
bzw. mit dem Versuch die Höhe und Breite von \diagbox manuell anzupassen:
\documentclass{article}
\usepackage{tabularx}
\usepackage{diagbox}
\usepackage{rotating}

\begin{document}

\begin{tabularx}{\columnwidth}{X|c|c}
		  	\diagbox[width=10.5cm, height=2cm]{ueberschrift1}{ueberschrift2}  & \rotatebox{90}{Spalte 1} 	& \rotatebox{90}{Spalte 2} \\  \hline
			Zeile 1 	& 	&  \\ \hline		
\end{tabularx}

\end{document}
Wie man sieht wurde hier "Spalte 1" und "Spalte 2" weiter nach oben geschoben.

Danke schonmal für die Hilfe :-)

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Das liegt daran, dass deine erste Spalte des Typs X ist. Das bedeutet, die Spalte wird so groß, damit die Komplettbreite der Tabelle dem angegebenen Wert (in deinem Fall columnwidth) ist.
\documentclass{article}
\usepackage{tabularx}
\usepackage{diagbox}
\usepackage{rotating}

\begin{document}

\begin{tabularx}{.5\columnwidth}{X|c|c}
           \diagbox{ueberschrift1}{ueberschrift2}  & \rotatebox{90}{Spalte 1}    & \rotatebox{90}{Spalte 2} \\  \hline
         Zeile 1    &    &  \\ \hline      
\end{tabularx}

\end{document} 
Das wird eine sehr hässliche Tabelle werden. Schau doch mal in die Dokumentation des Pakets [url=www.ctan.org/pkg/booktabs]booktabs[url].

Versuchst du vielleicht die Tabelle für etwas anderes als Tabellen zu missbrauchen? Da würde sich bestimmt eine bessere Lösung finden.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten