Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Konflikt zwischen \section und \addtocontents

  1. #1
    Registrierter Benutzer
    Registriert seit
    31.01.2010
    Beiträge
    13

    Konflikt zwischen \section und \addtocontents

    Ich würde gerne mit \addtocontents eine Zeile am Ende meines Inhaltsverzeichnises hinzufügen. Ich erhalte aber eine Fehlermeldung, wenn ich den Befehl \addtocontents nach dem ersten Befehl \section{} einfüge. Meine Präambel sieht wie folgt aus:

    \documentclass[11pt]{article}
    \usepackage{amsmath}
    \usepackage{geometry}
    \geometry{letterpaper}

    \usepackage{graphicx}
    \usepackage{amssymb}
    \usepackage{epstopdf}
    \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `dirname #1`/`basename #1 .tif`.png}
    \usepackage{fancyhdr}
    \pagestyle{fancy}
    \lhead{}
    \chead{}
    \rhead{}
    \lfoot{}
    \cfoot{}
    \rfoot{\thepage}
    \usepackage[table]{xcolor}
    \usepackage{natbib}
    \usepackage{stmaryrd}
    \usepackage{MnSymbol}
    \usepackage{ngerman}
    \usepackage{csquotes}
    \usepackage[all,color]{xy}
    \usepackage{tocloft}
    \usepackage{ gensymb }
    \usepackage{tipa}
    \usepackage{ marvosym }

    \begin{document}



    Wenn ich den Befehl \addtocontents wie folgt einfüge gibt es keine Probleme:

    \setcounter{tocdepth}{2}
    \renewcommand{\contentsname}{Contents}
    \tableofcontents
    \addtocontents{toc}{\contentsline {section}{\textnormal{\textit{Acknowledgements}}}{ \normalfont{4}}}



    \rhead{Contents}

    \newpage

    \section*{Acknowledgements}



    Wenn ich den Befehl \addtocontents aber wie folgt einfüge gibt es eine Fehlermeldung:


    \setcounter{tocdepth}{2}
    \renewcommand{\contentsname}{Contents}
    \tableofcontents




    \rhead{Contents}

    \newpage

    \section*{Acknowledgements}

    \addtocontents{toc}{\contentsline {section}{\textnormal{\textit{Acknowledgements}}}{ \normalfont{4}}}


    Die Fehlermeldung, die ich erhalte, ist:

    [1])

    Package Fancyhdr Warning: \headheight is too small (12.0pt):
    Make it at least 13.59999pt.
    We now make it that large for the rest of the document.
    This may cause the page layout to be inconsistent, however.

    [2])

    ! Incomplete \iffalse; all text was ignored after line 68.
    \fi
    <*>Quantifier_Variacne_final.tex

    ?


    Weiß jemand eine Lösung? Danke! Vera

  2. #2
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Die Warnung von fancyhdr bekomme ich auch, die ist aber nicht kritisch.

    Die zweite Fehlermeldung scheint von irgendetwas anderem verursacht zu werden, aber nicht von den von dir geposteten Codeschnipseln.

    Hier ist mal ein (entschlackter) Gegenvorschlag für die Benutzung von addcontentsline und Kopfzeilen:
    Code:
    \documentclass[11pt]{article}
    % diese Pakete reichen!!! Selbst geometry ist vernachlässigbar für das Problem.
    \usepackage{geometry} 
    \geometry{letterpaper} 
    \usepackage[american]{babel} % englische Trennung und Bezeichnungen, u.a. Contents fürs Inhaltsverz.
    \usepackage{lipsum} % lorem ipsum Blindtext
    
    \usepackage{fancyhdr}
    \pagestyle{fancy}
    \lhead{}
    \chead{}
    \rhead{\leftmark} % automatische Markierung in der Kopfzeile
    \lfoot{}
    \cfoot{}
    \rfoot{\thepage}
    
    \begin{document}
    
    \setcounter{tocdepth}{2}
    \tableofcontents
    
    \newpage
    \markboth{\uppercase{Acknowledgements}}{} % für Kopfzeile
    \addcontentsline{toc}{section}{Acknowledgements} % für Eintrag im TOC
    \section*{Acknowledgements}
    
    Thanks to mrunix.de \dots
    
    \clearpage
    
    \section{Normal section}
    \lipsum
    
    \section{Another section}
    \lipsum[1]
    
    \end{document}
    Damit wird die Kopfzeile auch im Inhaltsverzeichnis richtig angezeigt. das Paket tocloft überschreibt dies und stellt den pagestyle auf plain im TOC. Da muss man eventuell gegensteuern:
    Code:
    \clearpage
    \pagestyle{fancyhdr}
    \tableofcontents

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Wenn ich den Befehl \addtocontents wie folgt einfüge gibt es keine Probleme:
    Doch gibt es schon. Wenn du in die log-Datei schaust, wird du sowas finden:

    Code:
    (\end occurred when \iftrue on line 48 was incomplete)
    (\end occurred when \ifnum on line 48 was incomplete)
    Du hast einfach nur Glück, dass es nicht explodiert.

    Benutze lieber

    Code:
    \addcontentsline{toc}{section}{\normalfont\itshape Acknowledgements}
    Wenn du unbedingt \addtocontents benutzen willst, musst den \contentsline-Befehl schützen. Du solltest auch ein weiteres Argument anhängen, damit der der Kram nicht um die Ohren fliegt, wenn du mal hyperref benutzt. Außerdem ist es albern, die Seitenzahl manuel einzutragen:
    Code:
    \addtocontents{toc}{\protect\contentsline {section}{\normalfont\itshape Acknowledgements}{\thepage}{}}

  4. #4
    Registrierter Benutzer
    Registriert seit
    31.01.2010
    Beiträge
    13
    Perfekt, danke! Was mein Problem gelöst hat war deine letzte Bemerkung: "du musst den \contentsline-Befehl schützen". Jetzt läuft alles gut!

Lesezeichen

Berechtigungen

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