Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Top of page or not?

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685

    Top of page or not?

    Wie kann ich feststellen, ob ich gerade am Beginn einer neuen Seite bin oder
    nicht? Anmerkung: In diesem speziellen Fall handelt es sich immer um einen
    neuen Absatz, so dass eine Unterscheidung innerhalb eines Absatzes (die
    möglicherweise aufwendiger ist) nicht erforderlich ist.

  2. #2
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    Warum willst Du das wissen? Der Seitenumbruch ist hin und wieder sehr instabil und kann sich sogar nach jedem Durchlauf ändern. Ich habe einmal eine Datei gehabt, bei der ein einziger Buchstabe den Unterschied ausmachte.

    Daher: bevor hier die TeX-Programmierer einsteigen, sag' doch 'mal, was Du anstellen willst ?!

    Gruß,
    Alexander

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Ich habe einen "Text", der letztlich aus einer Reihe unterschiedlicher
    (nicht gleitender) Grafikblöcke besteht. Falls ein derartiger Block am
    Beginn einer Seite erscheint, soll er eine spezielle Behandlung erfahren.

  4. #4
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Wenn der Block gesetzt wird, ist es aber zu spät, um ihn noch anders zu behandeln. Da es immer Absatzanfänge sind, kann man eventuell mit \pagegoal arbeiten, also etwas in der Art:

    if \pagegoal-\pagetotal < Höhe + Tiefe von neuem Block
    dann
    sonst

    Eventuell muss man aber auch über \pdfsavepos arbeiten und die aktuelle vertikale Position über die aux-Datei retten und dann beim nächsten Aufruf eine Sonderbehandlung durchführen.

    Man könnte aber auch schlicht zunächst ein Label setzen, dann mit dem needspace-Paket dafür sorgen, dass noch genügend Platz vorhanden ist, dann wieder ein Label setzen und vergleichen, ob beide Labels auf dieselbe Seite zeigen. Das verwendet dann auch wieder das Ergebnis des letzten Laufs.

    Wenn das über mehrere Seiten gemacht wird, kann es ziemlich lange dauern, bis es terminiert. Im Extremfall kann es sogar gar nicht terminieren, sondern anfangen zu schwingen.

  5. #5
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Besten Dank, das war genau der Hinweis in die richtige Richtung. Nach etwas
    Spielen habe ich die folgende, noch einfachere Lösung gefunden:

    Code:
    \ifdim\pagetotal>0pt
    % nicht erste Zeile
    \else
    % erste Zeile
    \fi
    Die Resonanzkatastrophe wäre hier auch weniger kritisch gewesen, da das
    Dokument nicht über zehn Seiten anwachsen wird und zur Not auch händisches
    Nachjustieren möglich gewesen wäre. Aber als LateXy hat man es ja doch
    lieber bequem und elegant ...

Lesezeichen

Berechtigungen

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