PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bedingte Formatierung im Inhaltsverzeichnis



Xanthos
20-03-2012, 16:47
Hallo,

für einen juristischen Text stehe ich vor einer besonderen Anforderung, zu der ich bisher nichts finden konnte. Ich habe nummerierte Paragraphen mit srcjura - das klappt.

Zusätzlich möchte ich das Werk in Abschnitte und Unterabschnitte gliedern. Dabei soll im Inhaltsverzeichnis aus optischen Gründen etwas Platz geschaffen werden. Ich versuche mich dabei an tocloft - vielleicht gibt es aber auch eine bessere Lösung.

Erledigt ist: section und subsection sind im TOC nicht eingerückt, haben keine Nummer und keine Seitenangabe.

Offen: Nach dem Eintrag eines Absatzes soll ein Leerraum (z.B. 1 ex) stehen, bevor die vielen nummerierten Paragraphen kommen. Dieser Leerraum soll entfallen, wenn ein Unterabschnitt vorkommt (was aber nicht immer der Fall ist). Nach dem Unterabschnitt soll dann der Leerraum folgen. Zusätzlich soll vor dem Unterabschnitt genau dann ein Leerraum eingefügt werden, wenn es sich nicht um den ersten, sondern einen nachfolgenden Unterabschnitt handelt.

Nun kann ich keine Makros und anderen Tricks in LaTeX, habe aber versucht meine Idee über einen if-then-else-Schalter logisch dazustellen.

Wer hat eine Idee, wie entweder eine solche Abfrage funktioniert - oder welche andere Möglichkeit es gäbe? Geht meine Idee mit einem solchen Schalter überhaupt, der bedingt in die Formatierung des TOC eingreift?

In dem Minimalbeispiel habe ich auch die o.g. erledigten Punkte noch drin gelassen, um den optischen Effekt besser veranschaulichen zu können. Ich weiß, dass das Beispiel auch noch minimaler gehen würde.


\documentclass{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage[contract,juratotoc]{scrjura}
\setcounter{secnumdepth}{-1} % Die Abschnitte (section, subsection) sollen nicht nummeriert werden

%%%%% Anpassungen für Inhaltsverzeichnis %%%%%
\usepackage[titles]{tocloft}
\cftpagenumbersoff{section}
\cftsetindents{section}{0em}{0em}
\cftpagenumbersoff{subsection}
\cftsetindents{subsection}{0em}{0em}

\renewcommand{\cftsubsecafterpnum}{\vspace{1ex}} % gilt für alle Fälle

% if (subsection folgt direkt auf section) % gilt nur für diesen speziellem Fall
%\renewcommand{\cftsecafterpnum}{\vspace{0ex}}
%\setlength{\cftbeforesubsecskip}{0ex}
% else % gilt für andere Fälle
%\renewcommand{\cftsecafterpnum}{\vspace{1ex}}
%\setlength{\cftbeforesubsecskip}{1ex}


\begin{document}
\tableofcontents

\parnumberfalse
\section{Ein Abschnitt}
\parnumbertrue

\Paragraph{title=Ein Paragraph}
Ein Text

\parnumberfalse
\section{Ein Abschnitt}
\subsection{Ein Unterabschnitt}
\parnumbertrue

\Paragraph{title=Ein Paragraph}
Ein Text

\parnumberfalse
\subsection{Ein Unterabschnitt}
\parnumbertrue

\Paragraph{title=Ein Paragraph}
Ein Text

\end{document}

Wenn noch Erklärungsbedarf besteht, weil meine Logik zu verworren ist, meldet Euch gerne.

Viele Grüße, Xanthos