Wie kann ich den Text in einer Tabelle um 90 Grad drehen sodass er in einer Zelle Senkrecht steht? bzw. wie kann ich dann die Zellenhöhe dem Text anpassen? Danke

Open in writeLaTeX
\documentclass[preview,border=0pt]{standalone}
\usepackage{tikz}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{longtable}
\begin{document}
\begin{tabular}{|*{91}{l|}}

\multirow{2}{3cm}{\textbf{Spot}}
& \multirow{2}{3cm}{\textbf{Element}}
& \multirow{2}{3cm}{\textbf{Node}}
& \multirow{2}{3cm}{\textbf{Task}}
& \multicolumn{2}{c|}{\textbf{Utilisations}} 
& \multicolumn{2}{c|}{\textbf{Surface roughness}}
& \multicolumn{2}{c|}{\textbf{Section factors}}
& \multicolumn{2}{c|}{\textbf{Safety factors}}
\\ 
& & & abk & ask & RZ & npl,x & npl,y & npl,t & jd & jges & jm & jp \\ \hline

11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200 \\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200 \\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200 \\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200 \\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200  \\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200  \\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200  \\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200 \\ \hline 
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200  \\ \hline

\end{tabular}
\end{document}

alt text

gefragt 11 Sep '14, 15:59

Jeff's gravatar image

Jeff
51123
Akzeptiert-Rate: 0%

bearbeitet 16 Sep '14, 12:05

esdd's gravatar image

esdd
17.8k284257

1

@Jeff Ein Tipp: wenn Du es den Antwortenden leichter machst, indem Du eine kurze Beispieltabelle in einem minimalen übersetzbaren Dokument angibst, ist es so gut wie sicher, dass Du eine getestete funktionierende Lösung kriegst, die auch zur Beispieltabelle passt. Dann wäre es nicht so theoretisch. Es sei denn, Dir genügt eine theoretische Antwort wie "es ginge vmtl. mit rotatebox". ;-)

(11 Sep '14, 16:09) stefan ♦♦

Dafür bietet sich das Paket rotating an. Die Umsetzung hängt dann aber von der konkreten Tabelle ab. Mir ist jetzt auch nicht klar, welche Zellen alles gedreht werden sollen. Deshalb ist hier einfach mal ein Vorschlag, bei dem ich die zusätzlich benötigte Zellenhöhe in der ersten Zeile über den Befehl \addlinespace aus dem Paket booktabs einfüge.

Open in writeLaTeX
\documentclass[preview,border=5pt]{standalone}
\usepackage{booktabs}

\usepackage{rotating}
\newcommand\tabrotate[1]{\begin{turn}{90}\rlap{#1}\end{turn}}

\usepackage{varwidth}
\newcommand\tabvarwidth[2][3cm]{\begin{varwidth}[b]{#1}\centering #2\end{varwidth}}

\begin{document}
\begin{tabular}{*{13}{l}}
\toprule\addlinespace[1em]
&&&
\multicolumn{1}{c}{\textbf{Task}}&
\multicolumn{2}{c}{\tabvarwidth{\bfseries Utilisa-\\tions}}&
\multicolumn{2}{c}{\tabvarwidth{\bfseries Surface\\ roughness}}&
\multicolumn{2}{c}{\tabvarwidth{\bfseries Section\\ factors}}&
\multicolumn{2}{c}{\tabvarwidth{\bfseries Safety\\ factors}}
&\\
\cmidrule(rl){4-4}\cmidrule(rl){5-6}\cmidrule(rl){7-8}\cmidrule(rl){9-10}\cmidrule(rl){11-12}
\tabrotate{\bfseries Spot}&
\tabrotate{\bfseries Element}&
\tabrotate{\bfseries Node}&
 abk & ask & RZ & npl,x & npl,y & npl,t & jd & jges & jm & jp \\
\midrule
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\
\bottomrule
\end{tabular}
\end{document}

Ergebnis:

alt text


Alternative

Da an anderer Stelle der Wunsch geäußert wurde, in der Tabelle lediglich alle fetten Texte im Header zu drehen und den Rest möglichst so zu lassen, ist hier noch ein alternativer Vorschlag:

Open in writeLaTeX
\documentclass[preview,border=5pt]{standalone}

\usepackage{graphicx}
\newcommand\tabrotate[1]{\rotatebox{90}{#1\hspace{\tabcolsep}}}
\newcommand\verschiebung[1][-.75\normalbaselineskip]{\hspace{#1}}

\begin{document}
\begin{tabular}{|*{13}{l|}}
\tabrotate{\verschiebung \textbf{Spot}}&
\tabrotate{\verschiebung \textbf{Element}}&
\tabrotate{\verschiebung \textbf{Node}}&
\multicolumn{1}{c|}{\tabrotate{\textbf{Task}}}&
\multicolumn{2}{c|}{\tabrotate{\textbf{Utilisations}}}&
\multicolumn{2}{c|}{\tabrotate{\textbf{Surface roughness}}}&
\multicolumn{2}{c|}{\tabrotate{\textbf{Section factors}}}&
\multicolumn{2}{c|}{\tabrotate{\textbf{Safety factors}}}
&\\
&&&
 abk & ask & RZ & npl,x & npl,y & npl,t & jd & jges & jm & jp \\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
11 & 22 & 33 & 44 & 2& 55 & 66 & 77 & 88 & 99 & 100 & 200 & 200\\ \hline
\end{tabular}
\end{document}

mit dem aus meiner Sicht schon wegen der vielen Linien eher unschönen Ergebnis

alt text

Permanenter link

beantwortet 11 Sep '14, 18:30

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 16 Sep '14, 13:33

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

gestellte Frage: 11 Sep '14, 15:59

Frage wurde gesehen: 41,920 Mal

zuletzt geändert: 16 Sep '14, 13:33