Die Tabelle soll über zwei nebeneinander liegende Seiten gehen, Spalten 1, 2 und 3 auf der linken Seite, Spalten 4 und 5 auf der rechten Seite. Drei der Spalten können mehrzeiligen Text enthalten. Manuell zwei separate Tabellen zu bauen fällt aus, da die Tabelle insgesamt ca. 150 Seiten lang wird. Das Ergebnis soll ungefähr so aussehen: Open in writeLaTeX
Buchbindung linke Seite | rechte Seite | Eins Zwei Drei Vier Fünf ---------------------- --------------------- aaaa aaa aaaa aaaaaaa aaa aaaaa bbbbbb bbb bbb bbbbbb bbbb bbb cccc ccc cccc ccccc cccccc cc ddddddd ddd ddd ddddd dddddd dddd ddddd ddddd Das ganze dann eben über sehr viele Seiten. Ich dachte an etwas ähnliches wie ltxtables, habe aber nichts passendes gefunden. Hat hier jemand eine Idee? Es muss auch nicht unbedingt eine Tabelle sein, vielleicht gibt es ja eine andere Möglichkeit Texte auf Doppelseiten vertikal zu synchronisieren. gefragt 31 Okt '14, 11:08 Ingo |
@Ingo Mit dem Paket NOX ist das umsetzbar. Variable Spaltenbreiten sind noch nicht inbegriffen, können aber eventuell eingebaut werden. Beispiel: Open in writeLaTeX
\documentclass[a4paper,twoside]{article} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[colspecstaysintable,l]{nox} \makeatletter %\renewcommand{\thetn@tabline}{}%Zeilenummer ausblenden \makeatother \begin{document} \tntabledimen{1}{3}%Parameter 1 ist Zeilenhöhe, 2 ist Spaltenbreite \deflintab{ \nox\textbf{Sp1},\nox\textbf{Sp2},\nox\textbf{Sp3},\nox\textbf{Sp4},\nox\textbf{Sp5},\nox\textbf{Sp6},\nox\textbf{Sp7}, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7} \tntab[7]{40}{Tabelle}%Parameter 1 ist Spaltenanzahl 2 ist Anzahl der Einträge \pagebreak \deflintab{ \nox\textbf{Sp8},\nox\textbf{Sp9},\nox\textbf{Sp10},\nox\textbf{Sp11},\nox\textbf{Sp12},\nox\textbf{Sp13},\nox\textbf{Sp14}, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7} \tntab[7]{40}{Fortsetzung}%Parameter 1 ist Spaltenanzahl 2 ist Anzahl der Einträge \pagebreak \deflintab{ \nox\textbf{Sp1},\nox\textbf{Sp2},\nox\textbf{Sp3},\nox\textbf{Sp4},\nox\textbf{Sp5},\nox\textbf{Sp6},\nox\textbf{Sp7}, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7} \tntab[7]{40}{Fortsetzung}%Parameter 1 ist Spaltenanzahl 2 ist Anzahl der Einträge \pagebreak \deflintab{ \nox\textbf{Sp8},\nox\textbf{Sp9},\nox\textbf{Sp10},\nox\textbf{Sp11},\nox\textbf{Sp12},\nox\textbf{Sp13},\nox\textbf{Sp14}, Wert8,Wert9,Wert10,Wert11,Wert12,Wert13,dgdf bfgff Wert14, Wert8,Wert9,Wert10,Wert11,Wert12,Wert13,Wert14,Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7, Wert1,Wert2,Wert3,Wert4,Wert5,Wert6,Wert7} \tntab[7]{40}{Fortsetzung}%Parameter 1 ist Spaltenanzahl 2 ist Anzahl der Einträge \end{document} beantwortet 01 Nov '14, 02:28 ctansearch |
Hier nun ein Beispiel für das, was ich bereits als Kommentar angeregt hatte: Open in writeLaTeX
\documentclass[a4paper,twoside]{scrartcl} \newwrite\longtablefile \makeatletter % % Erzeugung einer Beispieltabelle % \AtBeginDocument{% \immediate\openout\longtablefile \jobname-longtable.tex \immediate\write\longtablefile{% \detokenize{% \documentclass{article}^^J% } } \immediate\write\longtablefile{% \noexpand\usepackage[paperwidth=\the\dimexpr 2\textwidth\relax, paperheight=\the\textheight,margin=0pt]{geometry} } \immediate\write\longtablefile{% \detokenize{% \usepackage{longtable}^^J% \usepackage{booktabs}^^J% \begin{document}^^J% \begin{longtable}{@{}*4{p{.25\dimexpr \textwidth-6\tabcolsep\relax}}@{}}^^J% \toprule^^J% A & B & C & D \\^^J% \midrule^^J% \endhead }% }% \@tempcnta\z@ \@whilenum \@tempcnta<1000\do {% \advance\@tempcnta\@ne \immediate\write\longtablefile{% \the\@tempcnta: \detokenize{% erste Spalte & zweite Spalte & dritte Spalte & vierte Spalte \\ }% }% } \immediate\write\longtablefile{% \detokenize{% \end{longtable}^^J% \label{pages}^^J% \end{document} }% } \immediate\closeout\longtablefile \immediate\write18 {pdflatex \jobname-longtable.tex} \immediate\write18 {pdflatex \jobname-longtable.tex}} \makeatother % % Hier nun der Code, um die Beispieltabelle auf Doppelseiten einzubinden % \usepackage{xr} \externaldocument[\jobname-longtable-]{\jobname-longtable} \usepackage{refcount} \usepackage{graphicx} \makeatletter \newcommand*\includedoublepages[2]{% \cleardoubleevenpage \@tempcnta\@ne \@whilenum \@tempcnta<#1\do{% \edef\reserved@a{% \noexpand\includegraphics[% page=\the\@tempcnta, viewport=0 0 \the\textwidth\space \the\textheight,% clip ]{#2}% }% \noindent\reserved@a \newpage \edef\reserved@a{% \noexpand\includegraphics[% page=\the\@tempcnta, viewport=\the\textwidth\space 0 \the\dimexpr 2\textwidth\relax\space \the\textheight,% clip ]{#2}% }% \noindent\reserved@a \newpage \advance\@tempcnta\@ne }% } \makeatother \begin{document} Auf den folgenden Seiten findet sich die Beispieltabelle. \includedoublepages{\getpagerefnumber{\jobname-longtable-pages}}{\jobname-longtable.pdf} \end{document} Wegen der Erzeugung der Beispieltabelle über
aufgerufen werden. Es wird dabei dann zum einen das Tabellendokument Die erste Doppelseite von Das ganze basiert darauf, dass die Tabelle als eigenes Dokument gesetzt wird. Bei diesem Dokument werden die Ränder auf 0 gesetzt. Das Papierformat wird so eingestellt, dass es genauso hoch und doppelt so breit ist wie der Textbereich des Hauptdokuments. Damit kann dann per Trickreich ist bei der Sache hauptsächlich, dass die beantwortet 03 Nov '14, 19:29 gast3 Solche grafischen Workarounds für Tabellenlayouts finde ich eher peinlich.
(04 Nov '14, 22:40)
ctansearch
|
In diesem Fall bietet sich an, die Tabelle in einem eigenen Dokument zu erstellen. Je nachdem ob die Tabelle dabei randabfallend oder nicht gesetzt werden soll, verwendet man dabei einen mehr als doppelt so breiten Satzspiegel oder einen genau doppelt so breiten Satzspiegel. Damit reduziert sich das Problem auf die doppelseitige Einbindung von Bildern. Ich bin gerade etwas ausgepowert, aber vielleicht hat ja ein anderer Lust, die Idee weiter auszuführen.
Beim randabfallenden Satz ggf. an den Anschnitt denken, also jeweils etwas mehr als die Hälfte der Tabelle auf jede Seite. Optimal ist, wenn man die Spaltenbreiten so vorgibt, dass auf jeder Seite nur komplette Spalten stehen. Dann hat man weniger Probleme mit dem randabfallenden Satz.
BTW: AFAIK kann ConTeXt solche Tabellen.
An doppelte Breite habe ich auch zuerst gedacht, dann kommen aber die Seiten durcheinander. Auf dem ersten Blatt hätte ich z.B. Seite 1 und 2 vorne, Seite 3 landet auf der Rückseite von 2 (korrekt) Seite 4 auf der Rückseite von 1 (falsch, Seite 4 muss auf die rechte Hälfte von Blatt 2).
ConTeXt sehe ich mir mal an, Syntax ist etwas anders als bei LaTeX aber ähnlich. Leider ist context ein sehr schlechter Suchbegriff bei Google.
Danke schon mal für die schnelle Antwort.
@Ingo: Das ist bei Verwendung eines eigenen Dokuments, das man dann (jede Seite zweimal mit entsprechendem Clipping, so dass die Seiten eben erst beim Einbinden mehr oder weniger halbiert werden) in sein eigentliches Dokument lädt, eben genau kein Problem.
Ach so hast du das gemeint, jetzt hab ich begriffen. Paket pdfpages? Probier ich heute Abend mal aus.