У меня есть дополнительный вопрос по этому вопросу: Хотите \addtocontents{toc} без \addtocontents{ptc}
Я использую пакет titletoc и хочу добавить вертикальные пробелы и строку в оглавление, но НЕ в частичное оглавление. Однако строки и пробелы появляются во всех частичных оглавлениях, как отмечено красным на рисунке ниже. Решение в связанном вопросе не сработало для меня, потому что я хочу добавить объект, а не раздел. Кто-нибудь знает, как это обойти?
Вот мой MWE:
\documentclass{article}
\usepackage{titletoc}
\begin{document}
\tableofcontents
\section{Section1}
Here the text of the document begins with Section 1.
\section{Section2}
\startcontents % Want partial TOC for Section2
\printcontents{}{1}{}
Here is the text of Section 2.
\subsection{Subsection2.1}
Here is the text of the first Subsection.
\subsection{Subsection2.2}
Here is the text of the second Subsection.
\stopcontents %Stop the contents for partial TOC
% For some reason I want a line and spaces ONLY in the MAIN TOC, not in the partial TOC
\addtocontents{toc}{\protect\addvspace{10pt} \protect{\hrule height 1.2pt} \protect\addvspace{10pt}}
\section{Section3}
\startcontents % Want partial TOC for Section3
\printcontents{}{1}{}
Here is the text of Section 3.
\subsection{Subsection3.1}
Here is the text of the first Subsection.
\subsection{Subsection3.2}
Here is the text of the second Subsection.
\stopcontents %Stop the contents for partial TOC
\end{document}
решение1
Вот решение. Идея в том, чтобы добавить, \addtocontents{toc}{\protect\myruleandspace}
где \myruleandspace
определено с
\newcommand{\myruleandspace}{\addvspace{10pt} \hrule height 1.2pt \addvspace{10pt}}
\tableofcontents
\renewcommand{\myruleandspace}{}
МВЭ
\documentclass{article}
\usepackage{titletoc}
\begin{document}
\newcommand{\myruleandspace}{\addvspace{10pt} \hrule height 1.2pt \addvspace{10pt}}
\tableofcontents
\renewcommand{\myruleandspace}{}
\section{Section1}
Here the text of the document begins with Section 1.
\section{Section2}
\startcontents % Want partial TOC for Section2
\printcontents{}{1}{}
Here is the text of Section 2.
\subsection{Subsection2.1}
Here is the text of the first Subsection.
\subsection{Subsection2.2}
Here is the text of the second Subsection.
\stopcontents %Stop the contents for partial TOC
% For some reason I want a line and spaces ONLY in the MAIN TOC, not in the partial TOC
\addtocontents{toc}{\protect\myruleandspace}
\section{Section3}
\startcontents % Want partial TOC for Section3
\printcontents{}{1}{}
Here is the text of Section 3.
\subsection{Subsection3.1}
Here is the text of the first Subsection.
\subsection{Subsection3.2}
Here is the text of the second Subsection.
\stopcontents %Stop the contents for partial TOC
\end{document}