Ich hätte gerne eine (aufgeschlüsselte) Liste der Dateien, die ich in das in definierte PDF aufgenommen habe \includeonly{}
.
Mein Ansatz funktioniert überhaupt nicht, da für jede eingebundene Datei sehr viel manuelle Arbeit nötig ist, ein missing \item
in der itemize
Umgebung vorhanden ist und es methodisch falsch ist, da die in jeder Datei bools
immer auf gesetzt sind true
; es spielt keine Rolle, ob sie eingebunden ist oder nicht.
Hier ist mein MWE:
\documentclass{scrbook}
\usepackage{filecontents,etoolbox}
\newbool{chapter01}
\newbool{chapter02}
\newbool{chapter03}
\usepackage{blindtext}
\begin{filecontents}{chapter01.tex}
\chapter{This is chapter 01}
\booltrue{chapter01}
\blindtext[3]
\end{filecontents}
\begin{filecontents}{chapter02.tex}
\chapter{This is chapter 02}
\booltrue{chapter02}
\blindtext[3]
\end{filecontents}
\begin{filecontents}{chapter03.tex}
\chapter{This is chapter 03}
\booltrue{chapter03}
\blindtext[3]
\end{filecontents}
\includeonly{%
chapter01,
% chapter02,
chapter03
}
\begin{document}
\begin{titlepage}
This PDF contains:
\begin{itemize}
\ifbool{chapter01}{\item Chapter 01}{}
\ifbool{chapter02}{\item Chapter 02}{}
\ifbool{chapter03}{\item Chapter 03}{}
\end{itemize}
\end{titlepage}
\include{chapter01}
\include{chapter02}
\include{chapter03}
\end{document}
Antwort1
Das \includeonly
Makro erstellt eine durch Kommas getrennte Liste der Dateien mit dem Namen \@partlist
. Wir müssen also nur ein Makro erstellen, um diese Liste zu verarbeiten und sie in der gewünschten Weise auszugeben. Die Reihenfolge der Liste entspricht genau der Reihenfolge im \includeonly
Befehl. Das Sortieren der Liste würde mehr Aufwand erfordern.
Hier ist ein Beispiel (aktualisiert, um Unterstriche in Dateinamen zu berücksichtigen).
\documentclass{report}
\begin{filecontents}{\jobname_1.tex}
\chapter{First Chapter}
\end{filecontents}
\begin{filecontents}{\jobname_2.tex}
\chapter{Second Chapter}
\end{filecontents}
\begin{filecontents}{\jobname_3.tex}
\chapter{Third Chapter}
\end{filecontents}
\includeonly{\jobname_1, \jobname_2}
\usepackage{titling}
\usepackage{etoolbox}
\usepackage{url}
\DeclareUrlCommand{\filename}{\urlstyle{rm}}
\makeatletter
\newcommand{\listincluded}{%
\begin{enumerate}
\renewcommand*{\do}[1]{\item \filename{##1.tex}}
\expandafter\docsvlist\expandafter{\@partlist}
\end{enumerate}
}
\makeatother
\renewcommand{\maketitlehookd}{%
\begin{center}
\bfseries List of Included Files
\end{center}
\listincluded
}
\title{A title}
\author{An author}
\date{}
\begin{document}
\maketitle
\tableofcontents
\include{\jobname1}
\include{\jobname2}
\include{\jobname3}
\end{document}