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

gefragt 18 Jun '13, 16:37

Chris311's gravatar image

Chris311
3365914
Akzeptiert: 72%

bearbeitet 29 Jun '13, 09:42

Clemens's gravatar image

Clemens
19.0k112960

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, 16: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, 03:04

Herbert's gravatar image

Herbert
5.0k34

bearbeitet 20 Jun '13, 08:26

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

(29 Jun '13, 13: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, 13:07) Clemens
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, 08: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, 10:32

stefan's gravatar image

stefan ♦♦
5.8k12134

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, 08:08

saputello's gravatar image

saputello
18.4k22352

bearbeitet 04 Jul '13, 09: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, 06:07

ctansearch's gravatar image

ctansearch
(inaktiv)

bearbeitet 20 Jun '13, 05:59

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

(20 Jun '13, 03:23) Clemens

Danke für den Hinweis. Korrektur folgt.

(20 Jun '13, 05:53) ctansearch
-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 18 Jun '13, 18:34

ctansearch's gravatar image

ctansearch
(inaktiv)

bearbeitet 18 Jun '13, 18: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, 01: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, 05:42) Clemens

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, 07:47) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×46
×4

Frage gestellt: 18 Jun '13, 16:37

Frage wurde angeschaut: 19,219 Mal

Zuletzt aktualisiert: 08 Aug '14, 06:15