如果頁面太多,如何讓 Latex 顯示錯誤訊息?

如果頁面太多,如何讓 Latex 顯示錯誤訊息?

我有一系列要合併的 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}

相關內容