Mehrere Inhaltsverzeichnisse mit hyperref verlinkt

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Mehrere Inhaltsverzeichnisse mit hyperref verlinkt

von b166er » Sa 9. Feb 2013, 14:01

danke, nachdem ich den block ausgetauscht habe funktioniert es nun.
hier nochmal der vollständige funktionsfähige code:
\documentclass[12pt,a4paper,oneside]{scrbook}

\usepackage[ngerman]{babel}

\usepackage[top=25mm, bottom=25mm, left=10mm, right=10mm]{geometry}

\usepackage{blindtext}

%----------------------------------%
%----------------------------------%
%----------------------------------%

%pakete für seitenrahmen

\usepackage{calc}

\usepackage{eso-pic}

%----------------------------------%
%----------------------------------%
%----------------------------------%

\usepackage{hyperref}

\usepackage{harvard}

\hypersetup{pdfborder = 0 0 0} %Kein Kasten um Links

%Zeichen Kopierbarkeit
\RequirePackage{cmap}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
%\usepackage{lmodern}

\usepackage{pslatex}
\renewcommand*\familydefault{\sfdefault}

%----------------------------------%
%----------------------------------%
%----------------------------------%

\usepackage{scrpage2}

\pagestyle{scrheadings}

\renewcommand*{\chapterpagestyle}{scrheadings}% pagestyle auf JEDER Seite

\clearscrheadings
\clearscrplain
\clearscrheadfoot

\setkomafont{pageheadfoot}{\normalfont\sffamily\bfseries}
\setkomafont{pagefoot}{\normalfont\sffamily}
%\setkomafont{pagenumber}{\normalfont\rmfamily\slshape}

\automark[chapter]{section}% gibt den passenden text an \headmark

\ihead[\headmark]{\headmark}
\chead[]{\hyperlink{root}{START}}
\ohead[]{\textbf{Dokumentversion: \today}}
 
\ifoot[]{}
\cfoot[\pagemark]{\pagemark}
\ofoot[]{}

\setheadsepline{0.5pt}
\setfootsepline{0.5pt}
%\setfootbotline{0.5pt}

%----------------------------------%
%----------------------------------%
%----------------------------------%

\usepackage{tocstyle}

\usetocstyle{standard}

\setcounter{secnumdepth}{-2}% keine Gliederungsnummerierung
\newcommand*\maintocdepth{0}% Tiefe für \maintoc
\newcounter{subtochd}% subtoc heading
\newcounter{subtocnumber}% subtoc-Nr
\newcounter{subtocstartlevel}% subtoc: erste angezeigte Ebene
\newcounter{subtocstoplevel}% subtoc: angezeigte Tiefe
\newcommand*\maxtocleveldepth{5}% max. Tiefe für ein eigenes subtoc

\newcommand*{\maintoc}{% bis \maintocdepth
  \begingroup
    \value{tocdepth}=\maintocdepth\relax
    \tableofcontents
  \endgroup
}

\newcommand*\notocshow{\value{tocdepth}=-9\relax}%TOC-Einträge ausblenden
%werden in \subtoc überschrieben:
\newcommand*\tocentrytmp{}
\newcommand*\tocentrytmpb{}
\newcommand\tocentryline{}
\newcommand*\tocentrylevel{-2}

\newif\ifsubtoc\subtocfalse% zur Unterscheidung subtoc/maintoc

\newcommand*\subtocctrl[2]{% wird von \subtoc ins TOC geschrieben
  \ifsubtoc % damit's keinen Einfluss aufs \maintoc nimmt
    \ifnum\value{subtocnumber}=#1\relax
% nur bei Übereinstimmung (passender Eintrag zum aufrufenden \subtoc)
      \value{tocdepth}=#2\relax% TOC-Einträge einblenden
    \fi
  \fi
}%\subtocctrl{subtoc}{depth}

\newcommand*{\subtoc}[2][1]{% nur Ebene #2+1 bis #2+#1
% damit man beim \subtoc-Aufruf die Ebene der davorliegenden
% Gliederung angeben kann (0=chapter, 1=section etc.)
% lässt sich vermutlich so auch leicht an section@level anpassen
  \stepcounter{subtocnumber}% subtoc-Nr inkrementieren
  \setcounter{subtocstartlevel}{#2}%
  \stepcounter{subtocstartlevel}% subtoc-Startebene
  \setcounter{subtocstoplevel}{#2}%
  \addtocounter{subtocstoplevel}{#1}% subtoc-Tiefe
  \ifnum\value{subtocstartlevel}>\maxtocleveldepth\relax
    \typeout{Max. TOC level exceeded! (got \arabic{subtocstartlevel})}%
% \setcounter{subtocstartlevel}{\maxtocleveldepth}%ggf. begrenzen
  \fi
  \setcounter{subtochd}{\value{subtocstartlevel}}%
  \stepcounter{subtochd}%
  \ifnum\value{subtochd}<0
    \setcounter{subtochd}{0}%
  \fi
  \ifnum\value{subtochd}>6
    \setcounter{subtochd}{0}%
  \fi
  \addtocontents{toc}{\protect\subtocctrl{\arabic{subtocnumber}}{\arabic{subtocstoplevel}}}% \subctrl ins TOC
  \ifcase\value{subtochd}\or %\subtoc-Überschrift
    \chapter*{Liste der Auswahlpunkte}%
  \or
    \section*{Sub-Kategorie}%
  \or
    \subsection*{Thema}%
  \or
    \subsubsection*{Inhalt}%
  \or
    \paragraph*{Liste UUUU}~\par
  \or
    \subparagraph*{Liste UUUUU}~\par
  \fi
  \begingroup
    \subtoctrue% \subtocctrl aktivieren
    \let\tocentryline\contentsline% Kopie von \contentsline anlegen
    \renewcommand\contentsline[1]{% ein Parameter ist hier Absicht!
% Da bei fehlender Gliederungsnummerierung der vierte Parameter
% nicht aussagekräftig ist (und ohne hyperref gäbe es eh nur drei),
% wird hier nur der erste Parameter (chapter/section etc) ausgewertet:
      \edef\tocentrytmpb{##1}%
      \edef\tocentrytmp{part}%
      \ifx\tocentrytmp\tocentrytmpb\relax
        \edef\tocentrylevel{-1}%
      \else
        \edef\tocentrytmp{chapter}%
        \ifx\tocentrytmp\tocentrytmpb\relax
          \edef\tocentrylevel{0}%
        \else
          \edef\tocentrytmp{section}%
          \ifx\tocentrytmp\tocentrytmpb\relax
            \edef\tocentrylevel{1}%
          \else
            \edef\tocentrytmp{subsection}%
            \ifx\tocentrytmp\tocentrytmpb\relax
              \edef\tocentrylevel{2}%
            \else
              \edef\tocentrytmp{subsubsection}%
              \ifx\tocentrytmp\tocentrytmpb\relax
                \edef\tocentrylevel{3}%
              \else
                \edef\tocentrytmp{paragraph}%
                \ifx\tocentrytmp\tocentrytmpb\relax
                  \edef\tocentrylevel{4}%
                \else
                  \edef\tocentrytmp{subparagraph}%
                  \ifx\tocentrytmp\tocentrytmpb\relax
                    \edef\tocentrylevel{5}%
                  \else
                    \typeout{Unknown TOC level (\tocentrytmpb) encountered!}%
                    \edef\tocentrylevel{99}%
                  \fi% subparagraph
                \fi% paragraph
              \fi% subsubsection
            \fi% subsection
          \fi% section
        \fi% chapter
      \fi% part
      \ifnum\value{subtocstartlevel}>\tocentrylevel\relax
        % spätestens bei der nächst-höheren Gliederung subtoc beenden:
        \notocshow
      \fi
      % den gesicherten \contentline-Befehl aufrufen.
      % Den bereits verwendeten Parameter wieder einhängen,
      % alle anderen Parameter greift \tocentryline automatisch:
      \tocentryline{##1}%
    }%
    \notocshow% vorm \subtoc stand bestimmt schon was, das nicht ins
    % \subtoc reinsoll
    \showtoc{toc}% TOC ausgeben
  \endgroup
}


%SEITENRAHMEN
\makeatletter
\newlength{\x}\newlength{\y}
\newlength{\width}\newlength{\height}
\setlength{\x}{5mm}%HORIZONTALER ABSTAND
\setlength{\y}{5mm}%VERTIKALER ABSTAND
\setlength{\width}{\paperwidth-\x*2}
\setlength{\height}{\paperheight-\y*2}
\AddToShipoutPicture{\thicklines\put(\strip@pt\x,\strip@pt\y){\framebox(\strip@pt\width,\strip@pt\height){}}}
\makeatother

\begin{document}

\hypertarget{root}{}

\maintoc

%---------------------------------------------------------%
%---------------------------------------------------------%
%---------------------------------------------------------%
%###
\chapter{Kategorie 11}
\subtoc{0}
\newpage
%###

%###
\section{Sub-Kategorie 11-11-11}
\subtoc{1}
%###

\newpage

\input{001.tex}

\newpage

\input{002.tex}

%---------------------------------------------------------%
%---------------------------------------------------------%
%---------------------------------------------------------%

%###
\chapter{Kategorie 22}
\subtoc{0}
\newpage
%###

%###
\section{Sub-Kategorie 22-22-00}
\subtoc{1}
\newpage
%###

%###
\subsection{Thema Beispiel 001}
\subtoc[1]{2}% Test \subtoc subsubsection (2+1) bis paragraph (2+2) %gelbe nummer gibt verzeichnis tiefe an.
\newpage
%###

%###
\subsubsection{Punkt 001}

\blindtext

\subsubsection{Punkt 002}

\blindtext
%###
%---------------------------------------------------------%
%---------------------------------------------------------%
%---------------------------------------------------------%


\end{document}
001.tex:
%###
\subsection{Thema Beispiel 001}
\subtoc{2}
\newpage
%###

%###
\subsubsection{Punkt 001}

\blindtext

\subsubsection{Punkt 002}

\blindtext
%###
002.tex
%###
\subsection{Thema Beispiel 002}
\subtoc{2}
\newpage
%###

%###
\subsubsection{Punkt 001}

\blindtext

\subsubsection{Punkt 002}

\blindtext
%###

von rais » Sa 9. Feb 2013, 09:13

Hallo,
b166er hat geschrieben: ich bin gerade noch auf ein großen problem bei der sache gestoßen:

wenn ich folgendes benutze, also mit input dateien gliedere, taucht im inhaltsverzeichnis nur der inhalt von input{001.tex} auf.
der inhalt von input{002.tex} wird nicht im inhaltsverzeichnis berücksichtigt:
uups, da hab ich das \subtoc zu früh beendet.:o
Ändere mal die \subtocctrl-Definition zu
\newcommand*\subtocctrl[2]{% wird von \subtoc ins TOC geschrieben
  \ifsubtoc % damit's keinen Einfluss aufs \maintoc nimmt
    \ifnum\value{subtocnumber}=#1\relax
% nur bei Übereinstimmung (passender Eintrag zum aufrufenden \subtoc)
      \value{tocdepth}=#2\relax% TOC-Einträge einblenden
    \fi
  \fi
}%\subtocctrl{subtoc}{depth}
dann wird \subtoc n nicht mehr durch \subtoc n+1 beendet.

MfG
Rainer

von b166er » Do 7. Feb 2013, 16:22

hallo,

ich bin gerade noch auf ein großen problem bei der sache gestoßen:

wenn ich folgendes benutze, also mit input dateien gliedere, taucht im inhaltsverzeichnis nur der inhalt von input{001.tex} auf.
der inhalt von input{002.tex} wird nicht im inhaltsverzeichnis berücksichtigt:
\documentclass[12pt,a4paper,oneside]{scrbook} 
\usepackage[ngerman]{babel} 
\usepackage[top=25mm, bottom=25mm, left=15mm, right=15mm]{geometry} 
\usepackage{blindtext} 

\usepackage{hyperref} 

\usepackage{harvard} 

\hypersetup{pdfborder = 0 0 0}%Kein Kasten um Links 


%Zeichen Kopierbarkeit 
\RequirePackage{cmap} 
%\usepackage[utf8]{inputenc} 
\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{textcomp} 
%\usepackage{lmodern} 

\usepackage{pslatex} 
\renewcommand*\familydefault{\sfdefault} 

%----------------------------------% 
%----------------------------------% 
%----------------------------------% 
\usepackage{scrpage2} 

\pagestyle{scrheadings} 

\renewcommand*{\chapterpagestyle}{scrheadings}% pagestyle auf JEDER Seite 

\clearscrheadings 
\clearscrplain 
\clearscrheadfoot 

\setkomafont{pageheadfoot}{\normalfont\sffamily\bfseries} 
\setkomafont{pagefoot}{\normalfont\sffamily} 
%\setkomafont{pagenumber}{\normalfont\rmfamily\slshape} 

\automark[chapter]{section}% gibt den passenden text an \headmark 

\ihead[\headmark]{\headmark} 
\chead[]{\hyperlink{root}{START}} 
\ohead[]{\textbf{Dokumentversion: \today}} 
  
\ifoot[]{} 
\cfoot[\pagemark]{\pagemark} 
\ofoot[]{} 

\setheadsepline{0.5pt} 
\setfootsepline{0.5pt} 
\setfootbotline{0.5pt} 
%----------------------------------% 
%----------------------------------% 
%----------------------------------% 

\usepackage{tocstyle} 
\usetocstyle{standard} 


\setcounter{secnumdepth}{-2}% keine Gliederungsnummerierung 
\newcommand*\maintocdepth{0}% Tiefe für \maintoc 
\newcounter{subtochd}% subtoc heading 
\newcounter{subtocnumber}% subtoc-Nr 
\newcounter{subtocstartlevel}% subtoc: erste angezeigte Ebene 
\newcounter{subtocstoplevel}% subtoc: angezeigte Tiefe 
\newcommand*\maxtocleveldepth{5}% max. Tiefe für ein eigenes subtoc 

\newcommand*{\maintoc}{% bis \maintocdepth 
  \begingroup 
    \value{tocdepth}=\maintocdepth\relax 
    \tableofcontents 
  \endgroup 
} 

\newcommand*\notocshow{\value{tocdepth}=-9\relax}%TOC-Einträge ausblenden 
%werden in \subtoc überschrieben: 
\newcommand*\tocentrytmp{} 
\newcommand*\tocentrytmpb{} 
\newcommand\tocentryline{} 
\newcommand*\tocentrylevel{-2} 

\newif\ifsubtoc\subtocfalse% zur Unterscheidung subtoc/maintoc 
\newcommand*\subtocctrl[2]{% wird von \subtoc ins TOC geschrieben 
  \ifsubtoc % damit's keinen Einfluss aufs \maintoc nimmt 
    \ifnum\value{subtocnumber}=#1\relax 
% nur bei Übereinstimmung (passender Eintrag zum aufrufenden \subtoc) 
      \value{tocdepth}=#2\relax% TOC-Einträge einblenden 
    \else 
      \notocshow% sonst ausblenden 
    \fi 
  \fi 
}%\subtocctrl{subtoc}{depth} 
\newcommand*{\subtoc}[2][1]{% nur Ebene #2+1 bis #2+#1 
% damit man beim \subtoc-Aufruf die Ebene der davorliegenden 
% Gliederung angeben kann (0=chapter, 1=section etc.) 
% lässt sich vermutlich so auch leicht an section@level anpassen 
  \stepcounter{subtocnumber}% subtoc-Nr inkrementieren 
  \setcounter{subtocstartlevel}{#2}% 
  \stepcounter{subtocstartlevel}% subtoc-Startebene 
  \setcounter{subtocstoplevel}{#2}% 
  \addtocounter{subtocstoplevel}{#1}% subtoc-Tiefe 
  \ifnum\value{subtocstartlevel}>\maxtocleveldepth\relax 
    \typeout{Max. TOC level exceeded! (got \arabic{subtocstartlevel})}% 
%    \setcounter{subtocstartlevel}{\maxtocleveldepth}%ggf. begrenzen 
  \fi 
  \setcounter{subtochd}{\value{subtocstartlevel}}% 
  \stepcounter{subtochd}% 
  \ifnum\value{subtochd}<0 
    \setcounter{subtochd}{0}% 
  \fi 
  \ifnum\value{subtochd}>6 
    \setcounter{subtochd}{0}% 
  \fi 
  \addtocontents{toc}{\protect\subtocctrl{\arabic{subtocnumber}}{\arabic{subtocstoplevel}}}% \subctrl ins TOC 
  \ifcase\value{subtochd}\or %\subtoc-Überschrift 
    \chapter*{Liste der Auswahlpunkte}% 
  \or 
    \section*{Sub-Kategorie}% 
  \or 
    \subsection*{Thema}% 
  \or 
    \subsubsection*{Inhalt}% 
  \or 
    \paragraph*{Liste UUUU}~\par 
  \or 
    \subparagraph*{Liste UUUUU}~\par 
  \fi 
  \begingroup 
    \subtoctrue% \subtocctrl aktivieren 
    \let\tocentryline\contentsline% Kopie von \contentsline anlegen 
    \renewcommand\contentsline[1]{% ein Parameter ist hier Absicht! 
% Da bei fehlender Gliederungsnummerierung der vierte Parameter 
% nicht aussagekräftig ist (und ohne hyperref gäbe es eh nur drei), 
% wird hier nur der erste Parameter (chapter/section etc) ausgewertet: 
      \edef\tocentrytmpb{##1}% 
      \edef\tocentrytmp{part}% 
      \ifx\tocentrytmp\tocentrytmpb\relax 
        \edef\tocentrylevel{-1}% 
      \else 
        \edef\tocentrytmp{chapter}% 
        \ifx\tocentrytmp\tocentrytmpb\relax 
          \edef\tocentrylevel{0}% 
        \else 
          \edef\tocentrytmp{section}% 
          \ifx\tocentrytmp\tocentrytmpb\relax 
            \edef\tocentrylevel{1}% 
          \else 
            \edef\tocentrytmp{subsection}% 
            \ifx\tocentrytmp\tocentrytmpb\relax 
              \edef\tocentrylevel{2}% 
            \else 
              \edef\tocentrytmp{subsubsection}% 
              \ifx\tocentrytmp\tocentrytmpb\relax 
                \edef\tocentrylevel{3}% 
              \else 
                \edef\tocentrytmp{paragraph}% 
                \ifx\tocentrytmp\tocentrytmpb\relax 
                  \edef\tocentrylevel{4}% 
                \else 
                  \edef\tocentrytmp{subparagraph}% 
                  \ifx\tocentrytmp\tocentrytmpb\relax 
                    \edef\tocentrylevel{5}% 
                  \else 
                    \typeout{Unknown TOC level (\tocentrytmpb) encountered!}% 
                    \edef\tocentrylevel{99}% 
                  \fi% subparagraph 
                \fi% paragraph 
              \fi% subsubsection 
            \fi% subsection 
          \fi% section 
        \fi% chapter 
      \fi% part 
      \ifnum\value{subtocstartlevel}>\tocentrylevel\relax 
        % spätestens bei der nächst-höheren Gliederung subtoc beenden: 
        \notocshow 
      \fi 
      % den gesicherten \contentline-Befehl aufrufen. 
      % Den bereits verwendeten Parameter wieder einhängen, 
      % alle anderen Parameter greift \tocentryline automagisch: 
      \tocentryline{##1}% 
    }% 
    \notocshow% vorm \subtoc stand bestimmt schon was, das nicht ins 
    % \subtoc reinsoll 
    \showtoc{toc}% TOC ausgeben 
  \endgroup 
} 



\begin{document} 

\hypertarget{root}{} 

\maintoc 

%---------------------------------------------------------% 
%---------------------------------------------------------% 
%---------------------------------------------------------% 
%### 
\chapter{Kategorie 11} 
\subtoc{0} 
\newpage 
%### 

%### 
\section{Sub-Kategorie 11-11-11} 
\subtoc{1} 
\newpage 
%### 

\input{001.tex}

\input{002.tex}

%---------------------------------------------------------% 
%---------------------------------------------------------% 
%---------------------------------------------------------% 

%### 
\chapter{Kategorie 22} 
\subtoc{0} 
\newpage 
%### 

%### 
\section{Sub-Kategorie 22-22-00} 
\subtoc{1} 
\newpage 
%### 

%### 
\subsection{Thema Beispiel 001} 
\subtoc[1]{2}% Test \subtoc subsubsection (2+1) bis paragraph (2+2) %gelbe nummer gibt verzeichnis tiefe an. 
\newpage 
%###

%### 
\subsubsection{Punkt 001} 

\blindtext 

\subsubsection{Punkt 002} 

\blindtext 
%### 
%---------------------------------------------------------% 
%---------------------------------------------------------% 
%---------------------------------------------------------% 


\end{document} 
 
001.tex:
%### 
\subsection{Thema Beispiel 001} 
\subtoc{2} 
\newpage 
%### 

%### 
\subsubsection{Punkt 001} 

\blindtext 

\subsubsection{Punkt 002} 

\blindtext 
%###
002.tex:
%### 
\subsection{Thema Beispiel 002} 
\subtoc{2} 
\newpage 
%### 

%### 
\subsubsection{Punkt 001} 

\blindtext 

\subsubsection{Punkt 002} 

\blindtext 
%###

von b166er » Mi 6. Feb 2013, 21:00

Vielen Dank für die Antwort.

Gibt es auch einen Weg die Schriftgröße im Inhaltsverzeichnis zu vergrößern ?

von rais » Di 29. Jan 2013, 15:23

Hallo,
b166er hat geschrieben: Wie kann ich das Design der einzelnen Inhaltsverzeichnisstufen anpassen.

Zum Beispiel Schriftgröße des maintocs und der anderen usw.
mir ist nicht ganz klar, welche Schriftgröße(n) Du woran anpassen willst.
Die der subtoc-Überschriften könntest Du direkt im \ifcase anpassen, z.B. statt \chapter*, \section* etc. überall \minisec verwenden.
Evtl. lohnt auch ein Blick in `texdoc tocstyle'.
b166er hat geschrieben: Besonders stört mich das immer weiter eingerückt wird, für die Inhaltsverzeichnisse nach dem maintoc würde ich gerne das design des ersten Verzeichnisses nach maintoc haben.
Wie wär's ganz ohne Einrückung?
\usepackage[tocflat]{tocstyle}
b166er hat geschrieben: Und noch eine Frage es wird ja für jedes Verzeichnis eine Toc datei erstellt muss ich mir da keine Sorgen machen, dass es zuviele werden ?
Nö, es wird dafür nur ein Schreibregister verwendet, AFAICS.
b166er hat geschrieben: Und wie kann ich mir die Option offen halten das er im inhaltsverzeichnis wenn ich das PDF mit Adobe Reader öffne auch noch auf Punkt 001 Punkt 002 anzeigt. Im moment hört er bei der Stufe Thema auf.
Dafür hatte ich \maintocdepth vorgesehen, wenn Du da was anderes als 0 reinschreibst, wird das TOC bis zur entsprechenden Ebene auch ausgegeben. Wobei
\newcommand*\maintocdepth{2}% Tiefe für \maintoc
entspräche bei kapitelführenden Klassen dem voreingestellten tocdepth-Wert, dann könntest Du statt \maintoc auch gleich \tableofcontents im Text verwenden.

MfG
Rainer

von b166er » Mo 28. Jan 2013, 23:26

Hallo,

meinen Dank und mein Respekt für die Mühe die du dir gemacht hast.
Von der Funktionalität her, ist es genau das was ich brauche.
Ich habe jedoch noch einige Fragen.

Wie kann ich das Design der einzelnen Inhaltsverzeichnisstufen anpassen.

Zum Beispiel Schriftgröße des maintocs und der anderen usw.

Und für die Inhaltsverzeichnisse die nach maintoc folgen, würde ich gerne immer das gleiche Design haben und auch noch die Schriftgröße anpassen und andere Sachen. Besonders stört mich das immer weiter eingerückt wird, für die Inhaltsverzeichnisse nach dem maintoc würde ich gerne das design des ersten Verzeichnisses nach maintoc haben.

Und noch eine Frage es wird ja für jedes Verzeichnis eine Toc datei erstellt muss ich mir da keine Sorgen machen, dass es zuviele werden ?

Und wie kann ich mir die Option offen halten das er im inhaltsverzeichnis wenn ich das PDF mit Adobe Reader öffne auch noch auf Punkt 001 Punkt 002 anzeigt. Im moment hört er bei der Stufe Thema auf.

Hier ist das Beispiel von dir das ich an meine Bedürfnisse soweit angepasst habe:
\documentclass[12pt,a4paper,oneside]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[top=25mm, bottom=25mm, left=15mm, right=15mm]{geometry}
\usepackage{blindtext}

\usepackage{hyperref}

\usepackage{harvard}

\hypersetup{pdfborder = 0 0 0}%Kein Kasten um Links


%Zeichen Kopierbarkeit
\RequirePackage{cmap}
%\usepackage[utf8]{inputenc}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
%\usepackage{lmodern}

\usepackage{pslatex}
\renewcommand*\familydefault{\sfdefault}

%----------------------------------%
%----------------------------------%
%----------------------------------%
\usepackage{scrpage2}

\pagestyle{scrheadings}

\renewcommand*{\chapterpagestyle}{scrheadings}% pagestyle auf JEDER Seite

\clearscrheadings
\clearscrplain
\clearscrheadfoot

\setkomafont{pageheadfoot}{\normalfont\sffamily\bfseries}
\setkomafont{pagefoot}{\normalfont\sffamily}
%\setkomafont{pagenumber}{\normalfont\rmfamily\slshape}

\automark[chapter]{section}% gibt den passenden text an \headmark

\ihead[\headmark]{\headmark}
\chead[]{\hyperlink{root}{START}}
\ohead[]{\textbf{Dokumentversion: \today}}
 
\ifoot[]{}
\cfoot[\pagemark]{\pagemark}
\ofoot[]{}

\setheadsepline{0.5pt}
\setfootsepline{0.5pt}
\setfootbotline{0.5pt}
%----------------------------------%
%----------------------------------%
%----------------------------------%

\usepackage{tocstyle}
\usetocstyle{standard}


\setcounter{secnumdepth}{-2}% keine Gliederungsnummerierung
\newcommand*\maintocdepth{0}% Tiefe für \maintoc
\newcounter{subtochd}% subtoc heading
\newcounter{subtocnumber}% subtoc-Nr
\newcounter{subtocstartlevel}% subtoc: erste angezeigte Ebene
\newcounter{subtocstoplevel}% subtoc: angezeigte Tiefe
\newcommand*\maxtocleveldepth{5}% max. Tiefe für ein eigenes subtoc

\newcommand*{\maintoc}{% bis \maintocdepth
  \begingroup
    \value{tocdepth}=\maintocdepth\relax
    \tableofcontents
  \endgroup
}

\newcommand*\notocshow{\value{tocdepth}=-9\relax}%TOC-Einträge ausblenden
%werden in \subtoc überschrieben:
\newcommand*\tocentrytmp{}
\newcommand*\tocentrytmpb{}
\newcommand\tocentryline{}
\newcommand*\tocentrylevel{-2}

\newif\ifsubtoc\subtocfalse% zur Unterscheidung subtoc/maintoc
\newcommand*\subtocctrl[2]{% wird von \subtoc ins TOC geschrieben
  \ifsubtoc % damit's keinen Einfluss aufs \maintoc nimmt
    \ifnum\value{subtocnumber}=#1\relax
% nur bei Übereinstimmung (passender Eintrag zum aufrufenden \subtoc)
      \value{tocdepth}=#2\relax% TOC-Einträge einblenden
    \else
      \notocshow% sonst ausblenden
    \fi
  \fi
}%\subtocctrl{subtoc}{depth}
\newcommand*{\subtoc}[2][1]{% nur Ebene #2+1 bis #2+#1
% damit man beim \subtoc-Aufruf die Ebene der davorliegenden
% Gliederung angeben kann (0=chapter, 1=section etc.)
% lässt sich vermutlich so auch leicht an section@level anpassen
  \stepcounter{subtocnumber}% subtoc-Nr inkrementieren
  \setcounter{subtocstartlevel}{#2}%
  \stepcounter{subtocstartlevel}% subtoc-Startebene
  \setcounter{subtocstoplevel}{#2}%
  \addtocounter{subtocstoplevel}{#1}% subtoc-Tiefe
  \ifnum\value{subtocstartlevel}>\maxtocleveldepth\relax
    \typeout{Max. TOC level exceeded! (got \arabic{subtocstartlevel})}%
%    \setcounter{subtocstartlevel}{\maxtocleveldepth}%ggf. begrenzen
  \fi
  \setcounter{subtochd}{\value{subtocstartlevel}}%
  \stepcounter{subtochd}%
  \ifnum\value{subtochd}<0
    \setcounter{subtochd}{0}%
  \fi
  \ifnum\value{subtochd}>6
    \setcounter{subtochd}{0}%
  \fi
  \addtocontents{toc}{\protect\subtocctrl{\arabic{subtocnumber}}{\arabic{subtocstoplevel}}}% \subctrl ins TOC
  \ifcase\value{subtochd}\or %\subtoc-Überschrift
    \chapter*{Liste der Auswahlpunkte}%
  \or
    \section*{Sub-Kategorie}%
  \or
    \subsection*{Thema}%
  \or
    \subsubsection*{Inhalt}%
  \or
    \paragraph*{Liste UUUU}~\par
  \or
    \subparagraph*{Liste UUUUU}~\par
  \fi
  \begingroup
    \subtoctrue% \subtocctrl aktivieren
    \let\tocentryline\contentsline% Kopie von \contentsline anlegen
    \renewcommand\contentsline[1]{% ein Parameter ist hier Absicht!
% Da bei fehlender Gliederungsnummerierung der vierte Parameter
% nicht aussagekräftig ist (und ohne hyperref gäbe es eh nur drei),
% wird hier nur der erste Parameter (chapter/section etc) ausgewertet:
      \edef\tocentrytmpb{##1}%
      \edef\tocentrytmp{part}%
      \ifx\tocentrytmp\tocentrytmpb\relax
        \edef\tocentrylevel{-1}%
      \else
        \edef\tocentrytmp{chapter}%
        \ifx\tocentrytmp\tocentrytmpb\relax
          \edef\tocentrylevel{0}%
        \else
          \edef\tocentrytmp{section}%
          \ifx\tocentrytmp\tocentrytmpb\relax
            \edef\tocentrylevel{1}%
          \else
            \edef\tocentrytmp{subsection}%
            \ifx\tocentrytmp\tocentrytmpb\relax
              \edef\tocentrylevel{2}%
            \else
              \edef\tocentrytmp{subsubsection}%
              \ifx\tocentrytmp\tocentrytmpb\relax
                \edef\tocentrylevel{3}%
              \else
                \edef\tocentrytmp{paragraph}%
                \ifx\tocentrytmp\tocentrytmpb\relax
                  \edef\tocentrylevel{4}%
                \else
                  \edef\tocentrytmp{subparagraph}%
                  \ifx\tocentrytmp\tocentrytmpb\relax
                    \edef\tocentrylevel{5}%
                  \else
                    \typeout{Unknown TOC level (\tocentrytmpb) encountered!}%
                    \edef\tocentrylevel{99}%
                  \fi% subparagraph
                \fi% paragraph
              \fi% subsubsection
            \fi% subsection
          \fi% section
        \fi% chapter
      \fi% part
      \ifnum\value{subtocstartlevel}>\tocentrylevel\relax
        % spätestens bei der nächst-höheren Gliederung subtoc beenden:
        \notocshow
      \fi
      % den gesicherten \contentline-Befehl aufrufen.
      % Den bereits verwendeten Parameter wieder einhängen,
      % alle anderen Parameter greift \tocentryline automagisch:
      \tocentryline{##1}%
    }%
    \notocshow% vorm \subtoc stand bestimmt schon was, das nicht ins
    % \subtoc reinsoll
    \showtoc{toc}% TOC ausgeben
  \endgroup
}



\begin{document}

\hypertarget{root}{}

\maintoc

%---------------------------------------------------------%
%---------------------------------------------------------%
%---------------------------------------------------------%
%###
\chapter{Kategorie 11}
\subtoc{0}
\newpage
%###

%###
\section{Sub-Kategorie 11-11-11}
\subtoc{1}
\newpage
%###

%###
\subsection{Thema Beispiel 001}
\subtoc{2}
\newpage
%###

%###
\subsubsection{Punkt 001}

\blindtext

\subsubsection{Punkt 002}

\blindtext
%###
%---------------------------------------------------------%
%---------------------------------------------------------%
%---------------------------------------------------------%
%###
\chapter{Kategorie 22}
\subtoc{0}
\newpage
%###

%###
\section{Sub-Kategorie 22-22-00}
\subtoc{1}
\newpage
%###
 
%###
\subsection{Thema Beispiel 001}
\subtoc[1]{2}% Test \subtoc subsubsection (2+1) bis paragraph (2+2) %gelbe nummer gibt verzeichnis tiefe an.
\newpage
%###

%###
\subsubsection{Punkt 001}

\blindtext

\subsubsection{Punkt 002}

\blindtext
%###
%---------------------------------------------------------%
%---------------------------------------------------------%
%---------------------------------------------------------%


\end{document} 

von rais » So 27. Jan 2013, 23:22

Hallo,
b166er hat geschrieben: ich habe versucht die nummerierung mit dem kommando:

\setcounter{secnumdepth}{-1}

jedoch zeigter er dann keine einträge mehr in den inhaltsverzeichnissen an.

wie entferne ich die nummerierung ?
Das war gar nicht soo einfach: Der vierte Parameter des \contentsline-Befehls, den ich für die Auswertung `Start (sub)TOC-Anzeige' hergenommen hab, sieht bei abgeschalteter Nummerierung anders aus (section*.Nummer) -- aber es geht ja auch anders (s.u.)
b166er hat geschrieben: und kann man das ganze nicht in der book klasse auf part ebene starten ?
\part nimmt normalerweise eine Seite für sich ein; theoretisch wäre das mit dem unten stehenden Code aber auch machbar (hier mit \chapter abwärts).
Aber schau erstmal, ob es so noch andere Ungereimtheiten gibt:
\documentclass[12pt, ngerman, a4paper]{book}
\usepackage[top=10mm, bottom=10mm, left=10mm, right=10mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{tocstyle}
\usetocstyle{standard}
\usepackage{hyperref}

\setcounter{secnumdepth}{-2}% keine Gliederungsnummerierung
\newcommand*\maintocdepth{0}% Tiefe für \maintoc
\newcounter{subtochd}% subtoc heading
\newcounter{subtocnumber}% subtoc-Nr
\newcounter{subtocstartlevel}% subtoc: erste angezeigte Ebene
\newcounter{subtocstoplevel}% subtoc: angezeigte Tiefe
\newcommand*\maxtocleveldepth{5}% max. Tiefe für ein eigenes subtoc

\newcommand*{\maintoc}{% bis \maintocdepth
  \begingroup
    \value{tocdepth}=\maintocdepth\relax
    \tableofcontents
  \endgroup
}

\newcommand*\notocshow{\value{tocdepth}=-9\relax}%TOC-Einträge ausblenden
%werden in \subtoc überschrieben:
\newcommand*\tocentrytmp{}
\newcommand*\tocentrytmpb{}
\newcommand\tocentryline{}
\newcommand*\tocentrylevel{-2}

\newif\ifsubtoc\subtocfalse% zur Unterscheidung subtoc/maintoc
\newcommand*\subtocctrl[2]{% wird von \subtoc ins TOC geschrieben
  \ifsubtoc % damit's keinen Einfluss aufs \maintoc nimmt
    \ifnum\value{subtocnumber}=#1\relax
% nur bei Übereinstimmung (passender Eintrag zum aufrufenden \subtoc)
      \value{tocdepth}=#2\relax% TOC-Einträge einblenden
    \else
      \notocshow% sonst ausblenden
    \fi
  \fi
}%\subtocctrl{subtoc}{depth}
\newcommand*{\subtoc}[2][1]{% nur Ebene #2+1 bis #2+#1
% damit man beim \subtoc-Aufruf die Ebene der davorliegenden
% Gliederung angeben kann (0=chapter, 1=section etc.)
% lässt sich vermutlich so auch leicht an section@level anpassen
  \stepcounter{subtocnumber}% subtoc-Nr inkrementieren
  \setcounter{subtocstartlevel}{#2}%
  \stepcounter{subtocstartlevel}% subtoc-Startebene
  \setcounter{subtocstoplevel}{#2}%
  \addtocounter{subtocstoplevel}{#1}% subtoc-Tiefe
  \ifnum\value{subtocstartlevel}>\maxtocleveldepth\relax
    \typeout{Max. TOC level exceeded! (got \arabic{subtocstartlevel})}%
%    \setcounter{subtocstartlevel}{\maxtocleveldepth}%ggf. begrenzen
  \fi
  \setcounter{subtochd}{\value{subtocstartlevel}}%
  \stepcounter{subtochd}%
  \ifnum\value{subtochd}<0
    \setcounter{subtochd}{0}%
  \fi
  \ifnum\value{subtochd}>6
    \setcounter{subtochd}{0}%
  \fi
  \addtocontents{toc}{\protect\subtocctrl{\arabic{subtocnumber}}{\arabic{subtocstoplevel}}}% \subctrl ins TOC
  \ifcase\value{subtochd}\or %\subtoc-Überschrift
    \chapter*{Liste der Auswahlpunkte}%
  \or
    \section*{Liste der Sub-Auswahlpunkte}%
  \or
    \subsection*{Liste der Sub-Sub-Auswahlpunkte}%
  \or
    \subsubsection*{Liste der Sub-Sub-Sub-Auswahlpunkte}%
  \or
    \paragraph*{Liste UUUU}~\par
  \or
    \subparagraph*{Liste UUUUU}~\par
  \fi
  \begingroup
    \subtoctrue% \subtocctrl aktivieren
    \let\tocentryline\contentsline% Kopie von \contentsline anlegen
    \renewcommand\contentsline[1]{% ein Parameter ist hier Absicht!
% Da bei fehlender Gliederungsnummerierung der vierte Parameter
% nicht aussagekräftig ist (und ohne hyperref gäbe es eh nur drei),
% wird hier nur der erste Parameter (chapter/section etc) ausgewertet:
      \edef\tocentrytmpb{##1}%
      \edef\tocentrytmp{part}%
      \ifx\tocentrytmp\tocentrytmpb\relax
        \edef\tocentrylevel{-1}%
      \else
        \edef\tocentrytmp{chapter}%
        \ifx\tocentrytmp\tocentrytmpb\relax
          \edef\tocentrylevel{0}%
        \else
          \edef\tocentrytmp{section}%
          \ifx\tocentrytmp\tocentrytmpb\relax
            \edef\tocentrylevel{1}%
          \else
            \edef\tocentrytmp{subsection}%
            \ifx\tocentrytmp\tocentrytmpb\relax
              \edef\tocentrylevel{2}%
            \else
              \edef\tocentrytmp{subsubsection}%
              \ifx\tocentrytmp\tocentrytmpb\relax
                \edef\tocentrylevel{3}%
              \else
                \edef\tocentrytmp{paragraph}%
                \ifx\tocentrytmp\tocentrytmpb\relax
                  \edef\tocentrylevel{4}%
                \else
                  \edef\tocentrytmp{subparagraph}%
                  \ifx\tocentrytmp\tocentrytmpb\relax
                    \edef\tocentrylevel{5}%
                  \else
                    \typeout{Unknown TOC level (\tocentrytmpb) encountered!}%
                    \edef\tocentrylevel{99}%
                  \fi% subparagraph
                \fi% paragraph
              \fi% subsubsection
            \fi% subsection
          \fi% section
        \fi% chapter
      \fi% part
      \ifnum\value{subtocstartlevel}>\tocentrylevel\relax
        % spätestens bei der nächst-höheren Gliederung subtoc beenden:
        \notocshow
      \fi
      % den gesicherten \contentline-Befehl aufrufen.
      % Den bereits verwendeten Parameter wieder einhängen,
      % alle anderen Parameter greift \tocentryline automagisch:
      \tocentryline{##1}%
    }%
    \notocshow% vorm \subtoc stand bestimmt schon was, das nicht ins
    % \subtoc reinsoll
    \showtoc{toc}% TOC ausgeben
  \endgroup
}

\begin{document}
\maintoc

\chapter{Auswahlpunkt-01}
\subtoc{0}

\section{Sub-Auswahlpunkt-01}
\subtoc{1}

\subsection{Sub-Sub-Auswahlpunkt-01}
\subtoc{2}
\subsubsection{foo}
\paragraph{foo-a}
\paragraph{foo-b}
\subsubsection{bar}
\paragraph{bar-a}
\paragraph{bar-b}
\chapter{Auswahlpunkt-02}
\subtoc{0}

\section{Sub-Auswahlpunkt-02}
\subtoc{1}
\subsection{Sub-Sub-Auswahlpunkt-02}
\subtoc[2]{2}% Test \subtoc subsubsection (2+1) bis paragraph (2+2)
\subsubsection{foo-02}
\paragraph{foo-02-a}
\paragraph{foo-02-b}
\subsubsection{bar-02}
\paragraph{bar-02-a}
\paragraph{bar-02-b}
\subparagraph{bla}
\subparagraph{blubb}
\end{document}
MfG
Rainer

von b166er » So 27. Jan 2013, 17:41

hallo,

danke die struktur stimmt jetzt auf jedenfall schonmal.

ich habe versucht die nummerierung mit dem kommando:

\setcounter{secnumdepth}{-1}

jedoch zeigter er dann keine einträge mehr in den inhaltsverzeichnissen an.

wie entferne ich die nummerierung ?

und kann man das ganze nicht in der book klasse auf part ebene starten ?

also

ein inhaltsverzeichnis mit parts
ein inhaltsverzeichnis mit chapters
ein inhaltsverzeichnis mit sections
ein inhaltsverzeichnis mit subsections

von Epllus » So 27. Jan 2013, 11:01

Du solltest dir noch einige Einsteigertexte durchlesen, dort erfährst du, dass es auch noch \paragraph{} und \subparagraph{} gibt.

Ich habe den Befehl \paragraphtoc hinzugefügt, damit müsste dein Vorhaben realisierbar sein.
Das mit der Nummerierung ist ein Problem (jedenfalls bei mir), hab jetzt leider keine Zeit darauf genauer einzugehen.
\documentclass[12pt, ngerman, a4paper]{article} 

\usepackage[top=10mm, bottom=10mm, left=10mm, right=10mm]{geometry} 

\usepackage[latin1]{inputenc} 

\usepackage{hyperref} 

\usepackage{tocstyle} 

\usepackage{blindtext} 

\usetocstyle{standard} 

%\setcounter{secnumdepth}{5} 	% Wenn \subparagraph verwendet wird, aktivieren.
\setcounter{tocdepth}{5}		


\newcounter{normaltocdepth} 
\setcounter{normaltocdepth}{\value{tocdepth}} 

\newcommand*{\maintoc}{% nur section-Ebene 
  \begingroup 
    \value{tocdepth}=1\relax 
    \tableofcontents 
  \endgroup 
} 

\newcommand*\notocshow{\value{tocdepth}=-9\relax} 
\newcommand*\tocentrytmp{} 
\newcommand*\tocentrytmpb{} 
\newcommand\tocentryline{} 

\newcommand*{\subtoc}{% nur subsection-Ebene 
  \subsection*{Liste der Sub-Auswahlpunkte} 
  \begingroup 
    \let\tocentryline\contentsline 
    \renewcommand\contentsline[4]{% 
      \edef\tocentrytmp{section}% 
      \edef\tocentrytmpb{##1}% 
      \ifx\tocentrytmp\tocentrytmpb\relax 
        \edef\tocentrytmp{section.\theHsection}% 
        \edef\tocentrytmpb{##4}% 
        \ifx\tocentrytmp\tocentrytmpb\relax 
          \value{tocdepth}=2\relax 
        \else 
          \notocshow 
        \fi 
      \else 
        \tocentryline{##1}{##2}{##3}{##4}% 
      \fi 
    }% 
    \notocshow 
    \showtoc{toc} 
  \endgroup 
} 

\newcommand*{\subsubtoc}{% nur subsubsection-Ebene 
  \subsubsection*{Liste der Sub-Sub-Auswahlpunkte} 
  \begingroup 
    \let\tocentryline\contentsline 
    \renewcommand\contentsline[4]{% 
      \edef\tocentrytmpb{##1}% 
      \edef\tocentrytmp{section}% 
      \ifx\tocentrytmp\tocentrytmpb\relax 
        \notocshow 
      \else 
        \edef\tocentrytmp{subsection}% 
        \ifx\tocentrytmp\tocentrytmpb\relax 
          \edef\tocentrytmp{subsection.\theHsubsection}% 
          \edef\tocentrytmpb{##4}% 
          \ifx\tocentrytmp\tocentrytmpb\relax 
            \value{tocdepth}=3\relax 
          \else 
            \notocshow 
          \fi 
        \else 
          \tocentryline{##1}{##2}{##3}{##4}% 
        \fi 
      \fi 
    }% 
    \notocshow 
    \showtoc{toc} 
  \endgroup 
} 

\newcommand*{\paragraphtoc}{% nur paragraph-Ebene 
  \subsubsection*{Liste der Paragraph-Auswahlpunkte} 
  \begingroup 
    \let\tocentryline\contentsline 
    \renewcommand\contentsline[4]{% 
      \edef\tocentrytmpb{##1}% 
      \edef\tocentrytmp{section}% 
      \ifx\tocentrytmp\tocentrytmpb\relax 
        \notocshow 
      \else 
        \edef\tocentrytmp{subsubsection}% 
        \ifx\tocentrytmp\tocentrytmpb\relax 
          \edef\tocentrytmp{subsubsection.\theHsubsubsection}% 
          \edef\tocentrytmpb{##4}% 
          \ifx\tocentrytmp\tocentrytmpb\relax 
            \value{tocdepth}=4\relax 
          \else 
            \notocshow 
          \fi 
        \else 
          \tocentryline{##1}{##2}{##3}{##4}% 
        \fi 
      \fi 
    }% 
    \notocshow 
    \showtoc{toc} 
  \endgroup 
} 

\newcommand*{\subparagraphtoc}{% nur subparagraph-Ebene % \setcounter{secnumdepht}{5} muss aktiviert werden (siehe oben)
  \subsubsection*{Liste der Sub-Paragraph-Auswahlpunkte} 
  \begingroup 
    \let\tocentryline\contentsline 
    \renewcommand\contentsline[4]{% 
      \edef\tocentrytmpb{##1}% 
      \edef\tocentrytmp{section}% 
      \ifx\tocentrytmp\tocentrytmpb\relax 
        \notocshow 
      \else 
        \edef\tocentrytmp{paragraph}% 
        \ifx\tocentrytmp\tocentrytmpb\relax 
          \edef\tocentrytmp{paragraph.\theHparagraph}% 
          \edef\tocentrytmpb{##4}% 
          \ifx\tocentrytmp\tocentrytmpb\relax 
            \value{tocdepth}=5\relax 
          \else 
            \notocshow 
          \fi 
        \else 
          \tocentryline{##1}{##2}{##3}{##4}% 
        \fi 
      \fi 
    }% 
    \notocshow 
    \showtoc{toc} 
  \endgroup 
} 




\begin{document} 

\maintoc 


\newpage 

\section{Auswahlpunkt-01} 

\subtoc 


\newpage 

\subsection{Sub-Auswahlpunkt-01} 

\subsubtoc 


\newpage 

\subsubsection{Sub-Sub-Auswahlpunkt-01} 

hier startet erst der eigentliche inhalt. die schritte davor sollten nur zur navigation dienen. 

hier sollte auch ein inhaltsverzeichnis sein, wo der inhalt von sub sub auswahlpunkt 01 aufgeführt ist. 

leider bin ich hier auch schon auf sub sub section ebene und habe damit keine gliederungsmöglichkeiten mehr für den eigentlichen inhalt. 
\paragraphtoc

\newpage
\paragraph{Paragraph-01}

\blindtext 



\newpage 

\section{Auswahlpunkt-02} 

\subtoc 


\newpage 

\subsection{Sub-Auswahlpunkt-01} 

\subsubtoc 


\newpage 

\subsubsection{Sub-Sub-Auswahlpunkt-01} 

\paragraphtoc
\newpage
\paragraph{Paragraph-01}
\blindtext 

\end{document} 
Hoffe es hilft,
Epllus

von b166er » Sa 26. Jan 2013, 17:58

rais hat geschrieben:ein möglicher Ansatz:
\documentclass[12pt, ngerman, a4paper]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{tocstyle}
\usetocstyle{standard}

\newcounter{normaltocdepth}
\setcounter{normaltocdepth}{\value{tocdepth}}

\newcommand*{\maintoc}{% nur section-Ebene
  \begingroup
    \value{tocdepth}=1\relax
    \tableofcontents
  \endgroup
}

\newcommand*\notocshow{\value{tocdepth}=-9\relax}
\newcommand*\tocentrytmp{}
\newcommand*\tocentrytmpb{}
\newcommand\tocentryline{}
\newcommand*{\subtoc}{% nur subsection-Ebene
  \subsection*{Inhalt (subtoc)}
  \begingroup
    \let\tocentryline\contentsline
    \renewcommand\contentsline[4]{%
      \edef\tocentrytmp{section}%
      \edef\tocentrytmpb{##1}%
      \ifx\tocentrytmp\tocentrytmpb\relax
        \edef\tocentrytmp{section.\theHsection}%
        \edef\tocentrytmpb{##4}%
        \ifx\tocentrytmp\tocentrytmpb\relax
          \value{tocdepth}=2\relax
        \else
          \notocshow
        \fi
      \else
        \tocentryline{##1}{##2}{##3}{##4}%
      \fi
    }%
    \notocshow
    \showtoc{toc}
  \endgroup
}

\newcommand*{\subsubtoc}{% ab subsubsection-Ebene
  \subsubsection*{Inhalt (subsubtoc)}
  \begingroup
    \let\tocentryline\contentsline
    \renewcommand\contentsline[4]{%
      \edef\tocentrytmpb{##1}%
      \edef\tocentrytmp{section}%
      \ifx\tocentrytmp\tocentrytmpb\relax
        \notocshow
      \else
        \edef\tocentrytmp{subsection}%
        \ifx\tocentrytmp\tocentrytmpb\relax
          \edef\tocentrytmp{subsection.\theHsubsection}%
          \edef\tocentrytmpb{##4}%
          \ifx\tocentrytmp\tocentrytmpb\relax
            \value{tocdepth}=\value{normaltocdepth}\relax
          \else
            \notocshow
          \fi
        \else
          \tocentryline{##1}{##2}{##3}{##4}%
        \fi
      \fi
    }%
    \notocshow
    \showtoc{toc}
  \endgroup
}


\begin{document}
\maintoc
\newpage

\section{Hauptthema}
\subtoc
\newpage

\subsection{Unterthema 001}
\subsubtoc

\subsubsection{UnterUnterthema 001} - Wenn ich auf diesen Eintrag klicke möchte ich auf ein ganz normales inhaltsverzeichnis geleitet werden was den letztendlichen inhalt von unterunterthema 001 anzeigt.

\subsubsection{UnterUnterthema 002}

\subsubsection{UnterUnterthema 003}

\newpage

\section{Hauptthema 2}

\subtoc

\newpage

\subsection{Unterthema 201}
\subsubtoc

\subsubsection{UnterUnterthema 201}

\subsubsection{UnterUnterthema 202}

\subsubsection{UnterUnterthema 203}

\end{document}
Hat allerdings den Haken (wenn nicht mehrere), daß es nur in der hier angegebenen Konstellation (kaptellose Klasse mit hyperref und secnumdepth>=2) funktioniert.

MfG
Rainer
Hallo,

vielen Dank für deine Mühe. Das ist schon fast das was ich brauche. Jedoch gibt es noch eine Sache. Ich habe die Fragen in an die entsprechende Stelle im folgenden Code geschrieben:
Ausserdem möchte ich die Nummerierung der gliederungspunkt deaktivieren.
\documentclass[12pt, ngerman, a4paper]{article}

\usepackage[top=10mm, bottom=10mm, left=10mm, right=10mm]{geometry}

\usepackage[latin1]{inputenc}

\usepackage{hyperref}

\usepackage{tocstyle}

\usepackage{blindtext}

\usetocstyle{standard}

\newcounter{normaltocdepth}

\setcounter{normaltocdepth}{\value{tocdepth}}

\newcommand*{\maintoc}{% nur section-Ebene
  \begingroup
    \value{tocdepth}=1\relax
    \tableofcontents
  \endgroup
}

\newcommand*\notocshow{\value{tocdepth}=-9\relax}
\newcommand*\tocentrytmp{}
\newcommand*\tocentrytmpb{}
\newcommand\tocentryline{}
\newcommand*{\subtoc}{% nur subsection-Ebene
  \subsection*{Liste der Sub-Auswahlpunkte}
  \begingroup
    \let\tocentryline\contentsline
    \renewcommand\contentsline[4]{%
      \edef\tocentrytmp{section}%
      \edef\tocentrytmpb{##1}%
      \ifx\tocentrytmp\tocentrytmpb\relax
        \edef\tocentrytmp{section.\theHsection}%
        \edef\tocentrytmpb{##4}%
        \ifx\tocentrytmp\tocentrytmpb\relax
          \value{tocdepth}=2\relax
        \else
          \notocshow
        \fi
      \else
        \tocentryline{##1}{##2}{##3}{##4}%
      \fi
    }%
    \notocshow
    \showtoc{toc}
  \endgroup
}

\newcommand*{\subsubtoc}{% ab subsubsection-Ebene
  \subsubsection*{Liste der Sub-Sub-Auswahlpunkte}
  \begingroup
    \let\tocentryline\contentsline
    \renewcommand\contentsline[4]{%
      \edef\tocentrytmpb{##1}%
      \edef\tocentrytmp{section}%
      \ifx\tocentrytmp\tocentrytmpb\relax
        \notocshow
      \else
        \edef\tocentrytmp{subsection}%
        \ifx\tocentrytmp\tocentrytmpb\relax
          \edef\tocentrytmp{subsection.\theHsubsection}%
          \edef\tocentrytmpb{##4}%
          \ifx\tocentrytmp\tocentrytmpb\relax
            \value{tocdepth}=\value{normaltocdepth}\relax
          \else
            \notocshow
          \fi
        \else
          \tocentryline{##1}{##2}{##3}{##4}%
        \fi
      \fi
    }%
    \notocshow
    \showtoc{toc}
  \endgroup
}


\begin{document}

\maintoc


\newpage

\section{Auswahlpunkt-01}

\subtoc


\newpage

\subsection{Sub-Auswahlpunkt-01}

\subsubtoc


\newpage

\subsubsection{Sub-Sub-Auswahlpunkt-01} 

hier startet erst der eigentliche inhalt. die schritte davor sollten nur zur navigation dienen.

hier sollte auch ein inhaltsverzeichnis sein, wo der inhalt von sub sub auswahlpunkt 01 aufgeführt ist.

leider bin ich hier auch schon auf sub sub section ebene und habe damit keine gliederungsmöglichkeiten mehr für den eigentlichen inhalt.

\vspace{5mm}

\blindtext



\newpage

\section{Auswahlpunkt-02}

\subtoc


\newpage

\subsection{Sub-Auswahlpunkt-01}

\subsubtoc


\newpage

\subsubsection{Sub-Sub-Auswahlpunkt-01} 

\vspace{5mm}

\blindtext

\end{document}
 

Nach oben