我有一系列要合併的 pdf 檔。我希望在完成的文件中包含盡可能多的內容,但由於後勤原因,我的總頁數不能超過 50 頁。
LaTeX
如果頁數超過這個總數,有什麼方法可以停止編譯並拋出錯誤訊息嗎?
\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}
答案1
使用(新創建的)pagectrl
包裹:
\documentclass{article}
\usepackage[range=2-3, report-as=error]{pagectrl}
\usepackage{mwe}
\begin{document}
\lipsum[1-40]
\end{document}
請注意,發出fatal
錯誤將導致 TeX 停止,但直到 才會拋出此錯誤\end{document}
。今晚稍後我會將其上傳到 CTAN。在發行版中提供該文件之前,只需下載該sty
文件並將其放在與文件相同的目錄中(或遵循任何其他手動安裝過程)。
答案2
據我所知。
\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}