\thepage gibt falsche Seite aus

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: \thepage gibt falsche Seite aus

von KOMA » Fr 26. Feb 2010, 08:08

Um noch die Frage nach der Ursache zu beantworten: Wie hier schon häufiger erwähnt wurde, hat LaTeX einen asynchronen Seitenumbruch. Das liegt u. a. daran, dass immer komplette Absätze umbrochen und in eine sogenannte vertikale Liste (so etwas ähnliches wie eine vertikale Box) geschrieben werden. Ist diese Liste größer als eine Seite, so wird aus dem oberen Teil dieser Box und einigen zusätzlichen Teilen, wie dem Seitenkopf, dem Seitenfuß und Fußnoten eine neue Seite gebaut und ausgegeben. Der Rest der Box bildet die Grundlage für die neue Box.

Natürlich müssen bereits beim Umbruch des Absatzes, also nicht erst beim Seitenumbruch alle Makros (Also auch \thepage) aufgelöst werden, da diese ja einen Einfluss auf den Umbruch haben können. Der Boxrest kann auch nicht neu umbrochen werden, weil TeX bereits beim Absatzumbruch diverse Informationen, die es für die Ausgabe der Box nicht mehr benötigt, wegwirft und auch kein Rückbezug zum Quelltext mehr besteht (davon abgesehen, dass TeX keine Möglichkeit bietet im Quelltext rückwärts zu gehen).

Damit wird \thepage also immer zu Ausgabe der Seitenzahl expandiert, auf der der Absatz umbrochen wird und nicht auf der der Absatz ausgegeben wird. Hat man einen Absatz, der über 100 Seiten umbrochen wird, so sind alle \thepage-Ausgaben auf diesen 100 Seiten gleich.

BTW: Das ist auch der Grund, warum ich immer und immer wieder schreibe, dass man im Seitenkopf \thesection etc. nicht direkt verwenden soll. Dort gibt es nämlich das quasi umgekehrte Problem: der Zähler kann bereits größer geworden sein, wenn der Kopf zusammengebaut wird. Stattdessen sollte man hier immer über den Mark-Mechanismus von TeX gehen, der genau dieses Problem löst (vorausgesetzt, man verwendet nicht \protect innerhalb der Mark-Anweisung).

Und das ist auch der Grund, warum auf einer Seite etwas wie \ifodd\value{page} nicht funktioniert (wohl aber im Kopf) und KOMA-Script deshalb \ifthispageodd anbietet, das wie \label/\pageref min. einen LaTeX-Lauf zusätzlich benötigt.

PS: Auch wenn diverse Rechtschreibkorrekturen »umbrochen« als Fehler markieren: Das ist genau richtig.

von eFCiKay » Do 25. Feb 2010, 23:39

Ich konnte mir soeben selbst helfen:

anstatt
\thepage
oder
\pagemark
verwende ich nun:
\label{p1}\pageref{p1}
Quelle: http://www.latex-project.org/guides/lb2-ch4.pdf :)

\thepage gibt falsche Seite aus

von eFCiKay » Do 25. Feb 2010, 20:06

Hallo,

ganz kleine Frage hätte ich nur:
kann mir jemand sagen, warum in dem Minimalbeispiel in der großen Schrift nicht
Dies ist die Seite: 2
steht? :D
Und klar: ich würd auch gern wissen, wie ich dem Problem abhelfen kann ;)
\documentclass[a4paper]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage[demo]{graphicx}

\begin{document}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.   

Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.   

Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.   
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.   

Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.   

At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur  

Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. 

Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. 
\LARGE Dies ist die Seite: \thepage \normalsize

Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.  

Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.  

Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.    

Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis. 

\begin{figure}[t]
\centering
\includegraphics[height=10cm]{Test}
\caption{Test}
\end{figure}

\end{document}
edit: ich habe das Beispiel noch verkleinern können.

Nach oben