Seite 1 von 1

Multirow eintrag mit vertikalem Text

Verfasst: Di 7. Jan 2014, 13:53
von FellowMartner
Hallo,

ich bin neu in Latex in scheitere an vermeintlichen Trivialitäten.
Ich möchte einen Tabelleneintrag machen, bestehend aus zwei Zeilen, in dem die ersten beiden Zellen beider Zeilen verschmelzen. Klassisches Multirow-Beispiel. Da der Text aber zu sehr in die Breite geht hätte ich den Zellentext gerne vertikal anstatt horizontal. Das krieg ich aber nicht hin. Die Multirow versteht nicht, dass der vertikal gedrehte Text deutlich länger is weswegen die Zellenbeschriftung häßlich über die Tabellengrenze tritt.
\begin{longtable}{c|c|r|r}
\multicolumn{2}{c|}{A} & Score & \#\\
\hline
\multirow{2}{*}{\begin{sideways}BBBBBBBB\end{sideways}}& Entry X & 0 & 0 \\
\hhline{~---} 
& Entry Y & 0 & 0\\
\hline
\caption{Results: Low Ambiguity Detectors on Prototypical Sentences}
\label{proSentLAC_statistics}
\end{longtable}
Aus Gründen die ich nicht kenne erlauben mir diverse Latex-Elemente (parbox, minipage, etc immer nur die Breite, aber nie di eHöhe des Elementes zu ändern)

Kann mir jemand sagen wie ich die 'BBBBBB' Wordsequenz so in die Tabellenzelle kriege das die Zelle den Text ordentlich umfasst, bzw. die Höhe der Multirow sich an der vertikalen Textlänge ausrichtet?

Verfasst: Di 7. Jan 2014, 15:25
von Stefan Kottwitz
Hier ist es ja gerade praktisch, dass Du den Text drehst: mit \parbox innerhalb der sideways-Umgebung kannst Du den Text in der Breite begrenzen, der ggf. umgebrochen wird. Durch das Drehen wird es automatisch zur Höhenbegrenzung.

Stefan

Verfasst: Di 7. Jan 2014, 19:59
von FellowMartner
Hallo,

ich hab befürchtet das es so funktionieren müsste. Tut es nicht. Der Text wird zwar gedreht, aber die Tabelle versteht einfach nicht das der Zelleninhalt des vertikalen Text deutlich höher ist als die Höhe der zwei Zeilen dahinter.
Wenn ich mehrere Zeilen mit "Entry _ &" hätte würde es irgendwann hoch genug werden, aber so funktioniert es nicht :/

Verfasst: Di 7. Jan 2014, 20:05
von esdd
Ein lauffähiges Minimalbeispiel erhöht sicher die Chance auf eine Antwort, da man Lösungsvorschläge daran auch testen kann.

Verfasst: Di 7. Jan 2014, 20:56
von FellowMartner
Oh sorry,

hier:
\documentclass{article}  
\usepackage{longtable}
\usepackage{array}
\usepackage{rotating}
\usepackage{hhline}
\usepackage{colortbl}
\usepackage{multirow}
\begin{document}  
\begin{longtable}{c|c|r|r} 

\multicolumn{2}{c|}{A} & Score & \#\\ 
\hline 
\multirow{2}{*}{\begin{sideways}BBBBBBBB\end{sideways}}& Entry X & 0 & 0 \\ 
\hhline{~---} 
& Entry Y & 0 & 0\\ 
\hline 
\label{proSentLAC_statistics} 
\end{longtable} 

\end{document}  

Verfasst: Mi 8. Jan 2014, 11:06
von sudo
Wie Stefan schon schrieb, kannst du eine \parbox nutzen:
\documentclass{article}   
\usepackage{longtable} 
\usepackage{rotating} 
\usepackage{hhline} 
\usepackage{multirow} 
\begin{document}   
\begin{longtable}{c|c|r|r} 

\multicolumn{2}{c|}{A} & Score & \#\\ 
\hline 
\multirow{2}{*}{\begin{sideways}%
\parbox{3.5ex}{foo bar}
\end{sideways}}%
& Entry X & 0 & 0 \\ 
\hhline{~|---} 
& Entry Y & 0 & 0\\ 
\hline 
\label{proSentLAC_statistics} 
\end{longtable} 
\end{document}
Ich habe außerdem mal deine \hhline etwas abgeändert. Ich denke so sieht es besser aus, wo bei du dir mal die Anleitung von booktabs ansehen solltest. Deine Tabelle enthält für meinen Geschmack zu viele Linien. Ich habe BBBBBB durch foo bar ersetzt, da sich BBBBBB schlecht trennen lässt. Wenn du ein langes Wort hast, das getrennt werden muss, so musst du ein \hspace*{0pt} davor setzten. Mit der Länge musst du ein wenig probieren, damit du keine Overfull \hboxes bekommst.

@Stefan Wie ich von @saputello lernte, heißt es in diesem Zusammenhang übrigens umbrochen nicht umgebrochen.