Archiv verlassen und diese Seite im Standarddesign anzeigen : IfFileExists verhält sich unerwartet
Hallo,
ich verstehe folgendes nicht. Wenn ich
\IfFileExists{Meine_Bibliothek.bib}{
Der Testtext
}
verwende funktioniert der Befehl wie erwartet: Der Text steht nur im File wenn die Datei vorhanden ist.
Wenn ich aber
\IfFileExists{Meine_Bibliothek.bib}{
\appendix
\bibliographystyle{dinat}
\bibliography{Meine_Bibliothek.bib}
}
verwende, dann wird auch wenn die Datei nicht vorhanden ist versucht, die Bibliothek zu erstellen.
Kann mir da jemand helfen?
Danke
Stolzi
u_fischer
23-09-2009, 16:16
Kann ich nicht nachvollziehen. Was meinst du mit "wird versucht die Bibliothek zu erstellen"?
Ein anderes Wort dafür wäre: Literaturverzeichnis
Ich bin wie geschrieben davon ausgegangen, dass der Code
\IfFileExists{Meine_Bibliothek.bib}{
\appendix
\bibliographystyle{dinat}
\bibliography{Meine_Bibliothek.bib}
}
in der If Anweisung auch nicht ausgeführt wird, wenn die Datei nicht vorhanden ist. Wenn ich ihn aber in mein Latex Dokument integriere, dann bekomme ich folgende Fehlermeldung von BibTeX:
This is BibTeX, Version 0.99c (Web2C 7.5.6)
The top-level auxiliary file: VO_W10_090603.aux
I found no \citation commands---while reading file VO_W10_090603.aux
I found no \bibdata command---while reading file VO_W10_090603.aux
I found no \bibstyle command---while reading file VO_W10_090603.aux
(There were 3 error messages)
Also gehe ich davon aus, dass versucht wird den Code in der If Anweisung auszuführen.
u_fischer
23-09-2009, 17:33
Nö, das heißt nur, dass bibtex aufgerufen wird. Das macht wahrscheinlich texify oder ein Skript, das du benutzt. Da bibtex sich über das fehlende bibstyle beschwert, zeigt, dass \bibliographystyle{dinat} nicht ausgeführt wurde.
Nein, es wird an keiner Stelle aufgerufen. Versuche folgendes Minimalbeispiel:
\documentclass[a4paper,10pt]{scrartcl}
\usepackage{natbib}
\begin{document}
Test
\IfFileExists{Meine_Bibliothek.bib}{
\appendix
\bibliographystyle{dinat}
\bibliography{Meine_Bibliothek.bib}
}
\end{document}
Hier entsteht ein Fehler. Hier nicht:
\documentclass[a4paper,10pt]{scrartcl}
\begin{document}
Test
\IfFileExists{Meine_Bibliothek.bib}{
Und noch ein Test
}
\end{document}
u_fischer
23-09-2009, 18:10
Nun, dann benutzt du halt irgendein cleveres Skript, das deine tex-Datei analysiert und wegen eines der Befehle bibtex aufruft. LaTeX ignoriert jedenfalls den Code und selbst wenn es das nicht täte: LaTeX ruft bibtex nicht auf. Du musst ja einfach mal in die aux-Datei schauen. Wenn der Code ausgeführt würde, müsste da sowas stehen:
\bibstyle{dinat}
\bibdata{Meine_Bibliothek.bib}
Ok, verstehe ;-) Dann wird das mein Kile machen, nicht Latex. So gibt das Sinn. Danke dir.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.