PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formelnummerierung neu beginnen bei Neuer Seite



tfl
01-02-2006, 19:25
Hallo zusammen,

es gibt ja schon einie Beitr"age, wie man die Formelnummerierung an section, etc binden kann. Ich m"ochte jedoch, dass die Nummerierung bei jeder Seite neu startet. (Mein Motiv: das Skript hat eine gro"se Menge an Formeln und beim referenzieren finde ich es f"ur den Leser praktischer: Siehe Formel (132.4) --> Gucke auf Seite 132, die 4. Formel. Habe auch schon B"ucher in dieser Form gelesen.)

Leider erhalte ich durch:


\usepackage{amsmath}

%Setzt den equation-Zaehler nach jeder Seite zurueck
\numberwithin{equation}{page}

%Definiert den Stil:
\renewcommand{\theequation}{\arabic{page}.\arabic{ equation}}
kein befriedigendes Ergebnis, da der page Z"ahler irgendwo im oberen Bereich der neuen Seite erh"oht wird, jedoch nicht strikt sobald (La)TeX eine neue Seite beginnt. So ergibt es sich, dass die erste Formel auf einer Seite noch die vorherige Seitenzahl tr"agt.

Wie kann man das von mir gew"unsche Verhalte dennoch elegant mit LaTeX erzeugen?

Gru"s

TfL

tfl
06-02-2006, 21:20
Hallo,

hat denn keiner eine Idee dazu? Gibt es denn einen Zaehler, der genau synchron mit den Seiten zaehlt (was der page-Zahler ja nicht tut)?

Gruss

TfL

rais
07-02-2006, 20:59
Moin moin,


hat denn keiner eine Idee dazu? Gibt es denn einen Zaehler, der genau synchron mit den Seiten zaehlt (was der page-Zahler ja nicht tut)?

das ist so nicht ganz korrekt, sonst könnte man die Seitenzahl beispielsweise nicht in der Kopfzeile ausgeben lassen - und da paßt sie (bei anderen Dokumenten) bisher noch.
Das Problem scheint zu sein, daß die Mathematikumgebung (beispielsweise align) sich noch auf der vorherigen Seite befindet, wenn die Zuordnung für \theequation gemacht wird... LaTeX dann aber feststellt, daß sich besagte Umgebung auf der Folgeseite besser macht.

Daß die Formel dann trotzdem richtig über \pageref{} referenziert wird, liegt daran, daß diese Zuweisung wiederum erst nach dieser Verschiebung gemacht wird... das wird wohl auf eine entsprechende Redefinition von \label hinauslaufen, um dieses Problem vollständig in den Griff zu bekommen.
Bis da einer beigeht, kannst es ja mal mit \newpage vor der ersten Matheumgebung einer Seite probieren.
MfG,

tfl
07-02-2006, 23:36
Danke fuer die Antwort!

Vielleicht wird die Kopfzeile erst gesetzt, wenn die ganze Seite (also der Fliesstext) gesetzt wurde. Ich habe (um das zu testen) mal ein `Minimalbeispiel' erzeugt. Nonsenstext mit einer Menge \thepage Befehlen, kein Mathematik etc.



\documentclass{article}
\begin{document}
We are on page \thepage. And now on \thepage. More on \thepage. Have you seen
page \thepage? Intresting stuff on page \thepage. This is on page \thepage.
[.... noch einige viele male, so dass es Text fuer zwei Seiten wird ... und ein paar Absaetze einfuegen.]
\end{document}


Dabei erkennt man, dass auf Seite 2 der Text von dem Absatz, der auf der vorherigen Seite begonnen wurde, noch 1 bei \thepage ausgibt. Erst nach einem neuen Absatz wird der Zaehler page erhoeht. Siehe auch den Screenshot von der Seite 2.

Das hat alles nichts mit Mathematikmodus zu tun.

Weil der Zaehler erst nach dem Absatz erhoeht wird, funktioniert mein erstes Beispiel nicht, wie es soll.
Da das Skript die Struktur hat:
kurz Bla
kurz Formel (meist einzeilig)
kurz Blub
kurz Formel (meist einzeilig)
kurz Bla
kurz Formel (meist einzeilig)
kurz Blub
kurz Formel (meist einzeilig)
kurz Bla
kurz Formel (meist einzeilig)
kurz Blub
kurz Formel (meist einzeilig)
will ich gar nicht erst mit \newpage oder so anfangen :eek:

Vielleicht findet sich ja doch noch irgendwas??!

Gruss

TfL

rais
08-02-2006, 01:06
Das hat alles nichts mit Mathematikmodus zu tun.

stimmt, aber damit, daß LaTeX diesen Absatz zuerst (also zu der Zeit, als \thepage durch eine "1" ersetzt wurde) sich noch auf Seite 1 befand und erst hinterher diesen Absatz auf die nächste Seite geschoben hat.
Hmm, vielleicht fällt mir noch was dazu ein...
Seltsam wird auch ein
\renewcommand{\theequation}{\protect\arabic{page}. \arabic{equation}}
in diesem Zusammenhang (dann wird eine z.B. (2.2) auf Seite 3 befindliche Formel mit (3.2) referenziert :eek:
MfG,

tfl
08-02-2006, 22:57
Hallo,

danke nochmal fuer die Antwort.

mit
\renewcommand{\theequation}{\protect\arabic{page}. \protect\arabic{equation}} erreicht man, dass die erste Formel auf der zweiten Seite mit (2.0) nummeriert wird.

Waere das Skript fuer Informatiker, wuerde mich das nicht stoeren :cool:

Wie erreicht man, dass der Zaehler nicht bei 0 anfaengt, sondern bei 1? Bei einem \numberwithin{equation}{section} wird die erste Formel in der zweiten section doch auch nicht (2.0) genannt, oder doch?

Gruss

TfL

tfl
08-02-2006, 23:26
Hallo,
mit

\renewcommand{\theequation}{\protect\arabic{page}. \protect\arabic{equation}} kann man erreichen, dass die erste Formel auf Seite 2 als (1.2), (2.0) oder (2.1) gesetzt wird, jenachdem wie die Absaetze gerade fallen. Zu allen drei Faellen hab ich Beispieldateien angehaengt (verwende: This is pdfeTeX, Version 3.14159-1.10b-2.1 (Web2C 7.4.5))
:-(

Faellt mir schwer zu glauben, dass es etwas gibt, was sich nicht so leicht in LaTeX umsetzten laesst, obwohl es (imho) sinnvoll klingt.

Gruss

TfL





PS: Das Formular ist echt doof: wenns beim Schreiben hier einen timeout gibt, wird der Inhalt des Eingabefensters geloescht :-(