PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabellenbreite



Sanny1986
06-08-2011, 15:22
Hallo Zusammen,
Ich versuche nun schon den ganzen Tag folgendes Problem zu lösen. Leider habe ich weder im Netz noch in meinen Büchern eine Lösung gefunden.
Meine Tabelle soll so breit sein wie die Textbreite. Mein erster Ansatz war:

\begin{tabular}{|p{0.05\textwidth}p{0.24\textwidth }p{0.19\textwidth} p{0.05\textwidth}p{0.24\textwidth}p{0.09\textwidth }p{0.09\textwidth}|}

Damit müsste die Tabelle sogar kleiner sein als die Textbreite, da ich ja nicht auf 100% komme. Sie ragt aber auf der rechten Seite um einiges über den Textbereich hinaus.
Dann habe ich es mit :

\begin{tabularx}{\textwidth}{|XXXXXXX|}

Probiert. Hier ist aber das Problem, dass ich die Breite der einzelnen Spalten nicht einstellen kann. Da die Überschriften recht Lang sind im Gegensatz zum Inhalt der Tabelle würde ich das aber gerne Manuel einstellen, da die Tabelle sonst echt seltsam aussieht.
Dann bin ich hingegangen und hab die Textbreite abgemessen. Ich benutze die Dokumentenklasse scrreprt und habe nur A4 und 12pt und doppelseitig eingestellt. Die Seitenränder habe ich nach den Voreinstellungen gelassen. Also nach ausdrucken und mit dem Lineal nachmessen komme ich auf 15,1cm Textbreite. Wenn ich jetzt aber die Breite der Spalten per Hand eingebe und rechnerisch unter den 15,1cm bin wird die Tabelle trotzdem wieder breiter. Das sieht dann so aus:

\begin{tabular}{|p{0,75cm}| p{3,6cm}| p{2,9cm}| p{0,75cm}| p{3,6cm}| p{1,4cm}| p{1,4cm}|}

Ich bin mit meinem Latein und Ideen wo ich noch suchen könnte am Ende. Und würde mich sehr freuen wenn jemand Rat weis.

Der Kopf meines Dokuments sieht so aus:
\documentclass[a4paper,twoside,12pt]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[pdftex]{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{array}
\usepackage{rotating}
\usepackage{ctable}
\usepackage{setspace}
\usepackage{threeparttable}
\usepackage{setspace}
\onehalfspacing
\usepackage{calc,booktabs}
\usepackage{pdflscape}
\usepackage{longtable}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[justification=raggedright]{caption}
\usepackage{tabularx}
\setlength\parindent{0pt}
\addtokomafont{caption}{\small}
\usepackage{float}

rstuby
06-08-2011, 16:50
Mach doch lieber eine tabularx mit ein oder zwei X-Spalten und den Rest mit fester Breite.
Bei deiner Vorgehensweise: such nach signifikanten Leerzeichen.

\begin{tabular}{|p{0,75cm}|p{3,6cm}|p{2,9cm}|p{0,7 5cm}|p{3,6cm}|p{1,4cm}|p{1,4cm}|}
(ungetestet)

Sanny1986
06-08-2011, 20:21
Danke. War mir bisher nicht bewusst, dass ich bei tabularex spaltenbreiten festsetzten kann solang ich eine variabel lasse.

Was meintest du mit signifikanten Leerzeichen? Ich hatte
\begin{tabular}{|p{0,75cm}|p{3,6cm}|p{2,9cm}|p{0,7 5cm}|p{3,6cm}|p{1,4cm}|p{1,4cm}|}
zunächst ohne Leerstellen. Ich weis auch, dass das normalerweise so gehört, aber ich bin mir mit LATEX noch nicht so sicher und dachte vielleicht helfen ja doch die Leerstellen. War doof das ich die Version mit den Leerstellen reingestellt hab.

Aber es geht jetzt wie gesagt. Danke noch mal.

voss
06-08-2011, 20:35
Ich versuche nun schon den ganzen Tag folgendes Problem zu lösen. Leider habe ich weder im Netz noch in meinen Büchern eine Lösung gefunden.
Meine Tabelle soll so breit sein wie die Textbreite. Mein erster Ansatz war:


\begin{tabular}{|p{0.05\textwidth}p{0.24\textwidth }p{0.19\textwidth} p{0.05\textwidth}p{0.24\textwidth}p{0.09\textwidth }p{0.09\textwidth}|}

Damit müsste die Tabelle sogar kleiner sein als die Textbreite, da ich ja nicht auf 100% komme. Sie ragt aber auf der rechten Seite um einiges über den Textbereich hinaus.


Du hast aber die Linienbreiten und 14*\tabcolsep vergessen, die kommen bei
dir überall noch dazu.

Herbert

Sanny1986
06-08-2011, 20:41
Achso, das war mir auch nicht bewusst. Danke.