Zellen zeilenweise verbinden

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: Zellen zeilenweise verbinden

von rais » Fr 29. Aug 2014, 12:49

daweed90 hat geschrieben: Wieso wird der Text in der verbundenen Zelle nicht zentriert dargestellt, obwohl bei \newcolumntype mit centering gearbeitet wurde? Gibt es eine Möglichkeit den Text zu zentrieren?
wo bitte steht geschrieben, \multirow würde derselben Ausrichtung der Spalte folgen, in der es aufgerufen wird, wenn schon eine Breite angegeben wird/werden muß?
Das trifft nicht mal bei den Standardspalten clr zu:
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{multirow}
%\renewcommand*\multirowsetup{\centering}
\begin{document}
\begin{tabular}{rcl}
r & c & l\\
eins & zwei & drei\\
\hline
\multirow{2}{2em}{A tens} & a1 & a2\\
   & a3 & a4\\
b1 & \multirow{2}{2em}{B tens} & b2\\
b3 & & b4\\
c1 & c2 & \multirow{2}{2em}{C tens}\\
c3 & c4 & \\
\end{tabular}
\end{document}
Wenn Du den obigen \renewcommand* einkommentierst, werden die \multirow-Inhalte zentriert.

MfG
Rainer

von daweed90 » Fr 29. Aug 2014, 11:24

Ok ich habe dazu noch eine Frage:
Wieso wird der Text in der verbundenen Zelle nicht zentriert dargestellt, obwohl bei \newcolumntype mit centering gearbeitet wurde? Gibt es eine Möglichkeit den Text zu zentrieren?

Viele Grüße

von Johannes_B » Fr 29. Aug 2014, 09:07

Ganz ruhig, was hast du denn vor? Dein Beispiel zeigt keinen langen Text, die Breite der ersten Spalte gibst du an mit 3cm mal Textbreite Das kann nicht klappen!
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{multirow}
\usepackage{array}
\usepackage{booktabs}
\newcolumntype{M}{>{\centering\arraybackslash}m{3cm}}
\begin{document}
\begin{tabular}{MMM}
	\toprule
      & Randbedingung & Wert \tabularnewline
      \midrule
\multirow{2}{2.9cm}{langer Text der Breiter als die Zelle ist} & R1 & W1 \tabularnewline
   & R2 & W2 \tabularnewline
E3 & R3 & W3 \tabularnewline
E4 & R4 & W4 \tabularnewline
E5 & R5 & W5 \tabularnewline
E6 & R6 & W6 \tabularnewline
E7 & R7 & W7 \tabularnewline
E8 & R8 & W8 \tabularnewline
\bottomrule
\end{tabular}
\end{document}
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{multirow}
\usepackage{array}
\newcolumntype{M}{>{\centering\arraybackslash}m{3cm}}
\begin{document}
\begin{tabular}{M|M|M}
      & Randbedingung & Wert \tabularnewline
\hline
\multirow{2}{2.9cm}{langer Text der Breiter als die Zelle ist} & R1 & W1 \tabularnewline
   & R2 & W2 \tabularnewline
E3 & R3 & W3 \tabularnewline
E4 & R4 & W4 \tabularnewline
E5 & R5 & W5 \tabularnewline
E6 & R6 & W6 \tabularnewline
E7 & R7 & W7 \tabularnewline
E8 & R8 & W8 \tabularnewline
\end{tabular}
\end{document}
Außerdem solltest du beachten, dass der Befehl \centering lautet.

von daweed90 » Fr 29. Aug 2014, 08:56

Ok funktioniert, ich dachte multirow kann man einfach so verwenden. Danke dafür :)
Allerdings wird bei längerem Text nicht umgebrochen, sondern über den Zellenrand hinaus geschrieben. Habe gelesen, dass das mit \textwidth funktioniert. Aber wahrscheinlich habe ich mal wieder ein Packet vergessen oder den Befehl an der falschen Stelle eingefügt:
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}
\definecolor{OliveGreen}{rgb}{0,0.6,0}
\usepackage{multirow}

\begin{document}


\begin{table}[H]
\center
\begin{tabular}{>{\centering}m{3cm\textwidth}}|>{\centering}m{3cm}|>{\centering}m{3cm}}
		& Randbedingung & Wert \tabularnewline
\hline
\multirow{2}*{E1} & R1 & W1 \tabularnewline
   & R2 & W2 \tabularnewline
E3 & R3 & W3 \tabularnewline
E4 & R4 & W4 \tabularnewline
E5 & R5 & W5 \tabularnewline
E6 & R6 & W6 \tabularnewline
E7 & R7 & W7 \tabularnewline
E8 & R8 & W8 \tabularnewline
\end{tabular}
\end{table}
\end{document}
Benötigt man vielleicht das tabularx-Packet? Aber selbst mit dem Packet und wenn ich aus \begin{tabuar} bzw. \end{tabular} \begin{tabularx} bzw. \end{tabularx} mache, funktioniert es nicht :/

Viele Grüße

von Besserwisser » Do 28. Aug 2014, 16:34

Hilfreich wäre mit Sicherheit, wenn du das zugehörige Paket auch laden würdest, also ein
\usepackage{multirow}
in die Präambel einfügen würdest …

Grundsätzlich lädt LaTeX Pakete nicht einfach deshalb, weil man irgendwelche Befehle daraus verwendet, sondern nur, wenn man ihm sagt, dass man sie geladen haben will. Eventuell wäre es gut, wenn du einmal eine ausführliche LaTeX-Einführung lesen würdest.

von daweed90 » Do 28. Aug 2014, 15:55

Du hattest natürlich Recht Besserwisser, ich habe multirow und multicolumn verwechselt. Ich habe auch bereits versucht den Befehl in meinen Code einzubauen, aber ich bekomme immer nur Fehlermeldungen.
Unten seht ihr meinen Code, der leider noch fehlerhaft ist.
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}
\definecolor{OliveGreen}{rgb}{0,0.6,0}

\begin{document}


\begin{table}[H]
\center
\begin{tabular}{>{\centering}m{3cm}|>{\centering}m{3cm}|>{\centering}m{3cm}}
		& Randbedingung & Wert \tabularnewline
\hline
\multirow{2}*{E1} & R1 & W1 \tabularnewline
     & R2 & W2 \tabularnewline
E3 & R3 & W3 \tabularnewline
E4 & R4 & W4 \tabularnewline
E5 & R5 & W5 \tabularnewline
E6 & R6 & W6 \tabularnewline
E7 & R7 & W7 \tabularnewline
E8 & R8 & W8 \tabularnewline
\end{tabular}
\end{table}
\end{document} 
Könnt ihr mir sagen, wie ich multirow richtig verwende? Als erstes Argument muss man ja eingeben, wie viele Zellen verbunden werden sollen. Muss außer dem Inhalt noch ein Argument hinzugefügt werden?.

Viele Grüße

von Besserwisser » Do 28. Aug 2014, 08:20

E1 und E2 stehen untereinander, also in derselben Spalte. Also kann man sie nur innerhalb der Spalte und daher mit dem empfohlenen multirow-Paket, dessen Anleitung du natürlich hättest lesen sollen (u. a. dafür hatte ich den Link gesetzt), zu einer Zelle verbinden.

E1 und R1 stehen hintereinander, also in derselben Zeile. Also kann man sie nur innerhalb der Zeile und daher ganz einfach mit \multicolumn aus dem LaTeX-Kern zu einer Zelle verbinden.

Also hast du entweder nicht richtig erklärt, was du willst, oder du arbeitest zu hektisch, statt die Vorschläge gründlich zu prüfen.

BTW: Deine Tabelle hat zu viele vertikale Linien. Die solltest du besser alle weglassen (siehe beispielsweise die Anleitung zum Paket booktabs oder die Folien zum Tabellenvortrag, die in »Wichtige Netzdokumente« verlinkt sind).

von Johannes_B » Mi 27. Aug 2014, 22:10

Multirow verbindet Zellen von Spalten, multicolumn verbindet Zellen in Zeilen.

von daweed90 » Mi 27. Aug 2014, 21:58

Mit multirow kann man ja nur Zellen zeilenweise verbinden. Ich möchte aber spaltenweise verbinden. Quasi, dass aus der Zelle E1 und E2 eine Zelle machen und die Zellen R1 und R2 bzw. W1 und W2 sollen weiterhin so bleiben wie sie sind. Habe ich mein Problem verständlich erklärt?
:shock:

Viele Grüße

von Besserwisser » Mi 27. Aug 2014, 21:40

Inwiefern verbinden? Suchst Du eventuell multirow oder eine Untertabelle?

Nach oben