Multirow eintrag mit vertikalem Text

Tabellen und Grafiken erstellen und anordnen


FellowMartner
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 7. Jan 2014, 13:45

Multirow eintrag mit vertikalem Text

Beitrag 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?

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag 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

FellowMartner
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 7. Jan 2014, 13:45

Beitrag 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 :/

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ein lauffähiges Minimalbeispiel erhöht sicher die Chance auf eine Antwort, da man Lösungsvorschläge daran auch testen kann.

FellowMartner
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 7. Jan 2014, 13:45

Beitrag 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}  

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag 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.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Antworten