PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Inhaltsverzeichnis



ophiocoma
04-02-2008, 21:27
Hallo zusammen!

Ich bräuchte etwas Hilfe, ich bin mit LaTeX leider noch kein Pro...
Ich habe das Problem, dass bei meiner studienarbeit mein Inhaltsverzeichnis nicht aufgerufen wird, sondern stattdessen an dieser Stelle die Erstellung des pdfs abbricht. Mal bricht das pdf noch vor dem Inhaltsverzeichnis ab, mal wird nur eine Seite gebracht udn dann ist Schluss... :confused:
Zudem kommt mehrere Male hintereinander die Fehlermeldung "use of \global doesn't match it's definition" in der .aux datei.
wenn ich den Befehl \tableofcontents weglasse, dann wird das ganze Pdf ganz ohne Spiränzchen erstellt...

meine Struktur ist folgendermaßen :


\begin{document}

\onehalfspacing
\pagenumbering{Roman}
\include{title}
\include{preliminaries04}
\newpage
\tableofcontents
\newpage
\pagenumbering{arabic}
\include{intro04}
\include{matmeth06}
\include{results08}
\include{disc02}

\end{document}

hilft das weiter? braucht ihr infos aus dem header?

kann das vllt auch damit zusammenhängen, dass ich das paket fancyheadings benutze?
als klasse benutze ich article, zudem verwende ich texniccenter und miktex, vllt ist das ja auch wichtig.
ich habe schon so viele Internetseiten durchgeforstet, ich hoffe hier kann mir jemand helfen, 1000 mal danke schon im Voraus!

daswaldhorn
05-02-2008, 19:23
Hallo,

herzlich willkommen hier an Board. :)

also an dem gelieferten Auszug ist erstmal nichts falsches, nur weiß niemand, was in den mit \include geladenen Dateien steht. Außerdem solltest du auch deine Präambel zeigen. Desweiteren hilft es am meisten (auch dir!) wenn du ein Minimalbeispiel erstellst. Dabei entdeckt man schon oft den Fehler im Dokument. Die entsprechende Seite heißt ganz einfach Minimalbeispiel (www.minimalbeispiel.de). ;)
Achso, manchmal hilft es auch, alle nicht selbsterstellten Dateien zu löschen.

Grüße, Carsten

voss
05-02-2008, 20:13
Ich bräuchte etwas Hilfe, ich bin mit LaTeX leider noch kein Pro...
Ich habe das Problem, dass bei meiner studienarbeit mein Inhaltsverzeichnis nicht aufgerufen wird, sondern stattdessen an dieser Stelle die Erstellung des pdfs abbricht. Mal bricht das pdf noch vor dem Inhaltsverzeichnis ab, mal wird nur eine Seite gebracht udn dann ist Schluss... :confused:
Zudem kommt mehrere Male hintereinander die Fehlermeldung "use of \global doesn't match it's definition" in der .aux datei.
wenn ich den Befehl \tableofcontents weglasse, dann wird das ganze Pdf ganz ohne Spiränzchen erstellt...


du hast in irgendeiner Überschrift einen LaTeX-Befehl und davor kein \protect

Herbert

ophiocoma
05-02-2008, 21:57
Danke, Herbert, das war die Lösung! Ich hatte in einem Teildokument ein \linebreak in der Überschrift, das ich nicht geschützt habe (wusste ich nicht...aber jetzt!). Obwohl ich das Teildok nicht immer ins Gesamtdok eingebunden hatte, ist der Fehler trotzdem aufgetreten. Habe dann gleichzeitig mit dem \protect das .toc file gelöscht und seither (10 min, drückt mir die Daumen!) funktionierts wunderbar!

@Carsten: Danke für deine Hinweise, möchte mich ja auch an die Regeln halten! fast hätte ich das Minimalbeispiel gebastelt, aber dann kam zum Glück der Tipp von Herbert :). Aber das nächste Mal kommt bestimmt, meine Diplomarbeit steht noch an ;-).

Danke für die Mühen!
Steffi

Salient
25-06-2008, 08:27
Hallo zusammen!

Ich habe ein ähnliches Problem und weiß nicht, wie ich es lösen soll. Auch bei mir tritt der Fehler (doesn't match definition) durch eine Zeile wie

{\section*{#2\hfill{\textwasy{\smiley}}}\addconten tsline{toc}{section}{\numberline{}#2\quad \textwasy{\smiley}}}

auf. Das \protect habe ich schon probiert (vor \textwasy und vor \smiley), aber es hilft nichts. Wenn ich \textwasy{\smiley} durch ein einfaches Wort oder Symbol ersetze, funktioniert es.

\textwasy{\smiley} wird nachher übrigens durch #1 ersetzt. Es handelt sich um ein optionales Argument, welches auf Wunsch hinter dem Namen der section erscheinen soll.

Gruß,

Christian.

cookie170
25-06-2008, 10:27
Hallo Christian,

ebenfalls willkommen hier.

Wenn Du eine Koma-script-Klasse verwendest, kannst Du dir die Mühe mit dem Befehl \addsec{} schenken.

Falls nicht, würde ich es so probieren:


{\section*{#2\hfill{\textwasy{\smiley}}}\protect\a ddcontentsline{toc}{section}{\numberline{}#2\quad \textwasy{\smiley}}}

Aber offen gesagt, ich verstehe den Sinn von "#2" nicht.

Gruß,
Alexander

Salient
25-06-2008, 11:31
Nein, das Codebeispiel funktioniert leider auch nicht. Ich poste mal die komplette Definition des Kommandos:

\newcommand{\Rezept}[2][XXX]{%
\ifthenelse%
{\equal{XXX}{#1}}%
{\section*{#2}\addcontentsline{toc}{section}{\numb erline{}#2}}%
{\section*{#2\hfill{#1}}\addcontentsline{toc}{sect ion}{\numberline{}#2\quad #1}}%
}

Ein Aufruf sieht wie folgt aus:

\Rezept[\gut]{Zwiebelfleisch}

Zunächst wird eine nicht nummerierte Überschrift erstellt (#2), am rechten Seitenrand erscheint (unter Umständen) ein Symbol (#1). \gut ist wie folgt definiert:

\newcommand{\gut}{\textwasy{\smiley}}

Die Überschrift selbst wird korrekt erstellt und angezeigt. Nur mit dem Eintragen ins Inhaltsverzeichnis hat latex offenbar Probleme.

Außerdem wird die Überschrift (#2) automatisch in das Inhaltsverzeichnis übertragen, ebenso das (eventuell) verwendete Symbol (#1).

Das Blöde ist, dass die Geschichte vor ein paar Jahren noch funktioniert hat. Dann habe ich mich ewig nicht damit befasst und nun habe ich den Salat.

Eine Koma-Skript-Klasse verwende ich (glaube ich jedenfalls) nicht. Die Dokumentenklasse ist [a5paper,twoside]{book}. Folgende Pakete werden verwendet:

\usepackage{german,MyLayout,fancyhdr,epsfig,boxedm inipage,multicol,makeidx,graphicx}
\usepackage{nicefrac,array,ifthen}
\usepackage{yfonts,amsfonts,amsmath,wasysym,winfon ts,amssymb}
\usepackage{hyperref}

MyLayout und winfonts sind eigene Pakete, in MyLayout stelle ich das Seitenlayout ein und mit winfonts habe ich einige Windows-Schriften eingebunden. Schwierigkeiten wird wohl wasysym machen.

cookie170
25-06-2008, 12:14
Ohne das berühmte Minimalbeispiel wird man da wohl kaum weiterkommen,

Gruß,
Alexander

Salient
25-06-2008, 16:43
Hier ist das Minimalbeispiel:



\documentclass[a5paper,twoside]{book}
\usepackage{wasysym, ifthen}

\newcommand{\Rezept}[2][XXX]{%
\ifthenelse%
{\equal{XXX}{#1}}%
{\section*{#2}\addcontentsline{toc}{section}{\numb erline{}#2}}%
{\section*{#2\hfill{#1}}\addcontentsline{toc}{sect ion}{\numberline{}#2\quad #1}}%
}

\newcommand{\gut}{\textwasy{\smiley}}


\begin{document}
\tableofcontents

\chapter*{Fleischgerichte}

%%% -------------------------------------------

\Rezept[\gut]{Zwiebelfleisch}
%%% -------------------------------------------

\Rezept{paniertes Schnitzel}

%%% -------------------------------------------

\end{document}


Dummerweise FUNKTIONIERT ES!

Das heißt, der Fehler liegt irgendwo in den völlig miteinander verschachtelten Befehlen und Dateien. Super. Das ist der einzige Nachteil an LaTeX, der mich wahnsinnig macht: Fehlersuche.

localghost
25-06-2008, 16:56
Dein Beispiel bringt mich auf die Idee, dir die Dokumentklassen recipe (http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=recipe) oder recipecard (http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=recipecard) nahe zu legen. Vielleicht sind die ja etwas für dich. Hat jetzt nichts direkt mit dem Problem zu tun, könnte aber dennoch hilfreich sein.


MfG
Thorsten¹

Salient
25-06-2008, 17:03
Also offenbar verstehen sich wasysym und das Paket hyperref nicht miteinander. Wenn man in obigem Beispiel unter usepackage hyperref mit angibt, kommt es zu Fehlern. Nicht unbedingt zu dem Fehler, den ich oben beschrieben habe. Aber als ich das Paket aus meinem großen Projekt herausgenommen habe, war der Fehler weg.

Ich hätte trotzdem gerne die Möglichkeit auf digitale Querverweise. Hat jemand eine Idee?

Salient
25-06-2008, 17:11
Danke für den Tipp mit recipe. Aber das Layout gefällt mir nicht. Außerdem habe ich in meinem Rezeptbuch noch ein paar zusätzliche Features (die ich hoffentlich noch zum Laufen kriege, siehe oben), auf die ich nicht verzichten möchte.