Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

20 Mär '19, 08:11

gast3's gravatar image

gast3
(ausgesetzt)

Das ist ein altbekanntes Problem mit Paketen, die via `\AtEndDocument` explizit ein `\clearpage` ausführen. Sowohl `scrlfile` als auch `atveryend` bieten dafür seit vielen Jahren Alternativlösungen, nämlich die Ausführung von Code nach dem letzten `\clearpage` innerhalb von `\AtEndDocument`. Leider gibt es noch immer Pakete wie `lastpage`, die davon keinen Gebrauch machen, obwohl sie es gut gebrauchen konnten. Eventuell würde es helfen, wenn möglichst viele Anwender, das Problem dem jeweiligen Paketautoren melden. Jedenfalls ist die Lösung einfach: Verzicht auf `lastpage` und Implementierung der benötigten Funktionalität mit Hilfe von einem der beiden genannten Pakete. Da `scrlfile` auch `\protected@write` innerhalb von `\AtEndDocument` durch eine `\immediate`-Version ersetzt, ist es damit recht einfach: \begin{filecontents}{meineklasse.cls} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{meineklasse} \LoadClass{article} \RequirePackage{scrlayer-scrpage}% In Klassen verwendet man \RequirePackage % statt \usepackage. \BeforeClosingMainAux{% \addtocounter{page}{-1}% Nach der letzten Seite, also Zähler korrigieren. \label{LastPage}% } \renewcommand*{\pagemark}{{\usekomafont{pagenumber}{\pagename~\thepage~\ofname~\pageref{LastPage}}}} \providecaptionname{english}{\pagename}{Page} \providecaptionname{english}{\ofname}{of} \providecaptionname{ngerman,german,nswiss,swiss,naustrian,austrian}{\pagename}{Seite} \providecaptionname{ngerman,german,nswiss,swiss,naustrian,austrian}{\ofname}{von} \end{filecontents} \documentclass{meineklasse} \usepackage{blindtext} \AtEndDocument{Text am Ende des Dokuments (soll nicht auf einer neuen Seite stehen)} \begin{document} \blindtext \end{document} Wie du siehst, ist hier jetzt ggf. noch nicht einmal der letzte Absatz beendet.beendet, bevor der Code aus `\AtEndDocument` ausgeführt wird.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

20 Mär '19, 08:10

gast3's gravatar image

gast3
(ausgesetzt)

Das ist ein altbekanntes Problem mit Paketen, die via `\AtEndDocument` explizit ein `\clearpage` ausführen. Sowohl `scrlfile` als auch `atveryend` bieten dafür seit vielen Jahren Alternativlösungen, nämlich die Ausführung von Code nach dem letzten `\clearpage` innerhalb von `\AtEndDocument`. Leider gibt es noch immer Pakete wie `lastpage`, die davon keinen Gebrauch machen, obwohl sie es gut gebrauchen konnten. Eventuell würde es helfen, wenn möglichst viele Anwender, das Problem dem jeweiligen Paketautoren melden. Jedenfalls ist die Lösung einfach: Verzicht auf `lastpage` und Implementierung der benötigten Funktionalität mit Hilfe von einem der beiden genannten Pakete. Da `scrlfile` auch `\protected@write` innerhalb von `\AtEndDocument` durch eine `\immediate`-Version ersetzt, ist es damit recht einfach: \begin{filecontents}{meineklasse.cls} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{meineklasse} \LoadClass{article} \RequirePackage{scrlayer-scrpage}% In Klassen verwendet man \RequirePackage % statt \usepackage. \BeforeClosingMainAux{% \addtocounter{page}{-1}% Nach der letzten Seite, also Zähler korrigieren. \label{LastPage}% } \renewcommand*{\pagemark}{{\usekomafont{pagenumber}{\pagename~\thepage~\ofname~\pageref{LastPage}}}} \providecaptionname{english}{\pagename}{Page} \providecaptionname{english}{\ofname}{of} \providecaptionname{ngerman,german,nswiss,swiss,naustrian,austrian}{\pagename}{Seite} \providecaptionname{ngerman,german,nswiss,swiss,naustrian,austrian}{\ofname}{von} \end{filecontents} \documentclass{meineklasse} \usepackage{blindtext} \AtEndDocument{Text am Ende des Dokuments (soll nicht auf einer neuen Seite stehen)} \begin{document} \blindtext \end{document} Wie du siehst, ist hier ggf. noch nicht einmal der letzte Absatz beendet.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2
Tippfehler

20 Mär '19, 08:09

gast3's gravatar image

gast3
(ausgesetzt)

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

20 Mär '19, 08:07

gast3's gravatar image

gast3
(ausgesetzt)