Etwas wie \includeonly, aber für \includepdf?

Etwas wie \includeonly, aber für \includepdf?

Nehmen wir an, wir haben ein Dokument wie das folgende.

\documentclass{scrartcl}

\usepackage{pdfpages}

\begin{document}
\include{Text_A}
\include{Text_B}
\include{Text_C}
\include{Text_D}
\includepdf{Attachment_A}
\includepdf{Attachment_B}
\includepdf{Attachment_C}
\end{document}

Ich kann den Befehl verwenden, \includeonlyum nur bestimmte Teile zu kompilieren. Wenn ich also nur Text_Aund möchte Text_C, kann ich \includeonly{Text_A,Text_C}der Präambel etwas hinzufügen. Jetzt ist mein Problem, dass dies nur für Teile funktioniert, die in enthalten sind \include.

Ich suche nach einer Möglichkeit, dies mit Teilen zu kombinieren, die mit eingebunden sind \includepdf. Wenn ich also nur Text_A, Attachment_Aund möchte Attachment_C, muss ich die Zeilen einzeln auskommentieren. Das ist ziemlich unangenehm, wenn viele Dateien über eingebunden sind \includepdfund der Befehl mehrere Optionszeilen enthält.

Ich könnte einige Umgestaltungen vornehmen und die Befehle in einzelne Dateien packen , sodass ich sie ausschließlich im Hauptdokument \includepdfverwenden kann . Aber ich frage mich, ob es vielleicht eine elegantere Lösung gibt?\include

Antwort1

Sie können den \includeonlyvon verwendeten Test ausleihen \include.

Dies beinhaltet nur den Text und den Anhang für B

\documentclass{scrartcl}

\usepackage{pdfpages}
\makeatletter
\let\oldincludepdf\includepdf
\newcommand\zzincludepdf[2][]{%
  \@tempswatrue
  \if@partsw
    \@tempswafalse
    \edef\reserved@b{#2}%
    \@for\reserved@a:=\@partlist\do
      {\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
  \fi
  \if@tempswa
    \IfFileExists{#2.pdf}{\oldincludepdf[#1]{#2}}{\typeout{no file #2.pdf}}%
  \fi}
\let\includepdf\zzincludepdf
\makeatother

\includeonly{Text_B,Attachment_B}
\begin{document}
\include{Text_A}
\include{Text_B}
\include{Text_C}
\include{Text_D}
\includepdf{Attachment_A}
\includepdf[pages=-]{Attachment_B}
\includepdf{Attachment_C}
\end{document}

verwandte Informationen