Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Formatierungsproblem beim Inhaltsverzeichnis

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.07.2005
    Beiträge
    57

    Formatierungsproblem beim Inhaltsverzeichnis

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

  2. #2
    Registrierter Benutzer Avatar von countbela666
    Registriert seit
    15.04.2005
    Ort
    Berlin
    Beiträge
    2.317
    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:
    Code:
    \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
    Geändert von countbela666 (22-10-2005 um 01:09 Uhr)

    Listen to me children of the night, beyond the doors of darkness you will find
    a thousand worlds for you to see here, take my hand and follow me...

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.07.2005
    Beiträge
    57
    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
    Code:
    \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}

  4. #4
    Registrierter Benutzer Avatar von countbela666
    Registriert seit
    15.04.2005
    Ort
    Berlin
    Beiträge
    2.317
    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:
    Code:
    \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}Abstract, 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 ):
    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

    Listen to me children of the night, beyond the doors of darkness you will find
    a thousand worlds for you to see here, take my hand and follow me...

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.07.2005
    Beiträge
    57

    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

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •