Mit Multicolum aus 3 Zellen 2 gleich große machen?

Tabellen und Grafiken erstellen und anordnen


kathykathy

Mit Multicolum aus 3 Zellen 2 gleich große machen?

Beitrag von kathykathy »

Hallo!

ich würde gerne mit dem Multicolumn-Befehl aus 3 Zellen 2 Zellen machen.
Und zwar so, dass es letztendlich so ausszieht:

+-------+-------+------+
| UNO | DUE | TRE |
+-------+--+---+------+
| MEZZO | MEZZO |
+----------+-----------+

Meine Idee wäre jetzt dies zu schreiben:
\multicolumn{3}{r|r}{erste zelle & zweite zelle}

Allerdings funktioniert das nicht und ich ich habe mich gefragt ob der multirow-befehl das überhaupt kann?

Das gleiche Thema wurde auch hier behandelt: http://www.guit.sssup.it/phpbb/viewtopic.php?t=321 Allerdings reichen meine Sprachkenntnisse nicht aus um rauszufinden ob es dann funktioniert hat.

Falls es nicht funktioniert, was sind die alternativen zum multicolumn-befehl?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Ein Minimalbeispiel zum sofort testen wäre hier toll.

Was versuchst du denn zu erreichen? Ich habe das Gefühl, du nutzt tabular für etwas anderes.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

kathykathy

Beitrag von kathykathy »

So würde ich versuchen die oben gezeigt tabelle darzustellen:

\usepackage{array}
....
\begin{table}[htbp]
\begin{tabular}{ p{80}|p{80}|p{80}}
eine zelle & noch eine & und noch eine \\
\hline
\multicolumn{3}{p{120}|p{120}}{erste zelle & zweite zelle} \\
\end{tabular}
\end{table}

Dann kommt jedoch der Fehler: illeagal unit of measure und package array error

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Illegal unit of measure kommt, da du keine Einheit angibst.

Bitte folge dem Link zum Minimalbeispiel (siehe oben) und lies dir das durch.

Und bitte beschreibe, was du vor hast. Ich glaube immernoch, du versucht tabular zu missbrauchen. Es gibt bestimmt eine elegantere Lösung.
\documentclass{article}
\begin{document}
\newcommand{\fueller}{test text zum testen von text }
\begin{tabular}{p{.3\linewidth}|p{.3\linewidth}|p{.3\linewidth}}
	eine zelle & noch eine \fueller & und noch eine \\
	\hline
	\multicolumn{3}{c}{
		\begin{tabular}{p{0.45\linewidth}|p{0.45\linewidth}}
		erste Zelle\fueller  & zweite Zelle \\
	\end{tabular}}
\end{tabular} 
\end{document}

Bitte lies dir auch die Dokumentation des Paketes booktabs durch.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

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

Beitrag von esdd »

In der Spaltendefinition für die innere Tabelle würde ich den linken und rechten Spaltenabstand mit @{} entfernen. Damit die innere Tabelle die gleiche Breite wie die äußere hat, muss dafür zur Spaltenbreite je ein \tabcolsep dazu gerechnet werden:
\documentclass{scrartcl}
\usepackage{array}
\begin{document}
 \begin{tabular}{p{3cm}|p{3cm}|p{3cm}} 
 eine zelle & noch eine & und noch eine \\ 
 \hline 
 \multicolumn{3}{c}{
  \begin{tabular}{@{}p{\dimexpr4.5cm+\tabcolsep\relax}|p{\dimexpr4.5cm+\tabcolsep\relax}@{}}
    erste zelle & zweite zelle
  \end{tabular}}\\ 
 \end{tabular} 
\end{document}
Ob es besser ist, die Spaltenbreite absolut wie hier oder relativ zu \linewidth wie bei Johannes anzugeben, hängt davon ab, was du genau tun willst.

Gruß
Elke

kathykathy

Beitrag von kathykathy »

Super! ich habe verstanden :-)

Statt
\multicolumn{3}{p{1cm}|p{1cm}}{erste zelle & zweite zelle}

muss man einfach eine neue Tabelle in derTabelle erstellen:
\multicolumn{3}{c}{neue Tabelle}

Vielen Dank! Sehr geschickte Lösung! :-)

Antworten