
다음 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}
위의 코드가 포함된 파일 A.pdf
과 B.pdf
동일한 디렉터리에 이름이 지정된 두 개의 PDF 파일이 있다고 가정합니다 . 모든 것을 .tex
사용하여 코드를 컴파일하면 pdflatex
문제가 없지만 를 사용하여 컴파일하면 lualatex
다음과 같은 오류 메시지가 나타납니다.
\incpdfdings ...>\ifx \relax #1\relax \pdfximage
{#3}\firstmaxpages =\pdfla...
l.68 {B.pdf}
질문
엔진을 사용하여 컴파일할 수 있도록 위의 코드를 어떻게 변경합니까 lualatex
?
업데이트
%
나는 David의 제안에 따라 모든 s를 제거하려고 노력했습니다 . 내가 제대로 이해한 걸까?
\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
}
답변1
\usepackage{luatex85}
Luatex 프리미티브 측면에서 대부분의 pdftex 이름을 정의하는 것을 사용할 수 있습니다 .