Seite 1 von 2

Zellen zeilenweise verbinden

Verfasst: Mi 27. Aug 2014, 21:30
von daweed90
Hallo Leute,

unten seht ihr ein Mini-Beispiel einer Tabelle. Ich würde gerne die Zellen E1 und E2 miteinander verbinden. Weiß jemand wie der Befehl dazu aussieht?
\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
E1 & R1 & W1 \tabularnewline
E2 & 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} 
Danke bereits im Voraus.

Viele Grüße

Verfasst: Mi 27. Aug 2014, 21:40
von Besserwisser
Inwiefern verbinden? Suchst Du eventuell multirow oder eine Untertabelle?

Verfasst: Mi 27. Aug 2014, 21:58
von daweed90
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

Verfasst: Mi 27. Aug 2014, 22:10
von Johannes_B
Multirow verbindet Zellen von Spalten, multicolumn verbindet Zellen in Zeilen.

Verfasst: Do 28. Aug 2014, 08:20
von Besserwisser
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).

Verfasst: Do 28. Aug 2014, 15:55
von daweed90
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

Verfasst: Do 28. Aug 2014, 16:34
von Besserwisser
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.

Verfasst: Fr 29. Aug 2014, 08:56
von daweed90
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

Verfasst: Fr 29. Aug 2014, 09:07
von Johannes_B
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.

Verfasst: Fr 29. Aug 2014, 11:24
von daweed90
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