Anzeige:
Ergebnis 1 bis 14 von 14

Thema: Doppelseitige Tabelle

  1. #1
    mcsonix
    Gast

    Doppelseitige Tabelle

    Hallo!
    Ich würde gerne eine Tabelle über eine Doppelseite setzen. Konkret sind es zwei Spalten auf der linken Seite und zwei auf der rechten Seite. Erschwerend kommt hinzu, dass sie die Tabelle wie ein longtable auf die nächste Seite umbrechen lassen sollte. Schön wäre, wenn sie genau so gut mit Fußnoten klar käme wie longtable. Es handelt sich um recht viel Textmaterial, daher kommt eine Bastellösung mit viel Handarbeit nicht infrage.

    Eine ähnliche Fragestellung kam letztes Jahr schon einmal
    (http://www.mrunix.de/forums/showthread.php?t=66285)
    Leider komme ich so nicht weiter.

    Hat jemand eine Idee, wie sich dieses Problem lösen ließe?
    Ist es möglich, ein entsprechendes Package selbst zu programmieren?
    Es gibt viele gute Tutorials für den LaTeX-Anwender, aber ich habe kaum Material über das Programmieren von Makros gefunden. Hat da jemand eine Empfehlung?

    Vielen Dank und viele Grüße,
    Mc.

  2. #2
    ctansearch
    Gast
    mcsonix,
    so ganz verständlich ist das nicht.
    Wozu soll die Tabelle über eine Doppelseite gehen?

  3. #3
    mcsonix
    Gast

    Parallele Texte

    Hallo ctansearch,

    Zitat Zitat von ctansearch Beitrag anzeigen
    Wozu soll die Tabelle über eine Doppelseite gehen?
    Das habe ich in der Tat nicht erwähnt. Es geht um die Gegenüberstellung von vier Texten, die Absatzweise parallel gehalten werden sollen. Ich finde je zwei Spalten auf einer Seite deutlich schöner, als vier Spalten auf eine Seite zu quetschen.

    Es gibt zwar das parallel Package, das unterstützt aber nur zwei Texte. Außerdem stoße ich mit parallel immer wieder auf Schwierigkeiten mit Überschriften, Fußnoten etc. während longtable mit all dem recht gut klar kommt. Deshalb die Idee einer vierspaltige Tabelle, bei der zwei Spalten auf der gegenüberliegenden Seite liegen.

    Natürlich bin ich auch offen für ganz andere Gedanken.

    Vielen Dank und viele Grüße,
    Mc.

    PS: So eine ungewöhnliche Idee ist es doch nicht, eine besonders große Tabelle auf eine Doppelseite zu verteilen, oder?

  4. #4
    ctansearch
    Gast
    Ungewöhnlich oder nicht, eine interessante Idee.
    Auf jeden Fall ist longtable dazu eine gute Wahl, weil s eine gute Registerhaltigkeit bietet. Dazu muss man aber jede Spalte mit einem \newline beginnen.
    Wenn es über mehrere Seiten funktionieren soll, würde ich die Texte zunächst als Fließtext eingeben und dann, wenn die Tabelle funktioniert, die entsprechenden Abschnitte verschieben, so dass es auch inhaltlich passt.

    Ich bastel nachher mal ein Beispiel.

  5. #5
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von mcsonix Beitrag anzeigen
    Das habe ich in der Tat nicht erwähnt. Es geht um die Gegenüberstellung von vier Texten, die Absatzweise parallel gehalten werden sollen. Ich finde je zwei Spalten auf einer Seite deutlich schöner, als vier Spalten auf eine Seite zu quetschen.

    Es gibt zwar das parallel Package, das unterstützt aber nur zwei Texte. Außerdem stoße ich mit parallel immer wieder auf Schwierigkeiten mit Überschriften, Fußnoten etc. während longtable mit all dem recht gut klar kommt. Deshalb die Idee einer vierspaltige Tabelle, bei der zwei Spalten auf der gegenüberliegenden Seite liegen.

    Natürlich bin ich auch offen für ganz andere Gedanken.
    du kannst einfach _in_ der zweispaltigen longtable mit \pagebreak einen
    Seitenumbruch erzwingen. Wenn die linke Tabelle nicht oben anfängt,
    dann musst du rechts den entsprechenden Abstand durch die
    \phantom-Anweisung einstellen. Hier ein Beispiel:
    http://ftp.uni-erlangen.de/mirrors/C.../06-00-26.ltx2

    Herbert

  6. #6
    Registrierter Benutzer
    Registriert seit
    28.05.2009
    Beiträge
    407
    Und du kannst mit
    Code:
    \endhead
    statt \\ am Ende deiner Überschrift erreichen, dass diese auf jeder Seite wiederholt wird.
    MiKTex 2.9 | TeXstudio 2.8.2 | TeXworks 0.4.5

  7. #7
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Legion Beitrag anzeigen
    Und du kannst mit
    Code:
    \endhead
    statt \\ am Ende deiner Überschrift erreichen, dass diese auf jeder Seite wiederholt wird.
    womit du nix anfangen kannst, wenn die linke Tabelle nicht oben auf der Seite
    anfängt.

    Herbert

  8. #8
    Registrierter Benutzer
    Registriert seit
    28.05.2009
    Beiträge
    407
    Zitat Zitat von voss Beitrag anzeigen
    womit du nix anfangen kannst, wenn die linke Tabelle nicht oben auf der Seite
    anfängt.

    Herbert
    Meinst du die erste Zeile? Die fängt bei mir sehr weit unten auf der Seite an und das funktioniert trotzdem prima. Auch ein \pagebrake nach 4 weitern Zeilen ändert daran nichts.
    MiKTex 2.9 | TeXstudio 2.8.2 | TeXworks 0.4.5

  9. #9
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Legion Beitrag anzeigen
    Meinst du die erste Zeile? Die fängt bei mir sehr weit unten auf der Seite an und das funktioniert trotzdem prima. Auch ein \pagebrake nach 4 weitern Zeilen ändert daran nichts.
    es geht darum, dass _beide_ Tabellen links und rechts auf
    derselben Höhe beginnen. Und man kann mit \pagebreak und
    \endhead nichts anfangen, wenn auf der linken Seite vor der Tabelle
    irgendein Text steht ...

    Herbert

  10. #10
    Registrierter Benutzer
    Registriert seit
    28.05.2009
    Beiträge
    407
    OK, hatte es allerdings so verstanden, dass auf den Seiten nur die Tabelle ist.
    MiKTex 2.9 | TeXstudio 2.8.2 | TeXworks 0.4.5

  11. #11
    ctansearch
    Gast

    Beispiel

    Code:
    \documentclass[a4paper,10pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[german]{babel}
    \usepackage{fontenc}
    \usepackage{graphicx,longtable,array,blindtext}
    \usepackage[dvips]{hyperref}
    \newcommand{\textA}{\newline \subsection*{Rapunzel}\blindtext}
    \newcommand{\textB}{\newline\subsection*{Schneewittchen}\blindtext}
    \newcommand{\textC}{\newline\subsection*{Schneeweisschen}\blindtext}
    \newcommand{\textD}{\newline\subsection*{Rosenrot}\blindtext}
    \newcommand{\textE}{\newline \subsection*{Stiefmutter}\blindtext}
    \newcommand{\textF}{\newline\subsection*{Zwerge}\blindtext}
    \newcommand{\textG}{\newline\subsection*{Bären}\blindtext}
    \newcommand{\textH}{\newline\subsection*{Adler}\blindtext}
    \newcommand{\textI}{\newline\subsection*{Könige}\blindtext}
    \newcommand{\textJ}{\newline\subsection*{Prinzen}\blindtext}
    \date{2010-02-18}
    
    \begin{document}
    
    \begin{longtable}{p{7cm}p{7cm}} Vergleichen der Märchenfiguren \endfirsthead Vergleichen der Märchenfiguren\endhead
    
    \textA&\textB \\
    \textC& \textD \\
    \textC& \textD \\
    \textE& \textF \\
    \textG& \textH \\
    \textI& \textJ \\
    \end{longtable}
    
    \end{document}

  12. #12
    mcsonix
    Gast

    Ein Beispiel

    Hallo allerseits!
    Vielen Dank zunächst einmal für die zahlreichen Antworten.

    Das Hauptproblem ist vor allem, dass es sich wie eingangs erwähnt um seeeehr viel Text handelt, genauer gesagt um vier Übersetzungen desselben Textes. Das Ziel ist, die vier Übersetzungen übersichtlich vergleichbar zu präsentieren. Weil es so viel Text ist (ich erwarte auf jeden Fall eine dreistellige Seitenzahl) ist es praktisch unmöglich, jeden Seitenumbruch manuell festzulegen.

    Das Resultat sollte in etwas so aussehen, wie im angehängten Beispiel, in dem die Absätze links und rechts noch nicht auf derselben Höhe stehen.

    Mir ist bewusst, dass das eine eher knifflige Aufgabe ist.

    Ich habe mir übers Wochenende überlegt, ob man nicht ausgehend von longtable eine Umgebung doubletable ableiten könnte, die folgendes macht:
    1. Man definiert eine Tabelle mit vier Spalten. Die Umgebung ermittelt, wie hoch jede Zeile sein muss und wie viele Zeilen auf eine Seite passen (das kann longtable ja schon)
    2. Jetzt werden aber statt vier Spalten nur die ersten beiden ausgegeben, dann die Seite umgebrochen und dann Spalten 3 und 4 ausgegeben.
    3. Danach geht es wieder von vorn los.

    Ist das realistisch eine realistische Idee?

    Vielen Dank nochmal und einen guten Start in die Woche,
    Mc

    PS: Es ging bei den Antworten u.a. auch darum, ob auf der linken Seite oberhalb der Tabelle Text stehen soll. Das wäre ein klassisches nice-to-have. Ich kann aber auch gut damit leben, wenn die Tabelle allein auf der Seite steht.

  13. #13
    Registrierter Benutzer
    Registriert seit
    27.11.2007
    Beiträge
    375
    Hallo,

    ich habe auch noch eine Idee: Man könnte vielleicht einfach die Papiergröße anpassen (2xA4) und dann auf diese Doppelseite eine vierspaltige longtable setzen. Es gibt dann bestimmt Tools, die beim Drucken wieder einzelne A4-Seiten daraus machen...

    Wäre das eine Möglichkeit?

    Christian.
    Ubuntu 16.04 -- TeX Live 2015 -- Emacs (AUCTeX, RefTeX)

  14. #14
    ctansearch
    Gast
    mcsonix,
    ich vermute. das kannst Du nur durch immer gleichgroße Zellen hinbekommen, also definierte Spalten - und Zeilengrößen.
    Ob longtable sowas anbietet weiß ich nicht, aber Du kannst \raisebox dazu benutzen.
    Die maximale Zeilenhöhe kannst Du mit dem \newcommand {\maxheight} {\raisebox{xcm}beeinflussen. Dann musst Du lediglich den größten Absatz ermitteln und den Wert anpassen.

    Code:
    \documentclass[a4paper,10pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[german]{babel}
    \usepackage{fontenc}
    \usepackage{graphicx,longtable,array,blindtext}
    \usepackage[dvips]{hyperref}
    \newcommand{\textA}{\newline \subsection*{Rapunzel}hznhzzh}
    \newcommand{\textB}{\newline\subsection*{Schneewittchen}juhzgt}
    \newcommand{\textC}{\newline\subsection*{Schneeweisschen}huzhztg}
    \newcommand{\textD}{\newline\subsection*{Rosenrot}hjdhffgbf fbfgfbf fbfgfbf fbfgffbf}
    \newcommand{\textE}{\newline \subsection*{Stiefmutter}hndddgbddf dbdfddgdbd dvdgdfddbd dbdvdfddf}
    \newcommand{\textF}{\newline\subsection*{Zwerge}hdgdbdfdtd dbdgdvd ddbdddkdkddjd dndfhfjfgughg g}
    \newcommand{\textG}{\newline\subsection*{Bären}jgugitturzeetrsgafsrwew dgdetege}
    \newcommand{\textH}{\newline\subsection*{Adler}hndddgbddf dbdfddgdbd dvdgdfddbd dbdvdfddfblindtext}
    \newcommand{\textI}{\newline\subsection*{Könige}hndddgbddf dbdfddgdbd dvdgdfddbd dbdvdfddfblindtext}
    \newcommand{\textJ}{\newline\subsection*{Prinzen}hndddgbddf dbdfddgdbd dvdgdfddbd dbdvdfddfblindtext}
    \date{2010-02-18}
    \newcommand{\maxheight}[1]{\newline \raisebox{#1}}
    \begin{document}
    
    \begin{longtable}{p{0.1cm}p{7cm}p{7cm}} Vergleichen der Märchenfiguren \endfirsthead Vergleichen der Märchenfiguren\endhead
    
    \maxheight{2cm}&\textA&\textB \\
    \maxheight{7cm}&\textC& \textD \\
    \maxheight{3cm}&\textC& \textD \\
    \maxheight{1cm}&\textE& \textF \\
    \maxheight{1cm}&\textG& \textH \\
    \maxheight{8cm}&\textI& \textJ \\
    \end{longtable}
    \end{document}
    1.Habe es nochmal verändert. Du kannst \maxheight auch variabel angeben, z.B. pro Seite
    \newcommand{\maxheight}[1]{\raisebox{#1}}
    und
    \maxheight{5cm}&\textI&\maxheight{5cm}& \textJ \\

    2.Nochmal verändert: Es genügt, pro Zeile eine \raisebox zu definieren.
    3. Die \raisebox muss natürlich auch mit \newline beginnen!!!!
    Geändert von ctansearch (22-02-2010 um 20:37 Uhr) Grund: Codergänzung

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •