Установка локальной глубины toc < основной глубины toc ИЛИ ограничение области действия локального toc

Установка локальной глубины toc < основной глубины toc ИЛИ ограничение области действия локального toc

Я пытаюсь установить основное \tableofcontentsи несколько \localtableofcontentsв большом документе. Документ состоит из введения, нескольких частей, заключения и библиографии.

Что касается токов:

  • Введение, заключение и библиография должны быть оформлены как главы на основном \tableofcontents. Последние две не должны быть пронумерованы.
  • На первой странице каждой части должна быть показана \localtableofcontentsчасть рассматриваемой части.

Я попытался добиться этого, используя пакет {etoc}. Следующий MWE производит основной toc, как и хотелось:

\documentclass{report}
\usepackage{titlesec}
\usepackage{etoc}

% to be able to show localtoc on part-page
\titleclass{\part}{top}
\titleformat{\part}[display]{\normalfont\huge\filcenter\bfseries}{\partname\ \thepart}{0pt}{}

\begin{document}

\tableofcontents

\chapter{Introduction}

\part{A Part}
\etocsettocstyle{}{}
\etocsetnexttocdepth{section}
\localtableofcontents
\chapter{A Chapter}
\section{A section}

\part{Another Part}
\etocsetnexttocdepth{section}
\localtableofcontents
\chapter{Another Chapter}
\section{Another Section}

% (1) change local toc's depth
%\etocsettocdepth{part}
%\etocignoretoctocdepth

% (2) limit scope of last local toc
%\etocsetnexttocdepth{part}
%\invisiblelocaltableofcontents

\chapter*{Conclusion}
% to add unnumbered conclusion to toc:
\addcontentsline{toc}{chapter}{Conclusion}

\bibliographystyle{plainnat}
% to add unnumbered bibliography to toc:
\addcontentsline{toc}{chapter}{\bibname}
\bibliography{\jobname}
\end{document}

Однако из последнего не исключены Заключение и Библиография \localtableofcontents:

введите описание изображения здесь

Я думал о том, чтобы:

  1. \etocsettocdepthпоследний \localtableofcontents, который больше не включает главы непосредственно перед заключением
  2. ограничить сферу действия последнего, \localtableofcontentsчтобы больше не приходить к заключению

Мои попытки прокомментированы в MWE выше. Но их можно было бы просто выполнить, так как они, похоже, все равно не имеют никакого эффекта...

Как исключить заключение и библиографию из последнего \localtableofcontents?

решение1

Для таких случаев etocесть команда \etocsetlocaltop. У нее немного странный синтаксис, чтобы вставить partразделитель в tocфайл, вы пишете

\etocsetlocaltop.toc{part}

Это добавляет маркер, tocкоторый ведет себя так, как будто новый partначался. Подробнее см. в главе 48документация etoc.

Таким образом, полный документ становится

\documentclass{report}
\usepackage{titlesec}
\usepackage{etoc}

% to be able to show localtoc on part-page
\titleclass{\part}{top}
\titleformat{\part}[display]{\normalfont\huge\filcenter\bfseries}{\partname\ \thepart}{0pt}{}

\begin{document}

\tableofcontents

\chapter{Introduction}

\part{A Part}
\etocsettocstyle{}{}
\etocsetnexttocdepth{section}
\localtableofcontents
\chapter{A Chapter}
\section{A section}

\part{Another Part}
\etocsetnexttocdepth{section}
\localtableofcontents
\chapter{Another Chapter}
\section{Another Section}

% limit scope of last local toc
\etocsetlocaltop.toc{part}

\chapter*{Conclusion}
% to add unnumbered conclusion to toc:
\addcontentsline{toc}{chapter}{Conclusion}

\bibliographystyle{plainnat}
% to add unnumbered bibliography to toc:
\addcontentsline{toc}{chapter}{\bibname}
\bibliography{\jobname}
\end{document}

введите описание изображения здесь

Связанный контент