Seite 1 von 1

Loop zum Zusammenfassen einzelner PDF-Seiten

Verfasst: Di 4. Dez 2012, 21:40
von mojo79
Hallo zusammen!

Ich bin ein Latex-Neuling, aber regelrecht begeistert von den Möglichkeiten, die sich plötzlich bieten.

Aktuell versuche ich eine whiledo-Schleife hinzubekommen, die mir aus 2 verschiedenen PDFs jeweils abwechselnd eine Seite im Reissverschlussprinzip zusammenführt.

Die Kiste läuft auch schon, allerdings ohne Loop. Das sieht dann so aus:

\includepdf[landscape, pages= 1 ]{original.pdf}
\includepdf[landscape, pages= 1 ]{empty.pdf}
\includepdf[landscape, pages= 2 ]{original.pdf}
\includepdf[landscape, pages= 2 ]{empty.pdf}
\includepdf[landscape, pages= 3 ]{original.pdf}
\includepdf[landscape, pages= 3 ]{empty.pdf}
\includepdf[landscape, pages= 4 ]{original.pdf}
\includepdf[landscape, pages= 4 ]{empty.pdf}
etc.

Mein Veruch, das Ding zu loopen sieht momentan so aus:

\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{pdfpages}
\usepackage{ifthen}

\newcounter{Seite}
\setcounter{Seite}{1}

\begin{document}

\whiledo {\value{Seite} <= 8}%
{%
\includepdf[landscape, pages= \value{Seite} ]{original.pdf}
\includepdf[landscape, pages= \value{Seite} ]{empty.pdf}
\stepcounter {Seite}%
}

\end{document}

Es erscheint die Fehlermeldung:
! Missing number, treated as zero.<to be read again>= }
und zwar in der Zeile, in der der whiledo-Loop mit "}" geschlossen wird.
Ich werde daraus nicht schlau. Auch der Abgleich mit whiledo-Loops anderer Leute (z.B. hier im Forum) brachte mich nicht weiter.

Kann mir hier vielleicht jemand helfen?
1000 Dank schonmal!
Johannes

Verfasst: Di 4. Dez 2012, 22:23
von Xenara
Probier mal statt
pages= \value{Seite}
den Zähler mit \theSeite abzugreifen:
pages=\theSeite
Vielleicht können die Profis hier was zu den unterschiedlichen Möglichkeiten der Zähler-Ausgabe sagen?

Verfasst: Di 4. Dez 2012, 23:13
von mojo79
Danke für deine Ideen, Xenara
Bringt aber leider nicht den gewünschten Erfolg

Verfasst: Di 4. Dez 2012, 23:31
von bloodworks
Hallo im Folgenden eine High-End Lösung mit pgffor. Das ist super einfach zu Bedienen und geht auch noch gut. Keine Expansionskontrolle notwendig.
Danach eine TeX Lösung mit Expansionskontrolle und händischem Setzten des counters. Von o.g. halbgaren LaTeX Lösungen halte ich nix. Wenn man schon mit goldenen Kanonen auf Spatzen schießen muss, dann wenigstens mit welchen die einfach zu Bedienen sind. (Eine Zwille tuts aber auch).
\documentclass{scrartcl} 
 \usepackage[ngerman]{babel} 
 \usepackage{pdfpages} 
 \usepackage{pgffor} 



 \begin{document} 

\foreach \x in {1,...,8}%
 {% 
 \includepdf[landscape, pages= \x ]{original.pdf} 
 \includepdf[landscape, pages= \x ]{empty.pdf} 

 } 
\newcount\mcount
 \advance\mcount by 1 

\loop\ifnum\mcount<9
 \includepdf[landscape, pages=\the\mcount ]{original.pdf} 
 \includepdf[landscape, pages= \the\mcount ]{empty.pdf} 
 \advance\mcount by 1  
 \repeat
 \end{document}

Verfasst: Mi 5. Dez 2012, 10:31
von mojo79
Hey, bloodworks!
Funktioniert beides bestens!
Sehr elegante Lösungen, vielen Dank!!!
:D

edit: für alle Nachmacher ;)
kleiner Klammerfehler im ersten Syntax-Teil der Lösung von bloodworks

Verfasst: Mi 5. Dez 2012, 11:25
von bloodworks
mojo79 hat geschrieben: edit: für alle Nachmacher ;)
kleiner Klammerfehler im ersten Syntax-Teil der Lösung von bloodworks
Ähm ja ich habs korregiert. Ich schiebe das mal auf die fortgeschrittene Stunde gestern.