![Как сделать так, чтобы приложение отображалось на уровне части оглавления?](https://rvso.com/image/266424/%D0%9A%D0%B0%D0%BA%20%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D1%82%D0%B0%D0%BA%2C%20%D1%87%D1%82%D0%BE%D0%B1%D1%8B%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D0%BB%D0%BE%D1%81%D1%8C%20%D0%BD%D0%B0%20%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%20%D1%87%D0%B0%D1%81%D1%82%D0%B8%20%D0%BE%D0%B3%D0%BB%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%3F.png)
В book
классе документа я хотел бы иметь приложение, которое отображается в оглавлении на уровне части. TOC должно выглядеть так:
Preface
Part title
Chapter title
Chapter title
Part title
Chapter title
Chapter title
Appendix: Some title
Bibliography
Index
Я знаю, как включить библиографию и индекс, \addcontentsline{toc}{part}{...}
и даже знаю \phantomsection
трюк, позволяющий указать на нужное место в PDF-файле.
Но как мне убедить приложение перейти на part
уровень TOC? Оно уходит под chapter
последнюю часть.
Мне все равно, если я сделаю приложение "вручную", т. е. без использования \appendix. Кстати, я использую \titlesec
для настройки форматирования глав и частей.
решение1
Поскольку у вас только один аппендикс, «одноразового» метода должно быть достаточно:
\documentclass{book}
\usepackage{etoolbox}
\makeatletter
\newcommand{\appchapter}[1]{%
\begingroup
\patchcmd{\@chapter}
{\addcontentsline{toc}{chapter}}
{\addcontentsline{toc}{part}}
{}{}
\patchcmd{\@chapter}
{\addcontentsline{toc}{chapter}}
{\addcontentsline{toc}{part}}
{}{}
\chapter{#1}
\endgroup
}
\makeatother
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{Preface}
\part{Part title}
\chapter{Chapter title}
\chapter{Chapter title}
\part{Part title}
\chapter{Chapter title}
\chapter{Chapter title}
\backmatter
\appendix
\appchapter{Appendix: Some title}
\chapter{Bibliography}
\end{document}