PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : erweiterte Tabellen



e4d
29-10-2006, 18:12
Ich suche im Moment nach Möglichkeiten für eine Tabelle, bei der ich in den einzelnen Zellen auch Elemente anderer Umgebungen reinladen kann.

Zum Beispiel will ich eine Liste mit Vor- und Nachteilen zu verschiedenen Sachverhalten machen. Da würde ich gerne eine 3*3.-Tabelle nehmen. In der oberen Spalte den Titel, in der Mitte zum Beispiel eine Liste (itemize) und unten eine Spalte mit einer kurzen Wertigkeit. (keinesfalls soll jeder Anstrich eine neue Zeile in der Tabelle haben -> wenn Umbrüche sind, zieht es den Rest mit runter)

Nun mängelt LaTeX in den einzelnen Zellen immer an, wenn da was fehlt. Ich könnte das z.B. mit pstricks umsetzen - aber glücklich werde ich sicher auch nicht ...

Mit was könnte man das umsertzen?

e4d
29-10-2006, 18:16
mit minipages könnte man es auch hinbiegen ... ist aber auch zuviel Aufwand, um das anzupassen, damit es richtig aussieht ... also ich suche da noch nach einer Alternative

rais
29-10-2006, 19:09
mit minipages könnte man es auch hinbiegen ... ist aber auch zuviel Aufwand, um das anzupassen, damit es richtig aussieht ... also ich suche da noch nach einer Alternative
ich weiß ja nicht, wie Du Deine Tabelle bisher erstellt hast, aber p{Breite} bzw. m{Breite} als Spaltendeklaration wäre wohl eine Alternative zur minipage.
Ansonsten wäre ein Minimalbeispiel (http://www.minimalbeipiel.de) nicht verkehrt.
MfG,

e4d
29-10-2006, 19:45
Die Tabelle ist noch nicht erstellt - ich suche gerade nach einer Möglichkeit es zu machen. Prinzipiell soll die Tabelle so strukturiert sein:


\begin{tabular}{|l|l|l|}
\hline
Variante 1 & Variante 2 & Variante 3 \\
\hline
Punkt 1 Punkt 2 Punkt 3 & Punkt 1 Punkt 2 Punkt 3 & Punkt 1 Punkt 2 Punkt 3 \\
\hline
Gut & Mäßig & Schlecht \\
\hline
\end{tabular}

Der Unterschied ist nur: ich will die einzelnen Punkte untereinander als Liste (itemize-Umgebung). Das bekomme ich aber in der tabular-Umgebung nicht hin. Also suche ich eine Alternative (oder einen Weg, mit dem ich das auch in tabular-Umgebung hinbekomme)

rais
29-10-2006, 20:34
Die Tabelle ist noch nicht erstellt - ich suche gerade nach einer Möglichkeit es zu machen. Prinzipiell soll die Tabelle so strukturiert sein:


\begin{tabular}{|l|l|l|}
\hline
Variante 1 & Variante 2 & Variante 3 \\
\hline
Punkt 1 Punkt 2 Punkt 3 & Punkt 1 Punkt 2 Punkt 3 & Punkt 1 Punkt 2 Punkt 3 \\
\hline
Gut & Mäßig & Schlecht \\
\hline
\end{tabular}

Der Unterschied ist nur: ich will die einzelnen Punkte untereinander als Liste (itemize-Umgebung). Das bekomme ich aber in der tabular-Umgebung nicht hin. Also suche ich eine Alternative (oder einen Weg, mit dem ich das auch in tabular-Umgebung hinbekomme)
ja, und? Was bekommst Du denn nicht hin?


\documentclass{scrartcl}
\begin{document}
\begin{tabular}{*{3}{p{0.3\textwidth}}}
\hline
Variante 1 & Variante 2 & Variante 3 \\
\hline
\begin{itemize}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{itemize} & \begin{itemize}
\item Punkt a
\item Punkt b
\item Punkt c
\end{itemize} & \begin{itemize}
\item Punkt A
\item Punkt B
\item Punkt C\end{itemize}\\
\hline
Gut & Mäßig & Schlecht \\
\hline
\end{tabular}
\end{document}

Wenn es Dir um die horizontalen Abstände geht, dann schau mal nach enumitem, evtl auch paralist.
MfG,

e4d
29-10-2006, 22:44
mmmh ... ich habe eigentlich nichts anderes getan. Wer weiß, wer weiß ... auf jeden Fall geht das so in der Form! Danke ...

sofa-surfer
29-10-2006, 22:52
Deinem Beispiel von oben nach hast du doch etwas ganz entscheidendes anders gemacht: Du hast Spaltentypen verwendet, die keine Zeilenumbrüche erlauben.

Matthias

e4d
30-10-2006, 00:07
ooops. Dann war das die Ursache ... und ich habe mir schon die Zähne ausgebissen gehabt ;-)

e4d
30-10-2006, 16:19
@rais:

was ich nicht verstehe: 3 * 0.3 = 0.9 ... da fehlen 10%. Mache ich 0.3333 geht die Tabelle über den Rand hinweis.

Ich habe nun versucht, mit tabularx zu arbeiten. Das funktioniert auch wunderbar (immer genau die Textbreite) - aber nur wenn ich mit pdflatex kompiliere. Mit Latex bemängelt er jeden einzelnen Listenpunkt an.

Das Minimalbeispiel entspricht dem von dir - mit folgender Änderung:


\begin{tabularx}{\textwidth}{*{3}{X}}

rais
30-10-2006, 16:39
was ich nicht verstehe: 3 * 0.3 = 0.9 ... da fehlen 10%. Mache ich 0.3333 geht die Tabelle über den Rand hinweis.

Das ist korrekt - 3 x 1/3 gibt Dir zwar die Textbreite, aber hier kommen nochmal die Abstände zwischen den Spalten (auch links und rechts der Tabelle) hinzu, deswegen paßt's so nicht.
Mit tabularx muß ich mir das nochmal ansehen, wenn ich wieder an meinem LaTeX-Rechner sitze :)
MfG,

voss
30-10-2006, 16:39
@rais:

was ich nicht verstehe: 3 * 0.3 = 0.9 ... da fehlen 10%. Mache ich 0.3333 geht die Tabelle über den Rand hinweis.


_Pro_ Spalte kommt noch mal \tabcolsep dazu ... d.h. eine Tabelle mit 3*0.33333\linewidth ist 3\tabcolsep zu breit!

Herbert

sofa-surfer
30-10-2006, 16:54
_Pro_ Spalte kommt noch mal \tabcolsep dazu ... d.h. eine Tabelle mit 3*0.33333\linewidth ist 3\tabcolsep zu breit!

Herbert

Sind es nicht eher zweimal \tabcolsep pro Spalte? Einmal auf der linken und einmal auf der rechten Seite.


\documentclass{article}
\usepackage{blindtext}

\setlength{\tabcolsep}{0.05\textwidth}

\begin{document}
\blindtext\\

\begin{tabular}{*{2}{p{0.4\textwidth}}}
\blindtext & \blindtext \\
\end{tabular}
\blindtext

\end{document}

Matthias

voss
30-10-2006, 17:42
Sind es nicht eher zweimal \tabcolsep pro Spalte? Einmal auf der linken und einmal auf der rechten Seite.

da hast du natürlich völlig recht! Kann man auch mit Strichen schön zeigen:



\documentclass{scrartcl}
\textwidth=9cm
\parindent=0cm
\tabcolsep=1cm

\begin{document}
\rule{\textwidth}{1pt}

\begin{tabular}{|*{3}{p{1cm}|}}
\rule{1cm}{1pt} & \rule{1cm}{1pt} & \rule{1cm}{1pt} \\
\end{tabular}

\end{document}



Herbert

rais
30-10-2006, 18:08
Ich habe nun versucht, mit tabularx zu arbeiten. Das funktioniert auch wunderbar (immer genau die Textbreite) - aber nur wenn ich mit pdflatex kompiliere. Mit Latex bemängelt er jeden einzelnen Listenpunkt an.

Das Minimalbeispiel entspricht dem von dir - mit folgender Änderung:


\begin{tabularx}{\textwidth}{*{3}{X}}
kann ich nicht nachvollziehen - wenn ich die Änderung in mein Beispiel aus Post#5 übernehme und entsprechend \end{tabularx} statt \end{tabular} einsetze und natürlich \usepackage{tabularx} noch in die Präambel pack, dann läßt sich das ohne Fehler mit latex kompilieren.
Hast Du vllt noch was anderes geändert?
MfG,

e4d
31-10-2006, 10:24
ich hatte meine normale Layoutvorlage eingebunden - und damit trat der Fehler auf.

Ich habe die Ursache abgegrenzt. Der Fehler tritt auf, wenn ich eine Liste in einer tabularx-Tabelle verwenden und zusätzlich die pstricks-Klassen einbinde ...

Da bin ich nun etwas ... ratlos ...


(Also der Fehler nur auf, wenn ich mit latex generiere (kein pdflatex), tabularx-Tabellen verwende und pstricks geladen ist. Ansonsten nicht)

sofa-surfer
31-10-2006, 10:31
Also du meinst so in etwa:


\documentclass{scrartcl}
\usepackage{pstricks}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{\textwidth}{*{3}{X}}
\hline
Variante 1 & Variante 2 & Variante 3 \\
\hline
\begin{itemize}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{itemize} & \begin{itemize}
\item Punkt a
\item Punkt b
\item Punkt c
\end{itemize} & \begin{itemize}
\item Punkt A
\item Punkt B
\item Punkt C\end{itemize}\\
\hline
Gut & Mäßig & Schlecht \\
\hline
\end{tabularx}
\end{document}

Lässt sich auch mit latex kompilieren...

Matthias

rais
31-10-2006, 18:53
Moin moin,

(Also der Fehler nur auf, wenn ich mit latex generiere (kein pdflatex), tabularx-Tabellen verwende und pstricks geladen ist. Ansonsten nicht)
und Du konntest bei Verwendung von pstricks mit pdflatex kompilieren? Eigentlich sollte das doch eher mit latex als mit pdflatex klappen...
Wie lautet eigentlich die Fehlermeldung?

MfG,

e4d
02-11-2006, 19:02
Aus dem Logfile:


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.12 \item
Erster Anstrich
?

mit pdflatex keine Probleme, mit latex schon.

e4d
20-11-2006, 18:17
Für das bisherige Problem habe ich noch keine Lösunge entdeckt ...

Aber ein anderes Anliegen: die enumitem-Liste läßt oben und unten viel Platz. Ich habe bereits alle möglichen parameter mit 0 definiert (topsep, itemsep, partosep, parsep) - aber er läßt nach wie vor den großen Abstand!

sofa-surfer
20-11-2006, 23:48
Für das bisherige Problem habe ich noch keine Lösunge entdeckt ...

Deine Pakete sind alle auf dem neuesten Stand?



Aber ein anderes Anliegen: die enumitem-Liste läßt oben und unten viel Platz. Ich habe bereits alle möglichen parameter mit 0 definiert (topsep, itemsep, partosep, parsep) - aber er läßt nach wie vor den großen Abstand!

Das kann ich nicht nachvollziehen:

\documentclass{article}
\usepackage{blindtext}
\usepackage{enumitem}

\begin{document}
\blindtext

\begin{itemize}[topsep=0pt,parsep=0pt]
\item bla
\item blub
\end{itemize}
\blindtext
\begin{itemize}
\item bla
\item blub
\end{itemize}
\blindtext
\end{document}

Matthias