Ich habe eine Reihe von PDF-Dateien, die ich kombiniere. Ich möchte so viele davon wie möglich in das fertige Dokument aufnehmen, aber aus logistischen Gründen kann ich nicht mehr als 50 Seiten insgesamt haben.
Gibt es eine Möglichkeit, LaTeX
die Kompilierung abzubrechen und eine Fehlermeldung auszugeben, wenn die Seitenzahl diesen Gesamtwert überschreitet?
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{pdfpages}
\usepackage{tikz}
\renewcommand{\contentsname}{My combined file}
\setlength\parindent{0pt}
\begin{document}
\includepdf[pages=-]{cover.pdf}
\includepdf[pages=-]{doc1.pdf}
\includepdf[pages=-]{doc2.pdf}
\includepdf[pages=-]{doc3.pdf}
\includepdf[pages=-]{doc4.pdf}
\includepdf[pages=-]{doc5.pdf}
\includepdf[pages=-]{doc6.pdf}
\includepdf[pages=-]{doc7.pdf}
% More files included here
\end{document}
Antwort1
Verwenden Sie die (neu erstellte)pagectrl
Paket:
\documentclass{article}
\usepackage[range=2-3, report-as=error]{pagectrl}
\usepackage{mwe}
\begin{document}
\lipsum[1-40]
\end{document}
Beachten Sie, dass die Ausgabe eines fatal
Fehlers dazu führt, dass TeX angehalten wird, dieser Fehler jedoch erst ausgelöst wird \end{document}
. Ich werde dies heute Abend später auf CTAN hochladen. Bis es in den Distributionen verfügbar ist, laden Sie einfach die sty
Datei herunter und legen Sie sie in dasselbe Verzeichnis wie Ihr Dokument (oder folgen Sie einem anderen manuellen Installationsverfahren).
Antwort2
So weit bin ich gekommen.
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{pdfpages}
%\usepackage{tikz}
\usepackage{everypage}
\AddEverypageHook{\ifnum\value{page}>50 \errmessage{Too many pages}\errorstopmode\fi}
\renewcommand{\contentsname}{My combined file}
\setlength\parindent{0pt}
\begin{document}
\includepdf[pages=-]{minitoc.pdf}
\end{document}