Latex: Tabellenbreite an Seitenbreite anpassen

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
badera
Beiträge: 638
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Latex: Tabellenbreite an Seitenbreite anpassen

Beitrag von badera » 28.10.2004 21:59:41

Wie kann man eine Tabelle erstellen, die die ganze verfügbare Seitenbreite nutzt, ohne dass man quasi die genaue Angabe der Seitenbreite angeben muss, aber so, dass der Inhalt sauber umbrochen wird, und nicht rechts über den Rand hinaus läuft?

Code: Alles auswählen

\begin{tabular}{p{4cm}p{13cm}}
 spalte 1 & spalte 2\\
\end{tabular}
Bei diesem Beispiel benötigt die Tabelle genau 4cm + 13cm + 2*\tabcolsep Platz. Ich möchte aber, dass z.B. die letzte Spalte den restlichen zur Verfügung stehenden Platz komplett verwendet, und nicht z.B. einmal, wenn die Seitenbreite etwas anders ist, auch die Spaltenbreiten manuell verändert werden müssen. Ist das möglich?

- Adrian

Benutzeravatar
labor78
Beiträge: 163
Registriert: 13.07.2004 10:29:58

Beitrag von labor78 » 29.10.2004 01:14:28

Versuch es mal mit `\textwidth' (Textbreite) und `\pagewidth' (Physikalische Seitenbreite). Wenn Du z.B. ein Bild einbinden möchtest, dann würde der folgende Aufruf

Code: Alles auswählen

\centering
\includegraphics[width=0.4\textwidth]{imagefile}
\centering
dafür sorgen, dass auf 40 % der maximalen Textbreite skaliert wird (0.4\textwidth). Sowas ist bestimmt auch mit Tabellen möglich, wenn man etwas dran rumschraubt :)
May the source be with you...

Benutzeravatar
badera
Beiträge: 638
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 29.10.2004 22:25:35

Vielen Dank. Funktioniert tatsächlich, aber nur, wenn

Code: Alles auswählen

\setlength{\tabcolsep}{0mm}
Das heisst, man müsste von den jeweiligen Spaltenbreiten noch \tabcolsep subtrahieren, wenn dieser Abstand nicht 0 ist.

Code: Alles auswählen

\begin{tabular}{|p{0.3\textwidth-\tabcolsep}|p{0.7\textwidth-\tabcolsep}|}
Das funktioniert leider nicht. Wie macht man das?

- Adrian

Benutzeravatar
labor78
Beiträge: 163
Registriert: 13.07.2004 10:29:58

Beitrag von labor78 » 30.10.2004 21:45:32

Hab noch was gefunden [1]. Probier es mal mit tabular*, also ungefähr sowas:

Code: Alles auswählen

\begin{tabular*}{\textwidth}{l@{\extracolsep\fill}cccccc}

\hline
                  &  N &    M &    s &   MD &   MIN &   MAX \\
\hline
Berufstätig       &  5 &  612 &  384 &  500 &   145 &  1017 \\
Nicht berufstätig & 21 &  485 &  272 &  436 &     0 &   945 \\
Gesamt            & 26 &  509 &  292 &  468 &     0 &  1017 \\
\hline
\end{tabular*}
Der Eintrag @{\extracolsep\fill} ist übrigens in dieser Umgebung wichtig, und sollte nach dem ersten Element in der Spaltenformatierung auftauchen. (Tabelle ist dem Link entnommen.)

[1] http://www.sbg.ac.at/psy/infos/latex/tabellen.htm
May the source be with you...

Benutzeravatar
badera
Beiträge: 638
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 30.10.2004 21:57:36

Hey Cool! 8)

Habs zwar noch nicht probiert, aber schnell den Link angeschaut. Sonst gibts dann noch das Packet <tabularx> habe ich gleich gesehen!
Vielen Dank!!

- Adrian

Antworten