MC, 10:27 sobota, 03.11.2018 r.
Ilustracja do artykułu: Ukrywanie niektórych elementów spisu treści w Latex

Ukrywanie niektórych elementów spisu treści w Latex

Postaramy się wspólnie zapanować nad tym, które elementy spisu treści w dokumentach Latex wypisać, a które ukryć.

W czym problem?

Odpowiednia struktura rozdziałów i podrozdziałów w znaczy sposób wpływa na odbiór i zrozumienie tekstu, dlatego w mojej ocenie nie należy bać się parcelowania go na odpowiednie bloki tematyczne. Nie oznacza to jednak, że każdy wydzielony rozdział musi znaleźć się w spisie treści, szczególnie gdy schodzimy w zagnieżdżeniu poniżej \subsection. Z tego powodu warto umieć zapanować nad tym, które elementy mają zostać ukryte.

Jak ukryć podrozdziały?

Temat ukrywania rozdziałów w spisie treści w dokumentach Latex, należy zacząć od postawienia pytania, czy chcemy aby ukryte elementy były numerowane, czy też nie? Zależnie od odpowiedzi, należy podejść do sprawy w zupełnie różny sposób.

Jeśli ukryte rozdziały mają być nienumerowane, to sprawa jest prostsza. Wystarczy zamiast dyrektywy \section (\subsection) w jej standardowej formie użyć jej z gwiazdką jako poprzednikiem:

\section*{Sekcja nienumerowana i nieobecna w spisie treści}

Jeśli natomiast chcemy, aby rozdział był numerowany pomimo jego braku w spisie treści, to musimy odpowiednio modyfikować parametr tocdepth. Mówi on o głębokości do jakiej powinien spis treści sięgać. Możemy ustawić go na stałe dla całego dokumentu, np. na wartość 2, wtedy spis treści będzie obejmował tylko sekcje i subsekcje. Użyteczniejsze jednak będzie rozwiązanie, w którym ukrywamy tylko konkretne elementy, pozostawiając pozostałe z tego samego poziomu zagnieżdżenia widocznie. W takim przypadku możemy otoczyć wybrany element zmianą parametru tocdepth. Najpierw jednak omówmy wartości jakie przyjmuje i jakie są ich konsekwencje.

  • tocdepth = 1 - widoczne w spisie: part, chapter, section
  • tocdepth = 2 - widoczne w spisie: part, chapter, section, subsection
  • tocdepth = 3 - widoczne w spisie: part, chapter, section, subsection, subsubsection

\addtocontents{toc}{\protect\setcounter{tocdepth}{3}} % ustawiamy parametr tocdepth na wartość 3

Jak widać im wyższa wartość parametru tocdepth tym więcej widać w spisie treści. Poniżej przedstawiam przykład dokumentu, w którym na różne sposoby manipuluję tym parametrem uzyskując różne rezultaty. Zachęcam do analizy.

Przykład ukrywania elementów spisu treści

\documentclass[a4paper,12pt,notitlepage]{report}
\usepackage[utf8x]{inputenc}
\usepackage[MeX]{polski}

\begin{document}

\tableofcontents

\section*{Sekcja A \textit{(nienumerowana)}}

\addtocontents{toc}{\protect\setcounter{tocdepth}{3}} % Głębokość dosięgająca \subsubsection
\section{Sekcja B}
	\subsection{Sekcja B-1}
		\subsubsection{Sekcja B-1-I}
	\subsection{Sekcja B-2}
			\subsubsection{Sekcja B-2-I}
			\subsubsection{Sekcja B-2-II}
	\subsection{Sekcja B-3}
			\subsubsection{Sekcja B-3-I}
			\subsubsection{Sekcja B-3-II}

\addtocontents{toc}{\protect\setcounter{tocdepth}{2}} % Głębokość dosięgająca \subsection
\section{Sekcja C}
	\subsection{Sekcja C-1}
		\subsubsection{Sekcja C-1-I}
	\subsection{Sekcja C-2}
			\subsubsection{Sekcja C-2-I}
			\subsubsection{Sekcja C-2-II}
	\subsection{Sekcja C-3}
			\subsubsection{Sekcja C-3-I}
			\subsubsection{Sekcja C-3-II}

\newpage
\addtocontents{toc}{\protect\setcounter{tocdepth}{1}} % Głębokość dosięgająca \section
\section{Sekcja D}
	\subsection{Sekcja D-1}
		\subsubsection{Sekcja D-1-I}
	\subsection{Sekcja D-2}
			\subsubsection{Sekcja D-2-I}
			\subsubsection{Sekcja D-2-II}
	\subsection{Sekcja D-3}
			\subsubsection{Sekcja D-3-I}
			\subsubsection{Sekcja D-3-II}

\addtocontents{toc}{\protect\setcounter{tocdepth}{3}}
\section{Sekcja E}
	\subsection{Sekcja E-1}
		\subsubsection{Sekcja E-1-I}
	\subsection{Sekcja E-2}
		\addtocontents{toc}{\protect\setcounter{tocdepth}{2}} % Ignorujemy wybrane \subsubsections
			\subsubsection{Sekcja E-2-I}
			\subsubsection{Sekcja E-2-II}
		\addtocontents{toc}{\protect\setcounter{tocdepth}{3}} % Przywracamy ustawienia
	\subsection{Sekcja E-3}
			\subsubsection{Sekcja E-3-I}
			\subsubsection{Sekcja E-3-II}

\end{document}

Dokument zbudowany z powyższego kodu wygląda następująco:

Pierwsza strona dokumentu
Druga strona dokumentu
Trzecia strona dokumentu

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: