Hallo!
Wie schon einige wissen^^... Ich will mir ein hübsches Inhaltsverzeichnis bauen.
Es klappt ganz gut. Nur habe ich ein Problem, wenn mein Verzeichnis länger als eine Seite wird.
Es liegt folgendes vor:
-ich nutze das eso-pick packet um im Inhaltsverzeichnis mit tikz gestalten zu können.
-->die Balkenhöhen (siehe Beispielcode) passe ich "händisch" des automatischen tableofcontents an, wenn die Arbeit geschrieben ist.
Problem:
Wird das Inhaltsverzeichnis länger als eine Seite, so stellt eso-pic dort wieder das gleiche tikz Bild her. Ich will aber Farben und Balken für weitere Seiten verändern können.
Lösungsversuch:
Ich dachte, ich könnte eine while-Schleife integrieren:
1. Setze Seitenzahl auf 100 (es ist \value{page} auf 100)
2. Ich setzt nach dem Inhaltsverzeichnis die Seitenzahl auf 1
3. ich definiere in der präambel einen Befehl \inh. Da kommt rein:
3.1. eine while-Schleife für Seitennummern über 99:
\whiledo{\value{page}>99}{}{
3.2 eine if-Verzweigung in die while-Schleife:
\ifnum\value{page}=100%if zum ersten
zeichne es so
\else%else zum ersten
\ifnum\value{page}=101%if zum zweiten
zeichne es so
\else%else zum zweiten
\ifnum\value{page}=102%if zum dritten
\else Mehr Seiten habe ich nicht als Verzeichnis
\fi%Beenden drittes if
\fi%Beenden zweites if
\fi%Beenden ersets if
4. Aufrufen von \inh im Textkörper
5. Verzweifeln, weils nicht funktioniert! Fehlermeldung...
Mein Beispiel für euch. Nur eine If-Verzweigung aber selbe Fehlerausgabe:
%benutzte Packete:
\documentclass[fontsize=14pt, DIV=12,headlines=2]{scrreprt}%
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{palatino}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[onehalfspacing]{setspace}
\setcounter{secnumdepth}{5}
\usepackage{blindtext}
\usepackage[x11names]{xcolor}
\usepackage{tikz}
\usepackage{layout}
\usepackage{eso-pic}
\usepackage{titletoc}
\usepackage{framed}
\usepackage{geometry}
\geometry{left = 3.5cm, right = 3cm,top = 2.5cm,bottom = 2.8cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Einstellungen für Inhaltsverzeichnis - Chapter
\titlecontents{chapter}[-0.8cm]%
{\addvspace{1cm}}%
{%
\raisebox{-0.2cm}[0cm][0cm]{\color{Snow1}\Huge\thecontentslabel}%
\large\hspace{+0.5cm}%
}%
{%
\large\hspace{0.5cm}%% <- Kapiteleinträge in \large
}%
{%
\hfill\contentspage
}%
[%
\titleline{\titlerule}%% <- horizontale Linie
\addvspace{0.5cm}%% <- Abstand zum nächsten Eintrag
]%
\newcommand{\inh}{%
\setcounter{\value{page}}{100}
\whiledo{\value{page}>99}{
\ifnum\value{page}=100%
\AddToShipoutPicture{%
\begin{tikzpicture}[overlay]
%chapter1
\fill[left color=black, right color=Firebrick1](1.3,23) rectangle (3.4,1.3);
\fill[color=Firebrick3,opacity=0.2](1.3,23) rectangle (20.2,17.5);
\end{tikzpicture}%
}%Ende AddToShipoutPicture
\else
\AddToShipoutPicture{%
\begin{tikzpicture}[overlay]
%chapter6
\fill[left color=black, right color=RoyalBlue4](1.3,23) rectangle (3.4,1.3);
\fill[color=RoyalBlue4,opacity=0.2](1.3,23) rectangle (20.2,17.5);
\end{tikzpicture}
}
\fi
}%Ende whiledo
}%Ende \inh
%%%%%%%%%%%%%%%%%%%%%$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%$$$ N $$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%$$$$$$$$$$ E $ T $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%$ D K % M $$%$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%$ O % U $$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begingroup
\newgeometry{left = 3.5cm, right = 3cm,top = 7cm, bottom = 2.8cm}
\renewcommand*{\chapterpagestyle}{empty}
\renewcommand*\contentsname{\vspace{-4.5cm}}%Die Überschrift "Inhaltsverzeichnis wird hier entfernt und durch eine Verschiebung (vertikal) ersetzt. So wird der tableofcontents in den Rahmen eingepasst (Affengeil!)
\pagestyle{empty}
\inh
\tableofcontents
\clearpage
\endgroup
\ClearShipoutPicture
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setcounter{page}{1}
\chapter{So sieht eine Kapitelseite aus, das man auch noch länger machen kann}
\section{Das wird der erste große Abschnitt in dieser Arbeit}
\subsection{Das wird die erste Subsection}
\section{zweite Section dieses Tests}
\chapter{Das ist ein Farbenspiel}
\section{hallo! ich bin bunt unterstrichten!}
\chapter{Und noch ein Chapter}
\section{ölaskdjf}
\subsection{lföaksjdfa}
\subsection{alksjdföaslkfdj}
\section{ölaskdjf}
\subsection{lföaksjdfa}
\subsection{alksjdföaslkfdj}
\section{ölaskdjf}
\subsection{lföaksjdfa}
\subsection{alksjdföaslkfdj}
\chapter{kalsdjföaslkdfjdaösldkfjaösldkfjaösldkfj}
\section{öalksdfj}
\chapter{aösldkfjasödlfkja}
\section{öalksdjf}
\subsection{öalsdkfjöasdlkfj}
\end{document}
Mag LaTex keine While-IfElse Kombi, wie sie in C o.Ä. standard ist?