PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formatierungsproblem beim Inhaltsverzeichnis



Ruediger
22-10-2005, 01:47
Hallo,

trotz intensiver Suche im Forum und Nutzung von Google habe ich leider nicht die Lösung gefunden. Ich vermute allerdings, dass ich einfach nur die falschen Stichwörter verwendet habe.

Zum Problem:
Ich formatiere gerade eine Dokument an dem verschiedene Autoren beteiligt waren. In das Inhaltsverzeichnis sollen pro Autor / pro Artikel drei Komponenten:
- der Name des Autors
- die Überschrift des Artikels
- ein Abstract, also eine kurze Beschreibung worum es geht

Das sollte folgendermaßen aussehen:

Autor
Kapitelname
    Abstract, der sich über mehrere Zeilen
    erstreckt

Leider sieht es aber so aus:

    Autor, der nicht eingerückt werden soll
Kapitelname
    Abstract, der sich über mehrere Zeilen
    erstreckt

Ich verwende momentan folgenden Code:


\addtocontents{toc}{Name des Autor}
\chapter{Überschrift des Artikels}
\addtocontents{toc}{\protect \parbox{7cm}{Abstract, der sich über mehrere Zeilen erstreckt und den Artikel kurz zusammenfaßt. Der soll im Gegensatz zum Autor auch eingerückt werden}}


\addcontentsline{toc}{chapter} zaubert zwar die richtige Einrückung, taucht aber auch in den PDF-Bookmarks auf und macht die unübersichtlich :(

Als documentclass verwende ich scrbook. Desweiteren nutz ich auch noch hyperref (s.o.).

Wäre super, falls einem von euch was einfällt.

Grüße

Rüdiger

countbela666
22-10-2005, 02:06
Moin Rüdiger,

hätte da vielleicht eine Lösung parat. Zuerst würde ich \addtocontents durch \addcontentsline ersetzen, damit kann die gewünschte Gliederungstiefe des Verzeichniseintrages mit angegeben werden, was die Einrückung verhindert. Zweitens kannst du das Übernehmen eines Bookmarks in die *.out-Datei durch ein \let\WriteBookmarks\relax ausschalten, was den überflüssigen Eintrag des Abstracts in das Bookmarkverzeichnis verhindert. Folgendes Minimalbeispiel sollte das Vorgehen ganz gut darstellen:

\documentclass{scrbook}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\addcontentsline{toc}{chapter}{Name des Autor}
\chapter{Überschrift des Artikels}
%%%%%%%%%% Bookmarks aus %%%%%%%%%
\let\WriteBookmarks\relax
\addcontentsline{toc}{chapter}{\protect\parbox{7cm }{Abstract, der sich über mehrere Zeilen erstreckt und den Artikel kurz zusammenfaßt. Der soll im Gegensatz zum Autor auch eingerückt werden}}
%%%%%%%%%% Bookmarks wieder an %%%%%%%%%
\let\WriteBookmarks
\newpage
\chapter{kap1}
\section{sec1}
\chapter{kap2}
\end{document}Grüße,
Marcel

Ruediger
22-10-2005, 10:22
Erstmal Danke Marcel für den schnellen Lösungsvorschlag.

\let\WriteBookmarks\relax funktioniert wunderbar. Aber leider hilft mir das nur begrenzt, denn ich hatte \addcontentsline{toc}{chapter} nur als Beispiel gemeint, wo auf der Linie der Text hin soll. Das Problem hierbei ist, dass \addcontentsline halt einen kompletten Eintrag erzeugt, wobei der Autor und der Beschreibungstext (a) weit vom Artikelnamen abgerückt werden und (b) eigene (und abweichende) Seitennummern erhalten.

Ich habe deinen und meinen Ansatz mal in ein PDF eingebunden und das Minimalbeispiel eingebaut, wie es optimalerweise aussehen sollte. Komischerweise erzeugen meine Befehle ab dem zweiten Durchlauf 2 Fehler:
Something 's wrong -- perhaps a missing \item
Verstehe ich nicht


\documentclass{scrbook}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\addcontentsline{toc}{chapter}{Name des Autor}
\chapter{Marcels Vorschlag}
\let\WriteBookmarks\relax
\addcontentsline{toc}{chapter}{\protect\parbox{7cm }{Abstract, der sich über mehrere Zeilen erstreckt und den Artikel kurz zusammenfaßt. Der soll im Gegensatz zum Autor auch eingerückt werden}}
\let\WriteBookmarks

\newpage


\addtocontents{toc}{Name des Autor}
\chapter{mein kläglicher Versuch}
\addtocontents{toc}{\protect \parbox{7cm}{Abstract, der sich über mehrere Zeilen erstreckt und den Artikel kurz zusammenfaßt. Der soll im Gegensatz zum Autor auch eingerückt werden}}

So ungefähr sollte es möglichst aussehen:\\
\ \\
\textsc{Name des Autor}\\
\large\textbf{Überschrift des Artikels} \hfill{} Seitennummer\\
\ \\
\parbox{2cm}{\ } \parbox{7cm}{Abstract, der sich über mehrere Zeilen erstreckt und den Artikel kurz zusammenfaßt. Der soll im Gegensatz zum Autor auch eingerückt werden}
\chapter{kap1}
\section{sec1}
\chapter{kap2}
\end{document}

countbela666
22-10-2005, 13:26
Hallo Rüdiger,

Die Fehler wurden dadurch verursacht, dass du mit \addtocontents einfach beliebigen Text in die *.toc-Datei geschrieben hast, das mag LaTeX aber überhaupt nicht, da nur \contentsline-Einträge oder einige wenige andere Befehle erwartet werden. Um die Links und Seitenzahlen zu unterdrücken, hab ich einfach einen \contentsline-Eintrag simuliert und die Seitenzahl und den Linkanker leer gelassen. Nach dem Eintrag des Abstracts habe ich noch einen horizontalen Abstand eingefügt, der der Zeilenlänge minus der Boxbreite entspricht, um die gepunktete Linie dahinter zu unterdrücken. Der ganze Spaß sieht jetzt wie folgt aus:

\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{calc} %%%%%%%%%% zum Rechnen mit Längen %%%%%
\usepackage{hyperref}
\begin{document}
\tableofcontents
\addtocontents{toc}{\protect\contentsline{chapter} {Name des Autors\vspace*{-\baselineskip}}{}{}}
\chapter{neuer Versuch}
\addtocontents{toc}{\protect\contentsline{section} {\protect\parbox{7cm}{\vspace*{\baselineskip}Abstr act, der sich über mehrere Zeilen erstreckt und den Artikel kurz zusammenfaßt. Der soll im Gegensatz zum Autor auch eingerückt werden}\hspace{\textwidth minus 7cm}}{}{}}
\chapter{kap1}
\section{sec1}
\chapter{kap2}
\end{document}Disclaimer (v.a. für unseren lieben pospiech :D ):
Da das jetzt zwar funktioniert (und hoffentlich so, wie du es dir vorstellst) aber doch schon eine ziemliche Rumpfuscherei darstellt, möchte ich dir vielleicht noch die Pakete titletoc und tocloft ans Herz legen, die wahrscheinlich bessere Methoden zur Anpassung des Inhaltsverzeichnis anbieten. Vielleicht findest du da ja noch etwas passendes (hab mich selber noch nicht damit beschäftigt).

Grüße,
Marcel

Ruediger
24-10-2005, 01:44
:D :D :D
Auch falls es "Rumpfuscherei" sein sollte funktioniert es wunderbar.

Hat etwas gedauert, bis ich verstanden hatte, was du da genau machst. Auf den Ansatz wäre ich selbst nicht gekommen.

titletoc und tocloft werde ich mir demnächst mal in Ruhe anschauen.

Danke

Rüdiger