Tabellengröße stimmt nicht mit Seitengröße überein

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabellengröße stimmt nicht mit Seitengröße überein

von Domstadt19 » Di 30. Jul 2019, 17:05

Vielen Dank für die konstruktive Hilfe! Mit \tabcolsep sieht es genauso aus, wie ich es haben möchte.

Das DIN A5-Problem hat sich inzwischen auch gelöst, das war nur eine falsche Anzeige in meinem PDF-Reader. Mit einem anderen Reader wird es korrekt als DIN A5 angezeigt.

Danke nochmal!!!

von esdd » So 28. Jul 2019, 22:34

Domstadt19 hat geschrieben: Das eigentliche Problem ist damit aber nicht gelöst. Es fängt schon damit an, dass ich trotz der a5paper-Option als Ergebnis eine PDF-Datei im DIN A4-Format bekomme.
Mit dem Beispiel von Ratgeber bekomme ich eindeutig A5.
Domstadt19 hat geschrieben: Zunächst möchte ich eigentlich nicht mehr als eine stinknormale Tabelle (7 Spalten, 15 Zeilen) im DinA5-Format, bei der ich für jede Zeile und jede Spalte selbst entscheiden kann, wie viele Zentimeter sie groß ist. Wichtig ist aber, dass die Größe in Zentimeter auch mit der Größe der Seite und der Größe in der PDF-Datei übereinstimmt. Wenn ich also 3cm einstelle, möchte ich auch wirklich 3 cm haben. Das bedeutet, bei einer Breite von 21cm möchte ich etwa 19.5cm einteilen können.
Du möchtest keinen Abstand zwischen Deinen Spalten? Dann entferne den Spaltenabstand mit @{} zwischen den Spalten. Die Linien müssen dabei natürlich auch weg.

Ein Beispiel wäre
\documentclass[11pt,a5paper,landscape]{article} 
\usepackage{geometry} 
\geometry{ 
  margin=1cm, 
  right=0.5cm, 
  nomarginpar,
  includeheadfoot,
  showframe% anzeigen des Seitenlayouts
} 
\begin{document} 
\noindent% Entfernen des Absatzeinzuges
\begin{tabular}
{@{} *{6}{p{3cm}@{}} p{1.5cm}@{}}
\hline 
Das steht in der Spalte A.
  & Das steht in der Spalte B.
  & Das steht in der Spalte C.
  & Das steht in der Spalte D.
  & Das steht in der Spalte E.
  & Das steht in der Spalte F.
  & Es folgt G.
\tabularnewline 
\hline 
\end{tabular} 
\end{document}
Dabei ist *{6}{p{3cm}} nur eine Abkürzung für p{3cm}p{3cm}p{3cm}p{3cm}p{3cm}p{3cm}.

Ich bin mir aber ziemlich sicher, dass Dir das Ergebnis so ganz ohne Spaltenabstand nicht gefällt ;-)

Bild


Deshalb dürfte es sinnvoller sein, den Spaltenabstand einfach bei der Spaltendefinition zu berücksichtigen, in dem von der gewünschten Breite einfach 2\tabcolsep abgezogen werden.
\documentclass[11pt,a5paper,landscape]{article} 
\usepackage{geometry} 
\geometry{ 
  margin=1cm, 
  right=0.5cm, 
  nomarginpar,
  includeheadfoot,
  showframe% anzeigen des Seitenlayouts
} 
\usepackage{calc}
\begin{document} 
\noindent% Entfernen des Absatzeinzuges
\begin{tabular}
{@{} *{6}{|p{3cm-2\tabcolsep}} |p{1.5cm-2\tabcolsep}}
\hline 
Das steht in der Spalte A.
  & Das steht in der Spalte B.
  & Das steht in der Spalte C.
  & Das steht in der Spalte D.
  & Das steht in der Spalte E.
  & Das steht in der Spalte F.
  & Es folgt G.
\tabularnewline 
\hline 
\end{tabular} 
\end{document} 
Dabei ist *{6}{p{3cm-2\tabcolsep}}} wieder nur eine Abkürzung für p{3cm-2\tabcolsep}p{3cm-2\tabcolsep}p{3cm-2\tabcolsep}p{3cm-2\tabcolsep}p{3cm-2\tabcolsep}p{3cm-2\tabcolsep}.

Verzichtet man auf das Paket calc muss man p{\dimexpr 3cm-2\tabcolsep \relax} statt p{3cm-2\tabcolsep} schreiben.

Ergebnis:

Bild

Domstadt19 hat geschrieben: Später bekommt die Tabelle noch eine große Kopfzeile, in der ich mit multicolumn und cline arbeiten muss. Das geht meines Wissens nach am besten mit tabulary.
Wo hast Du diese Info her? Weder für \multicolumn noch für \cline wird irgendein Paket benötigt.
Dateianhänge
gl_tabcolsep1.png
gl_tabcolsep1.png (12.43 KiB) 2694 mal betrachtet
gl_tabcolsep2.png
gl_tabcolsep2.png (13.82 KiB) 2686 mal betrachtet

von Gast » So 28. Jul 2019, 18:35

\muticolumn und \cline hat nichts mit tabulary zu tun. Warum die Tabellenbreite nicht stimmt, habe ich oben erklärt (Stichwort [t[\tabcolsep[/tt]).

von Domstadt19 » So 28. Jul 2019, 13:11

Danke schon mal. Den Vorschlag, die Geometry-Parameter als Argumente zu übergeben, setze ich gerne um. Danke auch für den Tipp mit \nomarginpar, dann ist der linke und rechte Rand auch frei.

Das eigentliche Problem ist damit aber nicht gelöst. Es fängt schon damit an, dass ich trotz der a5paper-Option als Ergebnis eine PDF-Datei im DIN A4-Format bekomme. Das macht es nicht einfacher, mit genauen Zentimeter-Angaben zu arbeiten.

Zunächst möchte ich eigentlich nicht mehr als eine stinknormale Tabelle (7 Spalten, 15 Zeilen) im DinA5-Format, bei der ich für jede Zeile und jede Spalte selbst entscheiden kann, wie viele Zentimeter sie groß ist. Wichtig ist aber, dass die Größe in Zentimeter auch mit der Größe der Seite und der Größe in der PDF-Datei übereinstimmt. Wenn ich also 3cm einstelle, möchte ich auch wirklich 3 cm haben. Das bedeutet, bei einer Breite von 21cm möchte ich etwa 19.5cm einteilen können.

Der Grund für tabulary ist ein weiterer. Später bekommt die Tabelle noch eine große Kopfzeile, in der ich mit multicolumn und cline arbeiten muss. Das geht meines Wissens nach am besten mit tabulary.

Gibt es eine Möglichkeit, diese genauen Vorstellungen in LaTex umzusetzen?

Was nicht passt …

von Ratgeber » So 28. Jul 2019, 12:38

Anonymous hat geschrieben:[…] Unbedingt sollte man die Papiergröße direkt bei \geometry angeben. […]
Das ist nicht unbedingt nötig, wenn die richtigen Optionen der Dokumentklasse mitgegeben werden. Mit denen kommt »geometry« auch so ganz gut zurecht. Wenn das Ganze dann noch – hier mit »tabularx« – automatisiert und der Absatzeinzug lokal ausgeschaltet wird, passt die Tabelle auch auf die Seite.
\documentclass[11pt,a5paper,landscape]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage[
  left=1cm,
  right=0.5cm,
  top=1cm,
  bottom=1cm,
  includeheadfoot,
  nomarginpar,     % kein Platz für Randnotizen
  showframe        % Anzeige des Satzspiegels
]{geometry}

\usepackage{tabularx}

\usepackage{lmodern}
\usepackage{microtype}

\begin{document}
  \noindent % Absatzeinzug lokal auschalten
  \begin{tabularx}{\linewidth}{*{6}{|X}|p{1.5cm}|} \hline
    A & B & C & D & E & F & G \\ \hline
  \end{tabularx}
\end{document}

von Gast » So 28. Jul 2019, 10:41

Wie so oft (und sicher auch in diesem Forum mehrfach zu finden): Du hast nicht berücksichtigt, dass vor und nach jeder Spalte ein Abstand von \tabcolsep eingefügt wird (in dem sich beispielsweise die furchtbare vertikale Linie befindet, die du leider zwischen den Spalten einfügst und so das Lesen der Tabelle erschwerst → [d]booktabs[/d]-Anleitung).

Übrigens ist tabulary wenig sinnvoll, wenn man alle Spalten mit einer festen Breite versieht. Dann genügt eigentlich tabular. Der Sinn von tabulary ist ja gerade, dass man die Spaltenbreiten nicht alle selbst angibt, sondern mit J, C, L oder R arbeitet.

Und dann darf man ggf. auch nicht den Absatzeinzug vergessen.

Die Randeinstellungen sind übrigens unter aller Sau. Unbedingt sollte man die Papiergröße direkt bei \geometry angeben. Siehe Optionen papersize, paperwidth und paperheight in der [d]geometry[/d]-Anleitung. Nur dann kann \geometry und ggf. \newgeometry zuverlässig mit der Papiergröße arbeiten.

Tabellengröße stimmt nicht mit Seitengröße überein

von Domstadt19 » So 28. Jul 2019, 09:08

Hallo,

ich möchte gerne ein DinA5-Dokument mit einer Tabelle erstellen, bei der die Spalten eine feste Breite haben. Bereite mit einer minimalen Test-Tabelle habe ich das Problem, dass sie deutlich über den Seitenrand geht, obwohl das von der Länge gar nicht passieren dürfte.

Am liebsten hätte ich:
- Breite der Seite: 21 cm
- 1 cm Rand links, 0,5cm Rand rechts => 19,5cm für die Tabelle

Ich habe bereits versucht:
\documentclass[11pt]{article}
\usepackage{color}
\usepackage{tabulary} % Für Tabellen
\usepackage{geometry}
\geometry{
  left=1cm,
  right=0.5cm,
  top=1cm,
  bottom=1cm
}
\setlength{\paperwidth}{21cm}
\setlength{\paperheight}{14.8cm}

\begin{document}
\begin{tabulary}{19.5cm}{|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{1.5cm}}
\hline
A & B & C & D & E & F & G \\
\hline
\end{tabulary}
	
\end{document}
Irgendwie scheinen die Zentimeter der Seitengröße nicht mit den Zentimetern der Tabelle übereinzustimmen. Hat jemand eine Idee, wie man das lösen kann?

Gruß, Wolfgang

Nach oben