Unterabschnitt aus dem Inhaltsverzeichnis ausschließen und die Referenzen beibehalten

Unterabschnitt aus dem Inhaltsverzeichnis ausschließen und die Referenzen beibehalten

Ich muss meinen Unterabschnitt aus dem Inhaltsverzeichnis entfernen. Ich habe diesen Teil problemlos mit diesemVerknüpfung. Danke!

Ich kann den ausgewählten Unterabschnitt, den ich gerade aus meinem Inhaltsverzeichnis entfernt habe, jedoch nicht verwenden \ref{"label from my subsection"}. Ich kann ihn zwar immer noch verlinken, erhalte aber nur den Verweis auf den Abschnitt über meinem Unterabschnitt.

Beispiel: (Mein Unterabschnitt wird nicht im Inhaltsverzeichnis angezeigt)

\section{Hello World!}
\label{sec:hello_world}

\subsection{Goodbye}
\label{sec:goodbye}

\ref{sec:goodbye}

--- Latex gibt das folgende Ergebnis zurück ---

1. Hallo Welt!

1.1. Auf Wiedersehen

1

Antwort1

Wenn Sie möchten, \subsectiondass alle s aus dem Inhaltsverzeichnis entfernt werden, dann brauchen Sie in der Präambel Ihres Dokuments nur

\setcounter{tocdepth}{1}

Dadurch wird die maximale Tiefe der Einträge im Inhaltsverzeichnis auf 1 (oder \section) festgelegt.

Wenn Sie nur möchten, \subsectionsdass ausgewählte Elemente in das Inhaltsverzeichnis eingefügt werden/nicht, sollten Sie eine andere Technik verwenden. Im Folgenden werden \stoptocentriesund definiert \starttocentries. Ersteres deaktiviert das Einfügen von Inhalten in das Inhaltsverzeichnis durch Deaktivieren von \addcontentsline. Letzteres stellt die Funktionalität wieder her.

Bildbeschreibung hier eingeben

\documentclass{article}

\let\oldaddcontentsline\addcontentsline
\newcommand{\stoptocentries}{\renewcommand{\addcontentsline}[3]{}}
\newcommand{\starttocentries}{\let\addcontentsline\oldaddcontentsline}

\begin{document}
\tableofcontents
\section{A section}
\stoptocentries% Stop adding content to the ToC
\subsection{A subsection}
\starttocentries% Resume adding content to the ToC
\subsection{Another subsection}
\end{document}

Natürlich \stoptocentriesgilt die Verwendung von auch für andere Teileinheiten, die verwenden \addcontentsline.

Antwort2

Sie können dies sofort mit dem Paket tunetoc.

Unterabschnitt entfernen

Der Code:

\documentclass{article}
\usepackage{etoc}
\begin{document}

\tableofcontents

\section{First Section}

Hello

\subsection{A}

\subsection{B}

\section{Second Section}

\etocsettocdepth.toc {section}
\subsection {EXCLUDE ME}\label{ssec:excluded}
\etocsettocdepth.toc {subsection}

\subsection {D}

Too bad we have excluded subsection \ref{ssec:excluded} from the TOC!


\end{document}

Antwort3

Ich sehe, dass die obige Antwort die Frage vollständig beantwortet, aber ichhabe eine andere Methode auf der LaTeX-Website gefunden.

Wenn Sie alle Unterabschnitte im Inhaltsverzeichnis ausblenden möchten, sollten Sie den Zähler „tocdepth“ auf 1 setzen:

\setcounter{tocdepth}{1}

Wenn Sie dies jedoch nur auf bestimmte (Unter-)Abschnitte anwenden möchten, können Sie tocdepth im Dokument ändern:

\documentclass[a4paper,10pt]{book}
\begin{document}
\tableofcontents
\chapter{One}
\section{One}
\subsection{One}
\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\subsection{Two}
\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
\subsection{Three}
\end{document}

Ein minimales Beispiel finden Sie auch auf der LaTeX-Website.

verwandte Informationen