Tabelle mit gedrehtem Inhalt in richtiger Länge darstellen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabelle mit gedrehtem Inhalt in richtiger Länge darstellen

von Phawi » Fr 12. Feb 2016, 00:17

haha :D
ich werde deine Bedenken auf jeden Fall bei einer Suche nach alternativen berücksichtigen, ansonsten danke für den Tipp mit dem \arraystretch

von Noch so einer » Do 11. Feb 2016, 11:45

Verstehe ich nicht. Was nützt es Dir wenn die Zellen rechts länger werden??? Oder meinst Du, dass die Zeilen höher werden sollen? Automatisch bekommst Du das nicht. Du kannst aber beispielsweise \arraystretch auf einen entsprechend hohen Wert einstellen. Bei der im Beispiel benötigten Höhe wird die schon jetzt hässliche Tabelle dann natürlich maximal hässlich.

von Phawi » Do 11. Feb 2016, 11:30

Hey noch so einer,
vielen lieben dank schonmal für deine Hilfe!

ich würde bei dem gedrehten Titel bleiben, da meine Tabelle sonst zu breit wird.

aber gibt es nicht eine Möglichkeit, dass der Titel nicht umgebrochen wird?
also meine Vorstellung war eigentlich so wie in meinem ersten Beispiel. Der Titel wird in einer Reihe durchgeschrieben, nur dass die Zellen rechts davon entsprechende länger werden dass das ins Feld passt.

Gruß
Phawi

von Noch so einer » Do 11. Feb 2016, 08:22

Das hast Du selbst so eingestellt. Mit \rlap sagst Du nämlich, dass der Text rechts so lang werden darf wie er will und auch nicht umbrochen werden soll. Wenn Du einen Umbruch im Text erlauben willst, dann musst Du eine Box verwenden, die einen solchen Umbruch explizit erlaubt. Außerdem musst Du dann sagen, wie breit diese Box (maximal) sein soll. Dafür bietet sich varwidth an:
\documentclass[captions=tableabove]{scrartcl}% KOMA-Script sagen, dass Tabellenüberschriften verwendet werden sollen! 
\usepackage{multirow} 
\usepackage{graphicx}% für \rotatebox
\usepackage{varwidth}
\newcommand\tabrotate[2][3]{\rotatebox{90}{\begin{varwidth}{#1\normalbaselineskip}#2\end{varwidth}}}



\begin{document} 

\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{ll|l|l|l|l|}
\cline{3-6}
                                                                       &                                         & \multicolumn{4}{l|}{Titel oben}                                                                                                                                          \\ \cline{3-6} 
                                                                       &                                         & 1 & 2 & 3 & 4 \\ \hline
  \multicolumn{1}{|l|}{\multirow{4}{*}{\tabrotate{\bfseries Titel links wird leider zu lang dar\-ge\-stellt}}} & 1      &                                  &                                                    &                                                    &                                             \\ \cline{2-6} 
\multicolumn{1}{|l|}{}                                                 & 2  &                                  &                                                    &                                                    &                                             \\ \cline{2-6} 
\multicolumn{1}{|l|}{}                                                 & 3 &                                  &                                                    &                                                    &                                             \\ \cline{2-6} 
\multicolumn{1}{|l|}{}                                                 & 4        &                                  &                                                    &                                                    &                                             \\ \hline
\end{tabular}
\end{table}

\end{document}
Übrigens profitieren Tabellen meist ganz enorm davon, wenn man die ganzen vertikalen Linien verlässt und auch die horizontalen Linien auf ein Mindestmaß reduziert. Da die Hauptleserichtung einer Tabelle nämlich horizontal ist und vertikale Linien diese Hauptleserichtung extrem stören, sind Tabellen ohne vertikale Linien normalerweise besser lesbar. Aus demselben Grund sollte man vertikalen Text auf ein absolut notwendiges Maß reduzieren und möglichst nur im Tabellenkopf aber nicht innerhalb der Tabellenzeilen verwenden – auch nicht am Anfang der Tabellenzeilen.

Daher:
\documentclass[captions=tableabove]{scrartcl} 
\usepackage{multirow} 
\usepackage{booktabs}

\begin{document} 

\begin{table}
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{llllll}
 & & \multicolumn{4}{l}{Titel oben}\\
 & & 1 & 2 & 3 & 4 \\ 
\midrule
\multirow{4}{5em}{Titel links wird leider zu lang dar\-ge\-stellt} & 1 & & &\\
 & 2 & & & & \\
 & 3 & & & & \\
 & 4 & & & & \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

Tabelle mit gedrehtem Inhalt in richtiger Länge darstellen

von Phawi » Mi 10. Feb 2016, 21:50

Hey Liebe Leute,
ich habe eine Tabelle, welche einen gedrehten Text enthält. Funktioniert soweit ganz gut :)
nur schießt der Text leider über die Zelle hinaus, habe schon mit \rule rumprobiert, aber damit irgendwie nichts anständiges hin bekommen. Jemand eine Idee?

Wär euch unendlich dankbar!

Gruß
Philipp


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



\begin{document} 



\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{ll|l|l|l|l|}
\cline{3-6}
                                                                       &                                         & \multicolumn{4}{l|}{Titel oben}                                                                                                                                          \\ \cline{3-6} 
                                                                       &                                         & 1 & 2 & 3 & 4 \\ \hline
  \multicolumn{1}{|l|}{\multirow{4}{*}{\tabrotate{\bfseries Titel links wird leider zu lang dargestellt}}} & 1      &                                  &                                                    &                                                    &                                             \\ \cline{2-6} 
\multicolumn{1}{|l|}{}                                                 & 2  &                                  &                                                    &                                                    &                                             \\ \cline{2-6} 
\multicolumn{1}{|l|}{}                                                 & 3 &                                  &                                                    &                                                    &                                             \\ \cline{2-6} 
\multicolumn{1}{|l|}{}                                                 & 4        &                                  &                                                    &                                                    &                                             \\ \hline
\end{tabular}
\end{table}





\end{document}

Nach oben