PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Table: restlicher Platz einer Spalte zuweisen



jfro
19-01-2006, 12:43
Hallo,

ich versuche mich gerade mit mit dem Paket supertabular. Funktioniert soweit auch ganz gut, aber leider ärgert mich eine Spalte. Ich habe 6 Spalten, 5 davon sind mit Zahlen gefüllt. Bisher habe ich das mit einer festen Spaltengröße gelöst. Hierbei bekomme ich aber eine Menge Warnings, da der Platz der Spalte für den Fließtext nicht aussreicht, bzw. Tex die Wörter nicht richtig getrennt bekommt. Jetzt möchte ich gerne das der übrige Platz der (Beschreibungs-)Spalte zugewiesen wird. Mein Code sieht bislang folgendermaßen aus:



\tablefirsthead{\hline
\multicolumn{1}{|l|}{\textbf{Gefahr}} &
\multicolumn{1}{|l|}{\textbf{Beschreibung}} &
\multicolumn{1}{|l|}{\textbf{E}} &
\multicolumn{1}{|l|}{\textbf{S}} &
\multicolumn{1}{|l|}{\textbf{D}} &
\multicolumn{1}{|l|}{\textbf{RZ}}
\\ \hline}

\tablehead{\hline \multicolumn{6}{|l|}
{\small\slshape Fortsetzung der vorherigen Seite}\\

\hline
\multicolumn{1}{|l|}{\textbf{Gefahr}} &
\multicolumn{1}{|l|}{\textbf{Beschreibung}} &
\multicolumn{1}{|l|}{\textbf{E}} &
\multicolumn{1}{|l|}{\textbf{S}} &
\multicolumn{1}{|l|}{\textbf{D}} &
\multicolumn{1}{|l|}{\textbf{RZ}}
\\ \hline}

\tabletail{\hline \multicolumn{6}{|r|}
{\small\slshape Fortsetzung auf der nächsten Seite} \\ \hline}´

\tablelasttail{\hline}

\begin{supertabular*}{\textwidth}{|l|p{7,5cm}|l|l| l|l|}

4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\ \hline
........
3.2 & Lalalala & 1 & 3 & 1 & \textbf{22} \\ \hline
\\ \hline

\end{supertabular*}


Hat jemand hierfür einen Vorschlag?

Liebe Grüße

Jochen

countbela666
19-01-2006, 15:57
Moin Jochen,

normalerweise gibt es für Tabellen fester Breite, bei denen eine oder mehrere Spalten dann den Platz erhalten, der von der Textbreite noch übrig bleibt, die Umgebung tabularx und den Spaltentyp X. Das Problem ist hier jedoch die Tatsache, dass du das mit einer Tabelle, die über mehrere Seiten geht kombinieren willst. Das ist möglich, jedoch nur mit ein bisschen mehr Aufwand.

An Stelle der supertabular müsstest du eine longtable nehmen, die soweit ich weiß die gleichen Eigenschaften wie die supertabular hat. Diese Tabelle musst du jedoch zwingend in eine andere Datei auslagern und mit Hilfe des Pakets ltxtable wieder in deine Hauptdatei einfügen. Hier mal ein Minimalbeispiel (die filecontents-Umgebung ist nur zum einfacheren Posten und Ausführen gedacht; du kannst den Spaß gleich in eine andere Datei packen):

\begin{filecontents}{tabelle.tex}
\begin{longtable}{|l|X|*{4}{l|}}
\caption{Tabellentitel}\\\hline
\textbf{Gefahr} & \textbf{Beschreibung} & \textbf{E} & \textbf{S} & \textbf{D} & \textbf{RZ} \\\hline
\endfirsthead
\caption[]{(Fortsetzung der vorherigen Seite)}\\\hline
\textbf{Gefahr} & \textbf{Beschreibung} & \textbf{E} & \textbf{S} & \textbf{D} & \textbf{RZ} \\\hline
\endhead
\hline
\endlastfoot
\caption[]{(Fortsetzung auf nächster Seite)}
\endfoot
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
4.7 & Lalalala & 3 & 3 & 3 & \textbf{27} \\\hline
3.2 & Lalalala & 1 & 3 & 1 & \textbf{22}
\end{longtable}
\end{filecontents}
%%%%% Beginn der Hauptdatei
\documentclass[a5paper]{article} %% A5-Format und Zeilenbeschränkung mit-
\usepackage[lines=10]{geometry} %% tels geometry nur zu Demozwecken
\usepackage{ltxtable,caption}
\begin{document}
\LTXtable{\textwidth}{tabelle.tex}
\end{document}Grüße,
Marcel