Anzahl der Seiten im Dokument

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


tobi7212
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Di 24. Aug 2010, 11:43

Anzahl der Seiten im Dokument

Beitrag von tobi7212 »

Hallo ins Forum!
Ich habe einen speziellen Wunsch, undzwar möchte ich ein pdf erstellen, dessen Seitenzahl durch 4 Teilbar ist. Leerseiten sollen an einer bestimmten Stelle eingefügt werden (vor der letzten Seite(Rückseite)).
Ich benutze hyperref und komascript, falls das wichtig ist.

Wenn ich als Variable raus bekommen würde wieviele Seiten das Dokument hat, könnte ich doch per if Abfrage Leerseiten einfügen.

Die Lösungen mit lastpage schlagen fehl, weil damit die Seitenzahl der letzten Seite gemeint ist, ich aber am Anfang Römische Nummerierung habe, welche damit unter den Tisch fällt.

Weiß von euch vielleicht jemand, wie ich die Anzahl an produzierten PDF-Seiten raus kriege, oder das Problem anders umschiffen kann?

Beste Grüße aus Rostock.
Tobi

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

Beitrag von KOMA »

Das Paket zref stellt AFAIK mit dem Modul abspage (oder war es totpages?) die absolute Seitenzahl bereit.

tobi7212
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Di 24. Aug 2010, 11:43

Beitrag von tobi7212 »

Hab ich mir doch grad vorher zref angeschaut und es nicht hin bekommen...
Danke für den Tip, jetzt wo ich wußte, dass es geht hats dann auch geklappt.
Für alle die es auch interessiert:
\usepackage{zref-totpages} % nicht vergessen!
da muss man wohl für jeden einzelnen Befehl ein anderes usepackage eintragen, das war mir nicht klar.
und dann
\ztotpages
Mal sehen, ob ich den Rest allein hin bekommen.

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

Beitrag von KOMA »

Man kann bei zref die benötigten Module auch via Option laden. Steht bei mir in Abschnitt 1.3 der zref-Anleitung.

tobi7212
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Di 24. Aug 2010, 11:43

Beitrag von tobi7212 »

Vielen Dank für die Hilfe bisher, aber ich habs leider noch nicht hin bekommen.
Ich glaube ich hab da einen schlimmen Denkfehler.
Ich wollte Nachschauen, wieviele Seiten ich hab und dann entsprechend Seiten einfügen. Damit ändert sich natürlich die Seitenzahl. Wäre eigentlich kein Problem, weil dann ja keine Seite mehr eingefügt wird, aber irgendwie geht das so nicht.
Ich weiß einfach nicht genau, wie das Kompilieren genau abläuft.
Glaub ich muss die Strategie ändern:
\label{foo} auf der vorletzten Seite und danach Leerseiten einfügen. Dann ändert sich auch nicht der LabelWert.
OK, dann brauch ich aber von \label die "physikalische" PDF-Seitenzahl zurück gegeben (wie von totpages) und nicht die Seitenzahl, wie sie am Seitenrand steht.
Woher krieg ich die?

Hier meine nicht funktionierende Methode1:
\newcounter{Zielb}
\newcounter{istwertb}

\setcounter{istwertb}{\ztotpages}
\setcounter{Zielb}{\ztotpages/4*4}

\ifthenelse{\value{Zielb}=\value{istwertb}}
{
Wir sind beim Zielb mit \arabic{Zielb} Seiten.
}
{ 
   \setcounter{Zielb}{\ztotpages/4*4+4}  % Zielb 2
   Das erhöhte Zielb ist \arabic{Zielb} Seiten. 
   \addtocounter{istwertb}{1}
   \ifthenelse{\value{Zielb}=\value{istwertb}}
{  
   jetzt haben wirs 1 leerseite ergibt: \arabic{istwertb}. 
        \clearpage
   \null\clearpage
}
{
\addtocounter{istwertb}{1}
\ifthenelse{\value{Zielb}=\value{istwertb}}
{
 wir haben 2 leerseiten ergibt: \arabic{istwertb}. 
             \clearpage
        \null\clearpage
         \null\clearpage
}
{
\addtocounter{istwertb}{1}
\ifthenelse{\value{Zielb}=\value{istwertb}}
{
wir 3 leerseiten ergibt: \arabic{istwertb}. 
                 \clearpage
            \null\clearpage
            \null\clearpage
            \null\clearpage
}
{         
            Fehler!!!!!!!!!
         }
      }
   }
}
Und wenn der Aufruf irgendwie rekursiv funktioniert, weiß nicht ob das so ist, jedenfalls geht das so auch nicht:
\newcounter{Zielb}
\newcounter{Zielc}
\newcounter{istwertb}

\setcounter{istwertb}{\ztotpages}
\setcounter{Zielb}{\ztotpages/4*4}
\setcounter{Zielc}{\ztotpages/4*4+4}


\ifthenelse{\value{Zielb}=\value{istwertb}}
{
   Wir sind beim Zielb mit \arabic{Zielb} Seiten.
}
{ 
   Das erhöhte Zielb ist \arabic{Zielc} Seiten. 
   \clearpage
   \null
   \thispagestyle{empty}
   \clearpage
}

Antworten