
Betrachten Sie das folgende MWE:
\documentclass[
a4paper
]{article}
\usepackage{pdfpages}
\newcount\firstmaxpages
\newcount\secondmaxpages
\newcount\curpage
\newcount\untilpage
\makeatletter
\newif\if@pdfdingsSecondFin
\newcount\@pdfdingsPages
\newcommand*\@incpdfdings[5][]{%
\includepdf[
nup = #5,
pages = {#2-#3},
#1
]{#4}}
\newcommand*\@@incpdfdings{}%
\def\@@incpdfdings#1x#2;{%
\@pdfdingsPages=#1%
\multiply\@pdfdingsPages by #2%
\advance\@pdfdingsPages by -1%
}
\newcommand*\incpdfdings[4][]{%
\ifx\relax#1\relax%
\pdfximage{#3}%
\firstmaxpages=\pdflastximagepages%
\pdfximage{#4}%
\secondmaxpages=\pdflastximagepages%
\ifnum\firstmaxpages<\secondmaxpages%
\@latex@error{incpdfdings: Fail!}{}%
\fi%
\else%
\firstmaxpages=#1%
\fi%
\curpage=0%
\@@incpdfdings#2;%
\loop\ifnum\firstmaxpages>\curpage%
\advance\curpage by 1%
\untilpage=\numexpr\curpage+\@pdfdingsPages\relax%
\ifnum\untilpage>\firstmaxpages%
\untilpage=\firstmaxpages%
\fi%
\@incpdfdings[frame=true]{\the\curpage}{\the\untilpage}{#3}{#2}%
\ifnum\secondmaxpages>\untilpage\else%
\untilpage=\secondmaxpages%
\fi%
\if@pdfdingsSecondFin\else%
\@incpdfdings{\the\curpage}{\the\untilpage}{#4}{#2}%
\fi%
\ifnum\secondmaxpages=\untilpage%
\@pdfdingsSecondFintrue%
\fi%
\advance\curpage by \@pdfdingsPages%
\repeat%
}
\makeatother
\begin{document}
\incpdfdings{3x6}%
{A.pdf}%
{B.pdf}
\end{document}
Angenommen, wir haben zwei PDF-Dateien mit den Namen A.pdf
und B.pdf
im selben Verzeichnis wie die .tex
Datei mit dem obigen Code. Wenn ich den Code mit kompiliere, pdflatex
ist alles in Ordnung, aber wenn ich mit kompiliere lualatex
, erhalte ich die folgende Fehlermeldung:
\incpdfdings ...>\ifx \relax #1\relax \pdfximage
{#3}\firstmaxpages =\pdfla...
l.68 {B.pdf}
Frage
Wie ändere ich den obigen Code, damit ich ihn mit der lualatex
Engine kompilieren kann?
Aktualisieren
Ich habe versucht, alle %
s gemäß Davids Vorschlag zu entfernen. Habe ich es richtig gemacht?
\newcommand*\@incpdfdings[5][]{%
\includepdf[
nup = #5,
pages = {#2-#3},
#1
]{#4}}
\newcommand*\@@incpdfdings{}%
\def\@@incpdfdings#1x#2;{%
\@pdfdingsPages=#1
\multiply\@pdfdingsPages by #2
\advance\@pdfdingsPages by -1
}
\newcommand*\incpdfdings[4][]{%
\ifx\relax#1\relax
\saveimageresource{#3}%
\firstmaxpages=\lastsavedimageresourcepages
\saveimageresource{#4}%
\secondmaxpages=\lastsavedimageresourcepages
\ifnum\firstmaxpages<\secondmaxpages
\@latex@error{incpdfdings: Der er ikke nok forsider.}{}%
\fi
\else
\firstmaxpages=#1
\fi
\curpage=0
\@@incpdfdings#2;%
\loop\ifnum\firstmaxpages>\curpage
\advance\curpage by 1
\untilpage=\numexpr\curpage+\@pdfdingsPages\relax
\ifnum\untilpage>\firstmaxpages
\untilpage=\firstmaxpages
\fi
\@incpdfdings[frame=true]{\the\curpage}{\the\untilpage}{#3}{#2}%
\ifnum\secondmaxpages>\untilpage\else
\untilpage=\secondmaxpages
\fi
\if@pdfdingsSecondFin\else
\@incpdfdings{\the\curpage}{\the\untilpage}{#4}{#2}%
\fi
\ifnum\secondmaxpages=\untilpage
\@pdfdingsSecondFintrue
\fi
\advance\curpage by \@pdfdingsPages
\repeat
}
Antwort1
Sie könnten verwenden \usepackage{luatex85}
, wodurch die meisten PDFTEX-Namen in Bezug auf Luatex-Grundelemente definiert werden.