Reference 'lastpage' on page 1 undefined

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Kel
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Fr 25. Mär 2011, 01:24

Reference 'lastpage' on page 1 undefined

Beitrag von Kel »

Bei meinem Dokument erscheinen die Seitenzahlen im Format
'aktuelle Seite/Gesamtanzahl'
nicht mehr, vor einer Woche ging es aber noch problemlos :?.

Ich nutze die Klasse "uebungsblatt", die das bisher automatisch erledigt hat als Fußzeile (denke ich).

Google sagt mir, dass ich zweimal umwandeln muss, damit die Seitenzahlen korrekt angezeigt werden, hilft aber auch nichts.
\documentclass[12pt]{uebungsblatt}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{amssymb}
\usepackage{amsmath}

\newcommand{\ggt}{\text{ggT}}
\edit
Wenn ich aus "\documentclass[12pt]{uebungsblatt}" das "[12pt]" streiche, läuft es einwanfrei durch. Das hat davor aber noch nie Probleme gemacht, was ist da los? :?

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Die Klasse setzt das Label lastpage, per
\AtEndDocument{%
    \label{lastpage}%
}
Das sieht auf den ersten Blick so aus, als müsse es funktionieren. Das Problem mit \label am Dokumentende ist aber, dass \label die Label-Information per \protected@write in die aux-Datei geschrieben wird. Das bedeutet, dass diese Information nur dann in die aux-Datei geschrieben wird, wenn anschließend noch eine Seite ausgegeben wird. Ist der Seitenpuffer von TeX bereits ausgegeben, so geht die \label-Anweisung also ins Leere.

Genau das scheint in Deinem Fall passiert zu sein. Ursache kann beispielsweise sein, dass am Ende des Dokuments ein \clearpage oder eine \include-Anweisung steht oder anderer Code für ein \clearpage am Dokumenteende noch vor dem \label führt. Es kann aber auch rein zufällig der Fall sein, weil die letzte Seite gerade noch ausgegeben wurde.

Helfen könnte eventuell ein explizites \label{lastpage} noch vor dem Ende des letzten Absatzes (also beispielsweise unmittelbar hinter dem letzten Punkt des letzten Satzes oder sogar noch früher). Das wird dann allerdings zu einer Meldung wegen eines doppelt definierten Labels führen, sobald die Ausnahmesituation zufällig nicht mehr eintritt. Ein echtes Problem sollte hingegen dadurch nicht entstehen.

Falls Dich die Erklärung nicht interessiert oder Du sie nicht verstehst, bitte nicht darüber aufregen, sondern einfach nur den Vorschlag ausprobieren. Falls der auch nichts nützt, sei darauf hingewiesen, dass ich mangels vollständigem Minimalbeispiel (siehe meine Signatur) nur über eingeschränkte Informationen verfügte und das Problem nur theoretisch angehen konnte. Dabei habe ich mir erlaubt, nur die Zeit zu investieren, die für die erste Idee notwendig war, die mir in den Sinn kam.

Antworten