Lista de arquivos incluídos no pdf na página de título

Lista de arquivos incluídos no pdf na página de título

Gostaria de ter uma lista (discriminada) dos arquivos que incluí no pdf, definida em \includeonly{}.

Minha abordagem não está funcionando de jeito nenhum, pois é necessário muito trabalho manual para cada arquivo incluído, existe um missing \itemno itemizeambiente e é metodologicamente incorreto, pois boolsestá sempre configurado trueem cada arquivo; não importa se está incluído ou não.

Aqui está meu 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}

Responder1

A \includeonlymacro cria uma lista separada por vírgulas dos arquivos chamados \@partlist. Portanto, tudo o que precisamos fazer é criar uma macro para processar essa lista e exibi-la da maneira que desejar. A ordem da lista será exatamente a mesma ordem do \includeonlycomando. Classificar a lista exigiria mais sobrecarga.

Aqui está um exemplo (atualizado para lidar com sublinhados em nomes de arquivos).

\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}

saída de código

informação relacionada