4
1

Wie kann ich bewerkstelligen, dass bestimmte sections nicht im Inhaltsverzeichnis angezeigt werden?

gefragt 18 Jun '13, 22:37

Chris311's gravatar image

Chris311
35691114
Akzeptiert-Rate: 0%

bearbeitet 29 Jun '13, 15:42

cgnieder's gravatar image

cgnieder
22.1k243463

Eine sehr gute Frage, die sich abhängig von Dokumentklassen und Paketen unterschiedlich lösen lässt! Zusätzlich zu Clemens' Vorschlägen gibt es noch das Paket tocvsec2, vielleicht geht es mit memoir noch anders, oder titlesec. Vielleicht schafft jemand eine umfassende Sicht als Antwort?

(18 Jun '13, 22:45) stefan ♦♦

Abschnitt B kommt nicht ins TOC:

\documentclass{article}
\begin{document}
\tableofcontents

\section{SectionA}
\addtocontents{toc}{\protect\setcounter{tocdepth}{0}}% 0 nur > \section zeigen
\section{SectionB}
\addtocontents{toc}{\protect\setcounter{tocdepth}{3}}% 3 (Standard)
\section{SectionC}

\end{document}

Wenn du es einfacher haben willst, dann definiere einfach:

\newcommand\Section[1]{ %
  \addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
  \section{#1}
  \addtocontents{toc}{\protect\setcounter{tocdepth}{3}}}

und benutze dann \Section{foo}, welches dann lgischerweise kein optionales Argument berücksichtigt, denn es soll ja sowieso nicht ins TOC.

Permanenter link

beantwortet 20 Jun '13, 09:04

Herbert's gravatar image

Herbert
5.1k34
Akzeptiert-Rate: 31%

bearbeitet 20 Jun '13, 14:26

Ist ok. Hattest du mir nicht am Anfang vorgeschlagen, einfach ein "*" zu setzen? Das hat nämlich schon gereicht.

(29 Jun '13, 19:03) Chris311

@Chris311 ich hatte mal \section* in einem Kommentar vorgeschlagen. Damit werden sie zwar nicht ins TOC geschrieben aber auch nicht nummeriert. Die Frage liest sich jedoch so, als ob sie nummeriert bleiben sollen...

(29 Jun '13, 19:07) cgnieder
1

@Chris311: Die Stern-Variante wird aber nun in jeder noch so kurzen Einführung erklärt. Deshalb vermutete ich "Nummer und trotzdem nicht ins TOC".

(04 Jul '13, 14:23) Herbert

Hier eine Lösung mit dem tocvsec2-Paket:

\documentclass{article}
\usepackage{tocvsec2}
\begin{document}
\maxtocdepth{subsection}
\tableofcontents

\section{SectionA}

\settocdepth{part}
\section{SectionB}

\settocdepth{section}
\section{SectionC}
\end{document}
Permanenter link

beantwortet 21 Jun '13, 16:32

stefan's gravatar image

stefan ♦♦
18.1k143048
Akzeptiert-Rate: 48%

Wollte man tatsächlich Überschriften mit Nummer aber ohne Eintrag ins Inhaltsverzeichnis, wie ctansearch sie in einer seiner Antworten und auch Herbert in seiner Antwort zeigt, so wäre das mit einer KOMA-Script-Klasse ganz einfach möglich:

\documentclass[a4paper,headings=optiontotoc]{scrartcl}  
\usepackage[ngerman]{babel}  
\usepackage[utf8]{inputenc}

\begin{document}  
\section{Section}  
Hier folgt dann der Text

\subsection{Subsection}  
Hier folgt dann der Text

\section[]{Nullsection} 
Und hier folgt dann der Text

\subsection[]{Nullsubsection} 
Und hier folgt dann der Text

\tableofcontents  
\end{document}

Im Unterschied zu ctansearchs Vorschlag wird hier jedoch genau wie in Herberts Vorschlag die Zählung der Abschnitte, die in das Inhaltsverzeichnis aufgenommen werden, fortgeführt. Wollte man das tatsächlich nicht, so wäre eine getrennte Zählung jedoch ebenfalls möglich:

\documentclass[a4paper,headings=optiontotoc]{scrartcl}  
\usepackage[ngerman]{babel}  
\usepackage[utf8]{inputenc}

\makeatletter
\newcounter{notocsection}
\newcommand*{\notocsection}{%
  \let\section@origcntr\c@section
  \let\c@section\c@notocsection
  \@dblarg\@notocsection
}
\newcommand*{\@notocsection}[2][]{%
  \section[tocentry={},head={#1}]{#2}%
  \let\c@section\section@origcntr
}
\newcounter{notocsubsection}[notocsection]
\newcommand*{\notocsubsection}{%
  \let\section@origcntr\c@subsection
  \let\c@subsection\c@notocsubsection
  \@dblarg\@notocsubsection
}
\newcommand*{\@notocsubsection}[2][]{%
  \subsection[tocentry={},head={#1}]{#2}%
  \let\c@subsection\section@origcntr
}
\makeatother

\begin{document}  
\section{Section}  
Hier folgt dann der Text

\subsection{Subsection}  
Hier folgt dann der Text

\notocsection{Nullsection} 
Und hier folgt dann der Text

\notocsubsection{Nullsubsection} 
Und hier folgt dann der Text

\tableofcontents  
\end{document}

Zwar ist der Aufwand auf den ersten Blick höher als bei ctansearchs Lösung, allerdings benötigt man bei diesem Ansatz wiederum keine Informationen über die Formatierung der Überschriften.

Generell würde ich jedoch dringend davon abraten, nummerierte Überschriften der gleichen Ebene teilweise in das Inhaltsverzeichnis aufzunehmen und teilweise nicht, da man damit den Leser nur verwirrt. Tatsächlich empfehle ich daher in solchen Fällen tocdepth global zu setzen.

Permanenter link

beantwortet 04 Jul '13, 14:08

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 04 Jul '13, 15:30

   \documentclass[a4paper]{article}  
    \usepackage[ngerman]{babel}  
    \usepackage[utf8]{inputenc}

    \newcounter{nullsection}  %ctans anlegen des sectionzählers
    \newcounter{nullsubsection}[nullsection] %ctans anlegen des subsectionzählers

    \makeatletter
    \newcommand\nullsection{\@startsection{nullsection}{1}{\z@}%  %ctans das Kommando definieren und den Zähler starten
                           {-3.5ex \@plus -1ex \@minus -.2ex}%
                           {2.3ex \@plus.2ex}%
                           {\normalfont\Large\bfseries}} %die Abstände und Schriften definieren
    \newcommand*\l@nullsection[2]{%den Eintrag ins Inhaltverzeichnis leer definieren 
    }
    \newcommand\nullsubsection{\@startsection{nullsubsection}{2}{\z@}%
                              {-3.5ex \@plus -1ex \@minus -.2ex}%
                              {2.3ex \@plus.2ex}%
                              {\normalfont\large\bfseries}}
    \newcommand*\l@nullsubsection[2]{%leerdefinieren
    }

\renewcommand \thenullsection {\@arabic\c@nullsection}   %ctans Nachtrag
\renewcommand\thenullsubsection   {\thenullsection.\@arabic\c@nullsubsection}   %ctans Nachtrag
    \makeatother

    \begin{document}  
    20.6.13
    \section{Section}  
    Hier folgt dann der Text

    \subsection{Subsection}  
    Hier folgt dann der Text

    \nullsection[]{Nullsection} 
    Und hier folgt dann der Text

    \nullsubsection[]{Nullsubsection} 
    Und hier folgt dann der Text

    \tableofcontents  
    \end{document}
Permanenter link

beantwortet 19 Jun '13, 12:07

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

bearbeitet 20 Jun '13, 11:59

Die \nullsubsection ergibt eine eingerückte Überschrift. Ist das Absicht?

(20 Jun '13, 09:23) cgnieder

Danke für den Hinweis. Korrektur folgt.

(20 Jun '13, 11:53) ctansearch

Hallo!

Da mich diese Frage einiges an Zeit im Internet hat verbringen lassen und ich erst im vierten Forum eine Antwort fand, die auch leicht auszuführen war, möchte ich hier für andere, die das selbe Problem haben eine sehr simple Lösung posten:

\section*{Name des Kapitels}

Durch den Stern nach \section wird die section nicht im Inhaltsverzeichnis gelistet. Super einfach und schnell gemacht! Ich hoffe ich konnte helfen

Gruß J

Permanenter link

beantwortet 29 Mär '19, 14:45

j-hwmk's gravatar image

j-hwmk
11
Akzeptiert-Rate: 0%

bearbeitet 29 Mär '19, 14:48

Das wäre dann aber ein unnumerierter Abschnitt.

(30 Mär '19, 08:04) Johannes
-1

Ich würde das Pferd von vorn aufzäumen und nicht überlegen, wie ich etwas Gegebenes abschalte, sondern wie ich das Gewünschte erhalte.

\documentclass[a4paper]{article}  
\usepackage[ngerman]{babel}  
\usepackage[utf8]{inputenc}  
\usepackage{graphicx,xcolor}  
\newcounter{nullsections}  
\newcounter{nullsubsections}  
\newcounter{nullsubsubsections}  
\newcommand{\nullsection}[1]{\parindent=0pt  
  \normalfont\Large\bfseries \vskip\baselineskip \textcolor{white}{\thenullsections}\hspace{1.5ex}  #1\vskip\baselineskip\normalfont\normalsize}  
\newcommand{\nullsubsection}[1]{ \normalfont\large\bfseries\vskip\baselineskip
  \textcolor{white}{\thenullsections.\thenullsubsections}\hspace{1.5ex} #1\vskip\baselineskip\normalfont\normalsize}  
\newcommand{\nullsubsubsection}[1]{\normalfont\large\bfseries \vskip\baselineskip  
  \textcolor{white}{\thenullsections.\thenullsubsections.\thenullsubsubsections}  
\hspace{1.5ex} #1\vskip\baselineskip\normalfont\normalsize}

\begin{document}  
\section{Section}  
Hier folgt dann der Text  
\subsection{Subsection}  
Hier folgt dann der Text  
\section{Section} 
Hier folgt dann der Text  
\nullsection{Nullsection}  
Hier folgt dann der Text   
\nullsection{Nullsection}  
Hier folgt dann der Text  
\nullsubsection{Nullsubsection}  
Hier folgt dann der Text  
\nullsubsubsection{Nullsubsubsection}  
Hier folgt dann der Text  
\tableofcontents  
\end{document}
Permanenter link

beantwortet 19 Jun '13, 00:34

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

bearbeitet 19 Jun '13, 00:37

In diesem Beispiel werden alle Nulls*ions nummeriert um die Einrückung sinnvoll zu machen, die Schriftfarbe ist weiß auf weißem Hintergrund, also unsichtbar aber trotzdem mit der Maus markierbar. Falls das stört, kann man mit hphantom den jeweiligen Phantomabstand erzeugen.

\newcommand{\nullsection}[1]{%
\parindent=0pt  
\normalfont\Large\bfseries \vskip\baselineskip
\hphantom{\thenullsections}\hspace{1.5ex}
#1\vskip\baselineskip\normalfont\normalsize}
(19 Jun '13, 07:47) Johannes

Magst Du vielleicht Deinem Code ein paar Erklärungen hinzufügen, was die einzelnen Befehle machen und so? Übrigens: das Verwenden von plain-Syntax in 2e ist unschöner Stil

(19 Jun '13, 11:42) cgnieder

Nachteilig am dieser Methode ist, dass man alle Schriftattribute und alle Abstände für die jeweiligen Gliederungsüberschriften kennen muss. Ob die Einrückungen der Überschriften tatsächlich gewollt sind, muss der Anwender entscheiden. Eigenwillig sind sie in jedem Fall. Auch für diese würde es aber genügen beispielsweise \section*{\hphantom{\thesection\quad}#1} zu verwenden. Damit bräuchte man dann zumindest besagte Infos nicht mehr. Ich kann daher von der hier gezeigten Lösung nur abraten.

(04 Jul '13, 13:47) saputello
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×77
×8

gestellte Frage: 18 Jun '13, 22:37

Frage wurde gesehen: 58,714 Mal

zuletzt geändert: 30 Mär '19, 08:04