Zeilenumbruch in Zelle

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: Zeilenumbruch in Zelle

von kannstmasehn » Do 2. Jul 2015, 09:56

Danke sehr. Das passt für mich erstmal.

Das mit der Bindekorrektur ist ein klasse Hinweis. Ich werde dem mal nachgehen.

Vielen Dank nochmal und ein schönes sonniges Wochenende ;)

von Besserwisser » Do 2. Jul 2015, 09:52

Mitdenken!
\newcommand\tabrotate[1]{\begin{turn}{90}#1\end{turn}}
Sieht aber bescheiden aus.

Wie man an den Rahmen sieht, ist der Text im Beispiel auch durchaus noch innerhalb des Textbereichs. Wenn dir das also zu nah am Rand ist, dann solltest du den Textbereich kleiner wählen. Für die Bindung solltest du ohnehin eine Bindekorrektur vorsehen. Siehe Option BCOR in Kapitel 2 der KOMA-Script-Anleitung, [d]scrguide[/d] oder des KOMA-Script-Buchs.

von kannstmasehn » Do 2. Jul 2015, 09:45

Bei deinem neuen Tabrotate-command muss ein Fehler drin sein, denn dieser funktioniert bei mir nicht so. Das ist aber auch nicht das Problem.

Zur Erläuterung: Meine Tabelle sieht so aus (mit den frames):

Bild

Der Text der rotierten Zellen (Anschaffungskosten, jährliche laufende...) sind für mich nicht zentriert. Der Text geht zu weit auf die linke Seite, so dass Probleme beim Lesen geben könnte, wenn die Arbeit gebunden ist.
Für mich ist nur der Hauptkörper (zwischen top- und bottomrule) zentriert. Wenn ich die rotierten Texte ändere, verschiebt sich die Tabelle nicht, obwohl sich die Breite der Tabelle deutlich ändert. Verstehst du jetzt was ich meine?

von Besserwisser » Do 2. Jul 2015, 09:36

Jetzt ist mir erst recht nicht so ganz klar, was dein Problem ist.

Ich finde das so eigentlich gut und richtig. Wenn du aber in der Horizontalen keine optische, sondern eine mathematische Zentrierung willst, dann lass das \rlap weg und verwende:
\newcommand\tabrotate[1]{\begin{turn}{90}\#1\end{turn}}
Wenn es dir hingegen um vertikale Zentrierung geht, dann ändere die Platzierungsoptionen in ein schlichtes p:
\begin{table}[p]
damit die Tabelle page statt top platziert wird.

Alles eigentlich ganz logisch oder habe ich dich falsch verstanden?

BTW: Für rotierte Gleitumgebungen sei außerdem auf das Paket pdflscape hingewiesen.

BTW2: Die Korrektheit der Zentrierung kann man besser beurteilen, wenn man zu Testzwecken einmal das Paket showframe einbindet, also
\usepackage{showframe}
ergänzt.

von kannstmasehn » Do 2. Jul 2015, 09:04

\documentclass[12pt,a4paper]{scrreprt}
\usepackage{booktabs}
\usepackage{ragged2e}
\usepackage{rotating}
\usepackage[ngerman]{babel}
\newcommand\tabrotate[1]{\begin{turn}{90}\rlap{#1}\end{turn}}

\usepackage{varwidth}
\newcommand\tabvarwidth[2][3.5cm]{\begin{varwidth}[b]{#1}\RaggedRight\hspace{0pt}\ignorespaces #2\end{varwidth}}

\usepackage{color}
\usepackage{colortbl}  
\definecolor{dunkelgrau}{rgb}{0.8,0.8,0.8}
\definecolor{hellgrau}{rgb}{0.95,0.95,0.95}

\begin{document}

\begin{table}[htbp]
\centering
\rotatebox{90}{%
\begin{tabular}{lcc}
& \tabrotate{Anschaffungskosten gering}
& \tabrotate{Jährliche laufende Kosten gering}
 \\
\toprule
Anschaffungskosten gering
& \cellcolor{hellgrau}
&2
 \\
Jährliche laufende Kosten gering
&0
&\cellcolor{hellgrau}
 \\
Reproduzierbarkeit hoch
&2
&2
 \\
Messgenauigkeit niedrig
&2
&2
 \\
Zeitaufwand Erstmessung gering
&1
&2
 \\
Zeitaufwand Wiederholungsmessung gering
&1
&2
 \\
Flexibilität hoch
&1
&2
 \\
\bottomrule
\end{tabular}
}
\caption{Bewertung der Systeme}
\label{tab:kap6:bewertung}
\end{table}

\end{document}

von Besserwisser » Do 2. Jul 2015, 08:59

Sollen wir jetzt raten, wie du das konkret gemacht hast?

von kannstmasehn » Do 2. Jul 2015, 08:47

Super danke dir!

Da die Tabelle quer nicht auf eine DIN A4 Seite im Hochformat passt, habe ich sie um 90° gegen den Uhrzeigersinn gedreht. Nun tritt das Problem auf, dass die Tabelle nicht mehr vollständig mittig ist, sondern nur der Hauptkörper und die gedrehten Zellen rücken zu weit an den Rand der Seite. Wie kann ich die Tabelle richtig zentrieren? Mit centering scheint es ja nicht zu funktionieren. Ich könnte eine Box über die gesamte Tabelle legen und diese dann zentrieren oder die Tabelle ein Stück nach rechts verschieben. Oder gibt es da noch andere Möglichkeiten?


VG

von Besserwisser » Di 30. Jun 2015, 08:59

Hier einmal ein Beispiel, wie ich es für sinnvoll halte:
\documentclass[12pt,a4paper]{scrreprt}
\usepackage{booktabs}
\usepackage{ragged2e}
\usepackage{rotating}
\usepackage[ngerman]{babel}
\newcommand\tabrotate[1]{\begin{turn}{90}\rlap{#1}\end{turn}}

\usepackage{varwidth}
\newcommand\tabvarwidth[2][3cm]{\begin{varwidth}[b]{#1}\RaggedRight\hspace{0pt}\ignorespaces #2\end{varwidth}}

\usepackage{color}
\usepackage{colortbl}   
\definecolor{dunkelgrau}{rgb}{0.8,0.8,0.8}
\definecolor{hellgrau}{rgb}{0.95,0.95,0.95}

\begin{document}


\begin{tabular}{lcc}
& \tabrotate{{\tabvarwidth[7em]{Anschaffungskosten\\ gering}}} 
& \tabrotate{\tabvarwidth[7em]{Jährliche laufende Kosten gering}}
 \\
\toprule
Anschaffungskosten gering 
& \cellcolor{hellgrau} 
&2
 \\
Jährliche laufende Kosten gering 
&0
&\cellcolor{hellgrau}
 \\
Reproduzierbarkeit hoch 
&2
&2
 \\
Messgenauigkeit niedrig 
&2
&2
 \\
Zeitaufwand Erstmessung gering 
&1
&2
 \\
Zeitaufwand Wiederholungsmessung gering 
&1
&2
 \\
Flexibilität hoch 
&1
&2
 \\
\bottomrule
\end{tabular}

\end{document}

von Besserwisser » Di 30. Jun 2015, 08:50

Er ist innerhalb der Zelle linksbündig. Oder meinst du wie innerhalb der varwidth-Umgebung – also vor der Rotation – nicht zentriert, sondern linksbündig gesetzt wird? Da hast du doch selbst explizit zentriert. Um das zu ändern muss man natürlich \centering durch \raggedright (oder eventuell besser \RaggedRight mit ragged2e) ersetzen. Falls dir das wirklich nicht klar war, solltest du unbedingt eine gute LaTeX-Einführung lesen. Das ist an einem Wochenende zu schaffen.

Ich würde übrigens für den rotierten Text eher c-Spalten verwenden, ihn also nicht linksbündig, sondern zentriert setzen.

von kannstmasehn » Di 30. Jun 2015, 08:01

Besserwisser hat geschrieben:Ich vermute, dass du schlicht willst, dass das Wort getrennt wird. Dann ist Deine Analyse nicht richtig. LaTeX kennt das Wort durchaus und kann es auch korrekt trennen. Die Ursache, dass da nicht getrennt wird, ist wie so oft schlicht, dass TeX das erste Wort in einem Absatz nicht trennt. Macht man \hspace{0pt} zum ersten Wort, wird das optisch erste Wort dann doch getrennt:
\newcommand\tabvarwidth[2][3cm]{\begin{varwidth}[b]{#1}\centering\hspace{0pt}\ignorespaces#2\end{varwidth}}
Gut, das klappt schonmal. Danke dir! Wie kann ich dann den Text in der Zelle linksbündig anordnen?

Nach oben