PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Literaturverzeichnis aktualisiert sich nicht mehr



Paul Kemp
12-01-2008, 15:02
Hallo liebe TeXer,

ich habe gestern das Abkürzungsverzeichnis (nomencl) in mein Dokument eingebunden. Dafür habe ich auch u.a. ein neues Profil definiert (Compiler: C:\Programme\MiKTeX 2.6\miktex\bin\makeindex.exe
Argument: "%bm".nlo -s nomencl.ist -t "%bm".nlg -o "%bm".nls). Diesen lasse ich nun vor dem eingentlichen erstellen einmal durchlaufen. Bei =>PS=>PDF ist als Argument bei makeindex folgendes eingegeben:
"%bm".glo -s nomencl.ist "%bm".gls (der Fehler tritt aber auch bei "%bm" auf).
Es klappt auch alles gut mit dem Abkürzungsverzeichnis.

Nun habe ich die Arbeit weitergeschrieben und neue Literaturquellen zitiert (natbib). Diese sind im der .bib Datei richtig geschrieben. Das Dokument gleicht die \cite Befehle aber nicht mehr mit neuen Einträgen im .bib Verzeichnis ab. Das heisst konkret: Einträge die schon vorher in der .bib Datei standen können zitiert werden, neue Einträge jedoch nicht. Es kommen dann Fehlermeldungen in der Art von:
"Package natbib Warning: Citation ´blabla' on page 36 undefined on input line 97." Ich habe schon probiert an anderen Stellen zu zitieren und auch mal Einträge genommen die bereits funktioniert haben. Es klappt leider nicht.

Wie kann ich dieses Problem lösen? Ich weiss leider nciht welche Minimalbeispiele ich hier mit angeben soll da ich keine Vermutung habe wo das Problem liegen kann.

Ich freue mich auf eure professionellen Tips!

Viele Dank und viele Grüße,

Frank

rais
12-01-2008, 16:17
Moin moin,
ich kenne mich mit dem TeXnicCenter zwar nicht aus, aber den makeindex-Aufruf solltest Du in beiden Fällen gleich lassen... seit nomencl v4.1 sind das die Dateien mit .nl* (also das, was Du eingetragen hast); die Dateiendungen mit .gl* sind veraltet.


Nun habe ich die Arbeit weitergeschrieben und neue Literaturquellen zitiert (natbib). Diese sind im der .bib Datei richtig geschrieben. Das Dokument gleicht die \cite Befehle aber nicht mehr mit neuen Einträgen im .bib Verzeichnis ab. Das heisst konkret: Einträge die schon vorher in der .bib Datei standen können zitiert werden, neue Einträge jedoch nicht. Es kommen dann Fehlermeldungen in der Art von:
"Package natbib Warning: Citation ´blabla' on page 36 undefined on input line 97." Ich habe schon probiert an anderen Stellen zu zitieren und auch mal Einträge genommen die bereits funktioniert haben. Es klappt leider nicht.

Zuerst würde ich mal die händische Methode probieren: Konsole auf, in Dein Projektverzeichnis gewechselt und (ausgehend von der Hauptdatei foo.tex)


pdflatex foo.tex
bibtex foo

getippt. Dann siehst Du gleich, ob BibTeX sich über irgend etwas beklagt...
Wenn keine schwerwiegenden Meldungen erscheinen, nochmal


pdflatex foo.tex
pdflatex foo.tex

und auf diese Warnungen (citation .. undefined) geachtet, vor allem beim insgesamt dritten Lauf von pdflatex. Meldung erscheint immer noch? Dann schau einmal mit


kpsewhich wie-Du-Dein-LV-genannt-hast.bib
nach, ob das überhaupt dieselbe Datei ist, die Du zuvor erweitert hast und ob bei \bibliography{..} auch wirklich derselbe Name verwendet wird ... etwaige Leer- oder Sonderzeichen (auch Umlaute) aus Pfad und Namen spätestens jetzt streichen und das Spiel von vorne beginnen...
Immer noch keine Änderung? Wie genau sieht eigentlich der Zitierschlüssel aus? Da sollten IMHO auch keine Umlaute o.ä. drin vorkommen.
Alles noch nix? Dann greife Dir diesen (oder den ersten dieser) Eintrag aus Deiner .bib, kopiere ihn in eine neue .bib und erstelle eine .tex-Datei, in der Du nur diesen einen Eintrag zitierst. Immer noch nicht? Dann hast Du jetzt ein lauffähiges Minimalbeispiel, das Du hier posten kannst.;)
MfG,

Paul Kemp
15-01-2008, 14:30
Hallo Rainer,

vielen Dank für die ausführliche Antwort!!! Ich konnte erst heute wieder ins Internet und somit erst jetzt deine Tips ausprobieren. Ich habe die Argumente bei beiden Profilen gleich gesetzt (das Argument war im übrigen eine Empfehlung von dir in einem anderen Thread :) ). Dies hat den Fehler noch nciht behoben. Anschliessend bin ich die ersten Schritte in der Konsole durchgegangen und hatte Erfolg. Dafür schon einmal vielen Dank!!!!

Ich frage mich was nun den Unterschied gemacht hat? An der Datei wurde ja nichts verändert. Kannst du ganz kurz (und für mich als Anfänger verständlich) erklären worin der Unterschied liegt? Ich bin daran sehr interessiert.

Viele Dank noch einmal Rainer!

Mit den besten Grüßen,

Frank

rais
15-01-2008, 15:01
Moin Frank,

Ich habe die Argumente bei beiden Profilen gleich gesetzt (das Argument war im übrigen eine Empfehlung von dir in einem anderen Thread :) ). Dies hat den Fehler noch nciht behoben.

kann auch nicht, der makeindex-Aufruf hat nichts mit dem Literaturverzeichnis zu tun -- das war dafür gedacht, falls Du mal über PS zu PDF arbeiten willst, damit das Abkürzungsverzeichnis auch auf gleiche Weise erstellt wird.


Anschliessend bin ich die ersten Schritte in der Konsole durchgegangen und hatte Erfolg. Dafür schon einmal vielen Dank!!!!

Wenn es per Konsole funktioniert, aber nicht über TeXnicCenter, dann hast Du entweder TeXnicCenter untersagt, bibtex auch aufzurufen oder irgend etwas im Pfad zu Deinem Projekt, worüber sich bibtex beschwert (aber weder (pdf)latex noch makeindex).
Du kannst ja mal an Deiner .bib eine kleine Änderung vornehmen (einfach irgendwo ein x ergänzen oder was weiß ich), über TeXnicCenter kompilieren und dann in Deinem Projektordner schauen, ( dir *.b*) ob sich an Erstellungsdatum/-zeit der .bbl etwas verändert hat (sollte auf keinen Fall älter als Deine .bib sein).
Wenn die .bbl älter als die .bib ist und die .blg neuer (unwahrscheinlich, aber man weiß ja nie), dann wurde bibtex aufgerufen, nähere Info findest Du in der .blg.
Wenn weder .blg noch .bbl aktualisiert wurden, dann ruft Dein TeXnicCenter bibtex wohl nicht (mehr) auf.
Wenn .bbl und .blg zwar aktualisiert wurden, die Änderung aber nicht sichtbar ist, dann schau nochmal in die .blg, ob bibtex auch mit der richtigen Datei aufgerufen wird...nicht daß Du im Profil so etwas wie gloss dafür eingetragen hast ("%bm".gls oder so in TC-Syntax).
Das müsstest Du anhand des Dateinamens bereits erkennen können:
Wenn man bei der Annahme bleibt, Deine Hauptdatei hieße `foo.tex', dann sollte Deine .bbl-Datei entsprechend `foo.bbl' heißen und nicht z. B. `foo.gls.bbl'
Aber schau erstmal, ob Du nicht versehentlich irgendwo in den TeXnicCenter-Einstellungen einen Haken bei `Bibtext nicht verwenden' angeknipst hast.;)
MfG,

Paul Kemp
15-01-2008, 18:15
Meine Herren bist du schnell!!!

Also ich habe deinen Rat befolgt. Die .bbl und die .blg Dateien wurden nicht aktualisiert. Die .bib dagegen schon. In der .blg steht folgendes (wurde 4 min vorher aktualisiert, als ich es mit der Konsole probiert habe):


This is BibTeX, Version 0.99cThe top-level auxiliary file: kowi.aux
The style file: natdin.bst
A level-1 auxiliary file: Kapitel/Titelseite.aux
A level-1 auxiliary file: Kapitel/Kapitel2.aux
A level-1 auxiliary file: Kapitel/Kapitel3.aux
A level-1 auxiliary file: Kapitel/Kapitel4.aux
A level-1 auxiliary file: Kapitel/Kapitel5.aux
A level-1 auxiliary file: Kapitel/Kapitel6.aux
A level-1 auxiliary file: Kapitel/Kapitel7.aux
A level-1 auxiliary file: Kapitel/AnhangA.aux
Database file #1: bibliography/Quellen.bib
I was expecting a `,' or a `}'---line 17 of file bibliography/Quellen.bib
:
: edition = 2.
(Error may have been on previous line)
I'm skipping whatever remains of this entry
I was expecting a `,' or a `}'---line 34 of file bibliography/Quellen.bib
: edition = 5
: .

Von der Sorte gab es dann noch einige Fehler. Ich habe sie wegen der Übersichtlichkeit gelöscht. Wie gesagt, über die Konsole läuft alles super. Im TeXnicCenter wird es leider immer noch nicht aktualisiert.

Danke für deine Gedult!

rais
15-01-2008, 18:30
Moin Frank,




Database file #1: bibliography/Quellen.bib
I was expecting a `,' or a `}'---line 17 of file bibliography/Quellen.bib


das tönt doch aber sehr nach einer fehlerhaften `Quellen.bib' -- was steht da denn in dem Eintrag, zu dem auch Zeile 17 gehört?
MfG,

Paul Kemp
15-01-2008, 18:54
Dort steht folgendes:


@BOOK{Ger2,
author={Prof. Dr. T. J. Gerpott},
publisher = {Schäffer-Poeschel},
title={Wettbewerbsstrategien im Telekommunikationsmarkt},
address = {Stuttgart},
year= 1997
edition = 2.
}

Für einige Zitationen gibt er mir einen Fehler aus. Diese Einträge sind schon recht lange im Dokument. Es gab aber erst Probleme mit neuen Einträgen seitdem ich das Abkürzungsverzeichnis reingenommen und wie oben beschrieben die Argumente geändert habe. Daher hatte ich bisher angenommen dass es nciht an den verschiedenen (noch) nicht korrekten Einträgen in der .bib Datei liegt.

Paul Kemp
15-01-2008, 18:54
Aso, Line 17 ist die Zeile "edition = 2."

rais
15-01-2008, 19:01
dann fehlt in Zeile 16 das Komma: nur die letzte Zeile vor der schließenden Klammer (so diese allein auf einer Zeile steht) darf ohne Komma am Zeilenende sein -- und nach dem Jahr steht hier keins.;)
MfG,

Paul Kemp
15-01-2008, 19:22
Da hast du natürlich recht. Ich habe jetzt mal alle Fehler die mir aufgefallen sind ausgemerzt. Das Problem bleibt bestehen. Die Häckchen sind in den Profilen an den richtigen Stellen (oder auch nicht :) ). Nun habe ich bei der Konsole ab und zu zusätzlich das Problem, dass mir die Hauptdatei überschrieben wird. Anstelle meines eigentlichen Textes steht dann ein ewig langer Text in der foo.tex. Er beginnt so:

%PDF-1.4
%ÐÔÅØ
5 0 obj
<< /S /GoTo /D (section*.2) >>
endobj
8 0 obj
(Abk\374rzungsverzeichnis)
endobj
9 0 obj
<< /S /GoTo /D (section*.3) >>
endobj
12 0 obj
(Abbildungsverzeichnis)
endobj
13 0 obj
<< /S /GoTo /D (section*.4) >>
endobj
16 0 obj
(Tabellenverzeichnis)
endobj
17 0 obj
<< /S /GoTo /D (section.1) >>
endobj
20 0 obj
(Einleitung)
endobj
21 0 obj
<< /S /GoTo /D (subsection.1.1) >>
endobj
24 0 obj
(Vom staatlichen Monopol zum Global Player)
endobj
25 0 obj
<< /S /GoTo /D (section.2) >>
Da sind dann über 8500 Zeilen drinne. Was heisst denn das nun wieder? Ick werd verrückt! Zum Glück hab ich ne Sicherheitskopie.

rais
15-01-2008, 19:31
Wie hast Du das denn hingekriegt? Das sieht ja so aus, als wollte Dein pdflatex die Ausgabedatei in die Eingangsdatei schreiben...:confused:
Oder was hast Du wie genau aufgerufen?
MfG,

Paul Kemp
15-01-2008, 19:34
Die 3 Befehle die du mir empfohlen hast. Ich vermute mittlerweile, dass es daran lag, dass ich das TeXnicCenter und damit auch die foo.tex datei noch geöffnet hatte.

MfG,

Frank