PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bibliothek zu groß?



burny112
28-02-2012, 10:42
Hallo zusammen,

ich habe ein Dokument welches mit einer *.bib Datei mit mit 500 Einträgen einwandfrei durchläuft, Verzeicnis wird erstellt, alles gut.

Wenn ich aber eine andere *.bib einbinde mit 1050 Einträgen kommt folgende Fehlermeldung im Log:


! TeX capacity exceeded, sorry [input stack size=5000].
\@makeother #1->\catcode `#1
12\relax
l.38

If you really absolutely need more capacity,
you can ask a wizard to enlarge me.

Here is how much of TeX's memory you used:
24355 strings out of 494045
381321 string characters out of 3145941
1253828 words of memory out of 3000000
25714 multiletter control sequences out of 15000+200000
31982 words of font info for 74 fonts, out of 3000000 for 9000
721 hyphenation exceptions out of 8191
5000i,15n,9984p,1682b,662s stack positions out of 5000i,500n,10000p,200000b,50000s
! ==> Fatal error occurred, no output PDF file produced!

Kann mir jemand einen Tip geben woran das liegt? Kann man nicht beliebig viele Einträge in die Bib Datei schreiben?

Ich erstelle die Datei als Export ais Citavi. Bei einigen Einträgen habe ich relativ lange Zusammenfassungen bzw. Bewertungen den Einträgen stehen, da ich mit Citavi meine komplette "Privat-Bibliothek" verwalte und immer aus der gleichen Datei dann zitieren kann.

mit kommunikativen Grüßen
Burny

u_fischer
28-02-2012, 10:47
Wenn der input stack überläuft ist meistens ein Programmierfehler schuld, du hast irgendwo eine Rekursion.

burny112
28-02-2012, 11:08
Hallo Ulrike,

danke für die schnelle Antwort. Wie kann man sich den in einer BIB Datei eine Rekursion einbauen?
Ich habe es mehrfach getestet, bei der kleinere Bin Datei mit 500 Einträgen, alles OK sobald ich die große mit 1000+ nehme kommt der Fehler zustande.
GB

bobmalaria
28-02-2012, 11:12
hi,

vermutlich ist es etwas simples wie eine fehlende schliessende klammer bei einem eintrag.
vielleicht kannst du mal mit \nocite{*} alle eintraege der bib in einem testdokument ausgeben, bzw. wenn das nicht geht, mal nur die ersten 600 eintraege, dann 700 usw, bis der fehler auftritt. es ist zwar nervig aber so koenntest du den fehlerhaften eintrag/eintraege einkreisen.

gruss

domwass
28-02-2012, 11:17
Kann man nicht beliebig viele Einträge in die Bib Datei schreiben?
Das kommt darauf an, mit welchem Programm du arbeitest (bibtex, bibtex8, biber). Siehe dazu auch die deutsche TeX-FAQ (http://projekte.dante.de/DanteFAQ/BibTeXGrosseDateien).

Gruß,
Domink.-

Festus
28-02-2012, 11:55
Das kommt darauf an, mit welchem Programm du arbeitest (bibtex, bibtex8, biber). Siehe dazu auch die deutsche TeX-FAQ (http://projekte.dante.de/DanteFAQ/BibTeXGrosseDateien).

Gruß,
Domink.-

Das ist richtig. Wichtig ist aber nicht die Anzahl der Einträge in der Bib-Datei, sondern wie viele du zitierst und wie viele Felder dabei benutzt haben. Wenn du wirklich alle 1050 Einträge zitierst wirst du aber definitiv mit BibTeX und vermutlich auch mit BibTeX8 Probleme kriegen; da hilft dann nur biber.

Die Anderen haben aber völlig recht, dieser Fehler hat nichts damit zu tun sondern liegt wo anders.

Das unschöne ist, wenn du am Ende wirklich zu viele Zitate hast, sagt LaTeX dir das gar nicht richtig an. Es kann nur irgendein Zitat nicht mehr auflösen ('???'), wenn du das rausnimmst passiert dasselbe mit einem Anderen usw. Dieses seltsame Verhalten ist alles, was darauf hindeutet, dass du zuviele Zitate im Text hast.

burny112
28-02-2012, 12:20
Danke für die ganzen Tips, Problem ist aber noch nicht gelöst.
Es werden nicht alle 1000 Titel zitiert, sondern nur ca. 50.
Ich hab die BIB Datei jetzt mal auf diese 50 eingedampft. Selbes Problem.
Es scheint also an einem der Einträge zu legen.

Folgendes Phönomen tritt auf.
Wenn ich die *.bbl Datei lösche und im Texnic Center den Aufruf starte kommt kein Fehler. In der PDF aber auch noch keine Verzeichnisse, --> ok
Wenn ich dann den zweiten Durchlauf mache kommt wieder der selbe Fehler wie im ersten Posting geschrieben.

Ich kann natürlich die einzelnen Titel löschen und testen würde aber gerne wissen woran es liegt, damit ich bei einem größeren Projekt gezielt suchen kann und nicht durch probieren zum Ergebniss komme

gb

Festus
28-02-2012, 12:26
Bist du ganz sicher, dass es an der bib-Datei liegt? Nimm doch mal den \bibliography -Befehl raus. Dann hast du zwar massenhaft Warnungen wegen nicht aufgelöster Zitate, aber wenn der Fehler dann immer noch auftritt, weißt du, dass das Problem nicht in der Bib-Datei liegt.

Ich weiß auch nicht welches Programm du für die Literaturverwaltung benutzt, aber z.B. JabRef gibt auch Warnmeldungen wenn in einem Feld nicht alle Klammern wieder geschlossen werden...

burny112
28-02-2012, 12:34
Ja liegt an der BIB, wen ich die rausnehme alles OK

Als Programm nutze ich Citavi

domwass
28-02-2012, 12:41
Dann kann man nur eingrenzend vorgehen: Kopiere dein Dokument und
kommentiere eine Hälfte raus. Wenn der Fehler verschwindet, kommentiere
diese Hälfte wieder ein und die andere aus. Wenn der Fehler bleibt,
kommentiere nun die Hälfte des übrig gebliebenen Textes aus usw. So kannst
du relativ schnell eingrenzen, in welcher Textstelle und damit bei welchem
Literaturverweis das Problem auftaucht, und dann kann man gezielt
weitersehen, woran es liegt.

Gruß,
Dominik.-

Festus
28-02-2012, 12:42
Kannst du aus Citavi den BibTeX-Quellcode der Einträge in einen guten Editor übertragen? Die meisten LaTeX Editoren sollten gehen, alternativ nimmste den hier (http://www.crimsoneditor.com/).

Wenn es wirklich eine fehlende Klammer ist geht's damit etwas schneller. Die Editoren erkennen Klammerpaare und heben sie hervor. Sobald du eine Klammer findest die keine oder eine andere Hervorhebung bekommt, wenn du mit dem Cursor bei ihr stehst, ist der Übeltäter gefunden.

u_fischer
28-02-2012, 12:43
Ich kann natürlich die einzelnen Titel löschen und testen würde aber gerne wissen woran es liegt, damit ich bei einem größeren Projekt gezielt suchen kann und nicht durch probieren zum Ergebniss komme

Lösche die Hälfte der Titel. Dann weißt du, in welcher Hälfte das Problem liegt.

Und wissen woran es liegt, kann man erst wenn man den fehlerhaften Eintrag gefunden hat. Die wesentlichen Fehlerquellen sind a) falsche/fehlende Klammern, b) fehlende Kommas, c) Befehle (inklusive Umlaute usw).