Ich erstelle ein Dokument mit der Dokumentklasse scrbook. Den Satzspiegel lasse ich mir über die Option DIV=calc berechnen. Der Textbereich ist dann relativ schmal (was aber auch erwünscht ist, dass im Schnitt nicht zu viele Zeichen in einer Zeile stehen). Für eine lange Tabelle die über mehrere Seiten geht, nutze ich das Paket longtable. Die Tabelle ist etwas breiter als der Satzspiegel (absichtlich, ich habe mich da von Typokurz inspirieren lassen). Dort heißt es (Abschnitt 7 "Tabellen" auf Seite 11), dass die Breite einer Tabelle eher anhand der inhaltlichen Struktur als anhand dem Satzspiegel bestimmt werden sollte (und auf den Seiten 3, 4 und 5 sieht man auch ein Beispiel für solch eine Tabelle).

Ich möchte also eine überbreite longtable über mehrere Seiten (zweiseitiges Dokument), wobei der innere Rand (also auf ungeraden, rechten Seiten der linke Rand und auf geraden, linken Seiten der rechte Rand) sowohl auf geraden wie auch ungeraden Seiten jeweils gleich sein soll. Stattdessen soll die Tabelle jeweils in den äußeren Rand ragen.

Ich habe schon andere Fragen wie hier gesehen, wo als Antwort allerdings nur kommt, dass man doch die Tabelle schmaler gestalten soll. Das ist für mich aber nicht möglich. Ich möchte die Tabelle aber auch nicht im Querformat bringen oder auf breitere A3-Seiten im Querformat umschalten, die man dann ausklappen müsste im gedruckten Dokument.

Wie ich verstehe, liegt das Problem daran, dass LaTeX (unabhängig von linker oder rechter Seite) immer von links nach rechts schreibt. Auf einer ungeraden Seite ragt die überbreite Tabelle dann in den rechten, äußeren Rand (wie gewünscht). Auf einer geraden Seite ragt die Tabelle dann allerdings in den rechten, inneren Rand (welcher ja ohnehin schon schmaler ist).

Beispiel:

\documentclass[
    DIV=calc,
    ngerman,
    usegeometry,
    captions=tableabove,
]{scrbook}

\usepackage{babel}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage[showframe]{geometry}

\begin{document}
Platzhalter\newpage
\noindent
Text vor langer Tabelle, der ungefähr andeuten soll, wie breit der Satzspiegel
ist.
{\renewcommand{\arraystretch}{1.5}
\begin{longtable}{@{}*{5}{p{.23\textwidth}}@{}}
    \caption{Das ist eine sehr lange Tabelle} \\
    \toprule
    Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 & Spalte 5 \\
    \midrule \endfirsthead
    %
    \multicolumn{5}{@{}l}{\dots{} Fortsetzung} \\[.3em]
    \toprule
    Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 & Spalte 5 \\
    \midrule \endhead
    %
    \bottomrule
    \multicolumn{5}{r@{}}{Fortsetzung \dots} \\
    \endfoot
    %
    \bottomrule
    \endlastfoot
    %
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
    hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text & hier etwas Text \\
\end{longtable}
}
\noindent
Text nach langer Tabelle, der ungefähr andeuten soll, wie breit der Satzspiegel
ist.
\end{document}

Bei dem Beispieldokument würde ich mir also wünschen, dass die Tabelle auf Seite 2 in den linken (äußeren) Rand ragt, statt in den rechten (und somit inneren) Rand. Auf Seite 3 passt es ja bereits, da die Tabelle in den rechten (hier äußeren) Rand ragt.

Wie kann ich das erreichen, dass eine überbreite longtable automatisch korrekt ausgerichtet wird? Ich weiß, dass KOMA-Skript \ifthispageodd bietet. ich weiß allerdings nicht, wie ich das in die longtable integriere kann. Ich kann auch sonst nichts dazu finden.

gefragt Gestern

AndreGismo's gravatar image

AndreGismo
5961730
Akzeptiert-Rate: 72%

Deine Antwort auf die Frage: (Bemerkungen bitte oben als Kommentar)
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×79
×40
×17
×17
×2

gestellte Frage: Gestern

Frage wurde gesehen: 40 Mal

zuletzt geändert: Gestern