Problem mit Tabelle und Multirow Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Bergi

Problem mit Tabelle und Multirow

Beitrag von Bergi »

Hallo,

ich soll eine Katalogseite als Tabelle aufbauen. Die linke Spalte wird
dabei die Artikelbeschreibung. Da diese unterschiedlich lang ist und
die .tex-Files aus einem Skript heraus erstellt werden, wäre es schön,
wenn die ganze Tabelle mit der Beschreibung mitwachsen würde.

So richtig funktioniert das aber noch nicht. Die Artikelbeschreibung
geht über die Zellen hinaus, ohne dass diese mitwachsen.

Was mache ich falsch?

Hier ein Beispiel:
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{multirow}
\usepackage[dvips,pdftex,top=10pt,left=0pt,right=0pt]{geometry}

\begin{document}
\begin{tabular}{|p{6cm}|p{6cm}|p{6cm}|}
\hline
	RegNr 
   &
	\multicolumn{2}{l|}{Bezeichnung des Artikels - Bezeichnung des Artikels} \\
%Ende erste Zeile
\hline
	\multirow{2}{6cm}
	{
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
		Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
	}
	&
	Noch ein Text - Noch ein Text - Noch ein Text - Noch ein Text -
	Noch ein Text - Noch ein Text - Noch ein Text - Noch ein Text -	
	&
	Bild \\
\cline{2-3}
%Ende zweite Zeile

	&
	Pictogramme
\linebreak
\linebreak
	Und noch ein Text - Und noch ein Text - Und noch ein Text
	Und noch ein Text - Und noch ein Text - Und noch ein Text
	&
	Leere Zelle\\
\hline
%Ende dritte Zeile
\end{tabular}
\end{document}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Wozu verwendest Du multirow? Wenn Du das weg lässt, sieht das Ergebnis doch eigentlich so aus, wie man das erwarten würde und wie es auch der Lesbarkeit dienlich ist - von den unsäglichen vertikalen Linien einmal abgesehen.

Bergi

Beitrag von Bergi »

Das hatte ich zuerst probiert. Nur hätte ich gerne, dass die erste Spalte
ausgenutzt wird und sich die nur die dritte Zeile und nicht die zweite
vergößert.
Sonst bekomme ich ein Problem, wenn ich ein relativ kleines Bild einfüge.
Dann habe ich nämlich zu viel Raum bis die Piktogramme und der restliche Text kommt.
Die vertikalen Linien sind deshalb in dieser Version, damit ich sehen kann,
was genau passiert. Die wären in der Endgültigen Lösung nicht drin.

Auf jeden Danke schon mal, dass Du versuchst, mir zu helfen.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Die Erklärung ist für mich leider unverständlich.

Bergi

Beitrag von Bergi »

Ok, einfach ausgedrückt:
Wenn ich in der ersten Spalte Text einfüge, will ich, dass sich nur die
unterste Linie verschiebt, die restliche Tabelle aber unverändert bleibt.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Du willst also eigentlich eine Tabelle in einer Tabelle?
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[top=10pt,left=0pt,right=0pt]{geometry}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{p{6cm}p{\dimexpr 12cm+\tabcolsep\relax}}
  \toprule
  RegNr & Bezeichnung des Artikels - Bezeichnung des Artikels \\
  % Ende erste Zeile
  \midrule
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
      Artikelbeschreibung - Artikelbeschreibung - Artikelbeschreibung -
   & 
   \begin{tabular}[t]{@{}p{6cm}p{6cm}@{}}
     Noch ein Text - Noch ein Text - Noch ein Text - Noch ein Text -
     Noch ein Text - Noch ein Text - Noch ein Text - Noch ein Text -  
     &
     Bild \\
     \midrule
     Pictogramme & Leere Zelle \\
     % Leere Zeile
     \\
     Und noch ein Text - Und noch ein Text - Und noch ein Text
     Und noch ein Text - Und noch ein Text - Und noch ein Text
     &
     \\
  \end{tabular}\\
  \bottomrule
\end{tabular}
\end{document}
Im Beispiel habe ich auch gleich einmal die ganzen störenden vertikalen Linien entfernt. Varianten dieser Tabelle sollten kein größeres Problem sein. \dimexpr ... \relax ist übrigens ein e-TeX-Primitiv, das im e-TeX-Manual erklärt wird. Da KOMA-Script ohnehin nach einem LaTeX mit e-TeX verlangt und das inzwischen auch üblich ist, ist das kein Problem.

\tabcolsep ist die Breite des normalen Abstandes vor bzw. nach einer Zelle (oh, hm, müssten eigentlich zwei davon sein, naja, probier aus, ob da noch eine 2 davor muss). @{} sorgt dafür dass vor bzw. zwischen Tabellenspalten kein Abstand eingefügt wird.

Bergi

Beitrag von Bergi »

Vielen Dank.
Damit komme ich auf jeden Fall weiter.
Ich sehe das Problem damit als gelöst an.

Du hast mir sehr geholfen. :D

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Bergi hat geschrieben:Ich sehe das Problem damit als gelöst an.
Dann ändere ich mal den Status entsprechend. Nächstes Mal machst Du das bitte selbst, wobei Anwender gegenüber von Gästen übrigens den Vorteil haben, dass sie das nicht nur können, wenn sie gleichzeitig einen Beitrag verfassen.

Markus
(Moderator)

Antworten