PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragezeichen statt Quellenangaben



DrMaphuse
02-03-2012, 17:21
Guten Tag liebes Forum,

Nach häufigerem Stöbern in den Untiefen dieses Forums und des Restlichen Internets zum Thema LaTex BibTex Lyx etc. habe ich heute zum ersten Mal eine Frage, die ich mir nicht durch Recherche beantworten kann.

Ich habe ein Lyx-Dokument mit zwei Literaturverzeichnissen, wobei ich das Paket dinat verwende. Die Literaturangaben sind in zwei separaten BibTex-Dateien abgelegt, die ich mit JabRef verwalte.

Das Problem ist, dass ich zwar in Lyx die Zitationen richtig angezeigt bekomme, sobald ich aber ein PDF kompiliere, verschwinden die Quellenangaben und werden durch Fragezeichen ersetzt.

Mein LaTex-Code sieht (ohne den Inhalt) in etwa so aus:



%% LyX 2.0.2 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[12pt,twoside,ngerman]{scrartcl}
\renewcommand{\familydefault}{\rmdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=2.5cm,bmargin=3.5cm,lmar gin=2.5cm,rmargin=2.5cm,footskip=1cm}
\usepackage{setspace}
\usepackage[authoryear]{natbib}
\usepackage[dot]{bibtopic}
\onehalfspacing

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{url}

\makeatother

\usepackage{babel}
\begin{document}



``Jetzt gibt es Gewissheit, hoffen viele Japaner vor den Fernsehgeräten.
{[}...{]} 'Nicht auch das noch', beten viele {[}...{]}. Ausländer,
auch einige Japaner haben die Stadt schon in Richtung Osaka verlassen.
{[}...{]} Die Feuerwehr gibt den Kampf auf'' \citep[3]{006}.

\part{Literatur}


\section{Artikelverzeichnis der FAZ}

\bibliographystyle{dinat}
\begin{btSect}{zeitung}
\btPrintCited
\end{btSect}



\section{Literaturverzeichnis}

\bibliographystyle{dinat}
\begin{btSect}{Diplomarbeit}
\btPrintCited
\end{btSect}

\end{document}

Im Anhang habe ich das Ganze als .tex File inkl. der .bib-Dateien als Minimalbeispiel zusammengepackt.

Ich hoffe dass jemandem was dazu einfällt.

Grüße,
DrMaphuse

bobmalaria
02-03-2012, 20:16
hi,

das ist ein zeichen dafür, dass der bibtex lauf fehlt. kannst du das in lyx ausführen oder macht es das automatisch?

gruss

DrMaphuse
02-03-2012, 20:25
Eigentlich macht es das automatisch. Ich hab es allerdings auch in TeXworks einzeln versucht und bin zum selben Resultat gekommen...
LaTeX gibt übrigens für jedes Zitat folgende Fehlermeldung aus:
Package natbib Warning: Citation `Luh96' on page 1 undefined on input line 61.
und am Ende:
Package natbib Warning: There were undefined citations.

Festus
02-03-2012, 20:36
Erstens: Benutze bitte in Zukunft die Code "#"-Umgebung für TeX-Code, nicht php code.

2. Wenn du zwei Lit.-Verzeichnisse in einem Dokument haben willst brauchst du eigentlich ein Paket wie multibib, das das ermöglicht. Kann sein, dass deine Probleme damit zu tun haben.

DrMaphuse
02-03-2012, 20:55
1. Hab die php-Umgebung zu Code geändert

2. Habe gerade das zweite Literaturverzeichnis rausgenommen und bekomme immer noch das selbe Problem. Multibib ist leider nicht mit meinen Zitierrichtlinien vereinbar, aber ich werds trotzdem mal ausprobieren. Melde mich gleich zurück mit dem Ergebnis.

EDIT:
Ich habe gerade festgestellt, dass Lyx von Haus aus bibtopic unterstützt, was das Einbinden von zwei unterschiedlichen Datenbanken erlaubt. Das Paket wird auch eingebunden, wie in der Präambel zu sehen ist. Die zwei Datenbanken sollten also eigentlich kein Problem darstellen. Mein Problem ist dadurch aber leider immer noch nicht gelöst...

Festus
02-03-2012, 23:14
Ich kenn mich mit bibtopic nicht aus, aber es sieht mir so aus als ob du nirgendwo angibst in welcher BIB-Datei deine Zitate zu suchen sind. Oder ist das der \btsect- und \btprint-Teil? Wenn du LaTeX nicht sagst, wo die Quellenangaben stehen, kann es die ja nicht ordentlich auflösen!

DrMaphuse
03-03-2012, 00:27
Also in der Lyx-Dokumentation, die bibtopic explizit thematisiert, konnte ich dazu nichts finden. Ich meine irgendwo mal gelesen zu haben, dass die einzige Bedingung für das Funktionieren von bibtopic ist, dass die Referenzbezeichnungen in den beiden Datenbanken sich nicht überschneiden, also niemals den gleichen Namen haben. Das ist bei mir auf jeden Fall gegeben.
Ich kann mich außerdem erinnern, dass es zu einem früheren Zeitpunkt mal auf meinem Mac funktioniert hat, der gibt jetzt jedoch gar kein Dokument mehr aus.
Vielleicht war das aber Zufall und es gibt doch irgendeine Stelle, an der man die Datenbank angeben muss?? Dazu kann ich aber leider nichts finden...

EDIT:
Ich habs jetzt nochmal auf meinem Mac versucht und da funktioniert es, allerdings nur mit dem dinat-Stil, den ich eigentlich auf Dauer nicht verwenden möchte. Ich habe langsam den Verdacht, dass es irgendwas damit zu tun hat, dass BibTex vielleicht mehrere Durchläufe braucht damit beide Datenbanken funktionieren.

Ich hätte jetzt noch eine Frage bezüglich der Stile. Kann es sein, dass bestimmte Stile nur mit bestimmten Zeichenkodierungen arbeiten können? Ich bekomme nämlich wenn ich andere Stile einstelle immer die Fehlermeldung:

{FAZ 001 Sturm, Peter}}(12.03.2011)}]{001}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

Das hieß bei mir bisher immer, dass irgendwelche Zeichen nicht richtig gelesen werden und als fehlerhafter BibTex-Code interpretiert werden.

Ich verwende in allen Dokumenten ISO-1.

Festus
03-03-2012, 11:28
Also in der Lyx-Dokumentation, die bibtopic explizit thematisiert, konnte ich dazu nichts finden. Ich meine irgendwo mal gelesen zu haben, dass die einzige Bedingung für das Funktionieren von bibtopic ist, dass die Referenzbezeichnungen in den beiden Datenbanken sich nicht überschneiden, also niemals den gleichen Namen haben. Das ist bei mir auf jeden Fall gegeben.


Das meine ich auch nicht. Aber du musst doch an irgendeiner Stelle angeben, in welcher Bib-Datei deine Lit.-Daten liegen. Ich bin es gewohnt, dass da (gewöhnlich hinter \bibliographystyle{}) ein Befehl \bibliography{File} auftaucht, wobei File der Name deiner Bib-Datei ist. Wie ist das nun bei bibtopic? Du hast da \begin{btSect}{zeitung} und \begin{btSect}{Diplomarbeit}! Ist das der Befehl??? Hast du, in anderen Worten, Dateien des Namens zeitung.bib und Diplomarbeit.bib im selben Ordner wie dein Tex-File. Sonst sehe ich nicht, wo du LaTeX die Info gibst, in welcher Datenbank deine Einträge sind.



Ich hätte jetzt noch eine Frage bezüglich der Stile. Kann es sein, dass bestimmte Stile nur mit bestimmten Zeichenkodierungen arbeiten können? Ich bekomme nämlich wenn ich andere Stile einstelle immer die Fehlermeldung:

Das hieß bei mir bisher immer, dass irgendwelche Zeichen nicht richtig gelesen werden und als fehlerhafter BibTex-Code interpretiert werden.

Ich verwende in allen Dokumenten ISO-1.

Die Zeichencodierung ist unabhängig vom Bib-Stil. Die Warnung deutet eher darauf hin, dass du in dem Bib-Entry ein Kommando benutzt, das nicht Standard-LaTeX ist, und du lädst nicht das nötige Paket in deinem Dokument um dieses Kommando zu benutzen.

DrMaphuse
03-03-2012, 11:41
Das meine ich auch nicht. Aber du musst doch an irgendeiner Stelle angeben, in welcher Bib-Datei deine Lit.-Daten liegen. Ich bin es gewohnt, dass da (gewöhnlich hinter \bibliographystyle{}) ein Befehl \bibliography{File} auftaucht, wobei File der Name deiner Bib-Datei ist. Wie ist das nun bei bibtopic? Du hast da \begin{btSect}{zeitung} und \begin{btSect}{Diplomarbeit}! Ist das der Befehl??? Hast du, in anderen Worten, Dateien des Namens zeitung.bib und Diplomarbeit.bib im selben Ordner wie dein Tex-File. Sonst sehe ich nicht, wo du LaTeX die Info gibst, in welcher Datenbank deine Einträge sind.

Sorry, ich war ein wenig langsam was Deine Frage anging. Ja, die beiden Datenbanken tragen die Namen "zeitung.bib" und "Diplomarbeit.bib".


Die Zeichencodierung ist unabhängig vom Bib-Stil. Die Warnung deutet eher darauf hin, dass du in dem Bib-Entry ein Kommando benutzt, das nicht Standard-LaTeX ist, und du lädst nicht das nötige Paket in deinem Dokument um dieses Kommando zu benutzen.

Hm ist es dann nicht seltsam dass es mit dem anderen Stil funktioniert hat? Oder verstehe ich da irgendwas noch nicht ganz?

DrMaphuse
03-03-2012, 12:39
Inzwischen funktioniert es mit dinat übrigens auch an meinem PC, warum weiß ich nicht. Aber ich bekomme den munich-Stil immer noch nicht zum Laufen.

BibTex gibt folgendes Fehlerprotokoll aus:


The top-level auxiliary file: Dreiphasen.aux
The style file: munich.bst
Illegal, another \bibstyle command---line 142 of file Dreiphasen.aux
: \bibstyle
: {munich}
I'm skipping whatever remains of this command
I found no \bibdata command---while reading file Dreiphasen.aux

Hier scheint BibTex irgendwie nicht mit dem munich-Stil klarzukommen.

DrMaphuse
06-03-2012, 12:56
So, jetzt pushe ich den Thread nochmal, weil mich doch interessiert, ob jemand eine Idee dazu hat, warum der Zitirstiel "munich" bei mir nicht eingebunden werden kann. In der Dokumentation zur munich.bst steht, dass der Stil mit natbib kompatibel sein müsste.
Aber er scheint sich irgendwie dagegen zu wehren, dass für zwei Literaturverzeichnisse verwendet wird, denn in Zeile 142 und 143 in der .aux-Datei - wo der Fehler zu liegen scheint - steht zwei mal \bibstyle {munich}.

Würde es helfen, wenn ich die .aux mit dazuposte?

u_fischer
06-03-2012, 13:13
Würde es helfen, wenn ich die .aux mit dazuposte?

Eventuell. Aber wichtiger wäre ein vollständiges, ehrliches Beispiel. Du erwähnst den Stil "munich" aber dein Code oben lädt dinat, du erwähnst eine "Citation `Luh96'", die in dem Code überhaupt nicht auftritt usw. Niemand kann deinen Code ausprobieren und dein Problem nachvollziehen und entsprechend raten alle hier nur irgendwie rum.

Versuch mal eine echte tex-Datei + wirkliche bib-Dateien zu erstellen.

Im übrigen siehst du die Nachteile von LyX: Anfangs sieht es viel freundlicher und leicht zu bedienen aus. Aber sobald man einen Fehler nachspüren musst, wird es ziemlich mühsam und kostet viel Zeit.

DrMaphuse
06-03-2012, 13:52
Zum Thema LyX, es erspart mir einfach das Nachschlagen lauter einzelner Befehle. Ich hätte es zum Beispiel nie geschafft, ohne LyX überhaupt ein funktionierendes zweiteiliges Literaturverzeichnis zu erstellen, insofern sind die ganzen Fragen dazu dank LyX nicht in diesem Forum aufgetaucht.
Der zweite Punkt ist, es ermöglicht mir, an meinem Text zu arbeiten, ohne ständig Codefragmente zu sehen. Ich möchte meine Fußnoten, Hervorhebungen etc. in einer optisch übersichtlicheren Form vor mir haben, deshalb verwende ich LyX. Fehlersuche finde ich nicht unbedingt eingeschränkt, da ich ja jederzeit die Logs ansehen kann und ggf. den Code rauskopieren und in TeXworks damit experimentieren kann.

Aber darum solls ja hier gar nicht gehen.

Ich hatte im ersten Post schonmal ein Minimalbesipiel angehängt, aber das war noch auf die alte Version des Problems bezogen, dahier hier ein neues. Ich kann auch die Bibliografie nochmal runterkürzen auf die verwendeten 2 Einträge wenn das gewünscht ist, aber vielleicht lässt sich ja so mehr sehen.

u_fischer
06-03-2012, 15:38
Den "another \bibstyle command-"-Fehler wird man leicht los, indem man einfach einen der \bibliographystyle-Befehle löscht.

Wegen der restlichen Fehler kannst du


\usepackage{etoolbox}
\robustify{\textsc}

versuchen.

N.B: Entgegen deiner Behauptung, dass du "in allen Dokumenten ISO-1" verwendest, sind sowohl die tex-Datei als auch die bib-Dateien utf8-kodiert. Besonders bei der bib-Datei kann das zu Problemen führen, wenn bibtex aus Versehen ein utf8-Zeichen zerlegt (und Probleme mit der Sortierung sind auch möglich).

DrMaphuse
06-03-2012, 22:04
Ich hab die Zeichenkodierung auf utf-8 gestellt nachdem ich ein wenig mit verschiedenen Zeichenkodierungen rumprobiert habe weil ich immer wieder Fehlermeldungen für Umlaute bekam. Die gibt es jetzt nicht mehr, aber ich würde es auch wieder zurückstellen, wenn das irgendein Problem verursachen könnte. Ich dachte jedoch, dass man mit bibtex8 auch problemlos utf-8 verwenden kann, ist das falsch?

Zu Deinem Vorschlag: Ich möchte nochmal kurz meine Situation zusammenfassen, weil sich das Problem ein wenig verändert hat seit dem ersten Eintrag:
Ich habe zwei Literaturverzeichnisse und zwei Datenbanken, 'Diplomarbeit.bib' und 'zeitung.bib'. Diese werden mit \usepackage[dot]{bibtopic} jeweils über den Befehl '\begin{btSect}{foo}' abgerufen.
Das funktioniert alles wunderbar, solange ich den Stil '\bibliographystyle{dinat}' verwende. Wenn ich jedoch '\bibliographystyle{munich}' verwenden möchte, dann bekomme ich

die Bereits besprochene Fehlermeldung 'Illegal, another \bibstyle command' von bibtex, wenn ich beide Dateien mit dem oben angehängten Beispielcode einbinde.
die Fehlermeldung 'I found no \bibdata command' und immer noch keinen Output, wenn ich die '\bibliographystyle' Angabe vor meiner zweiten Bibliografie lösche.
Daran, dass ich in diesem Fall nur das erste Verzeichnis ausgegeben bekomme, wenn ich den alten, funktionierenden 'dinat'-Style verwende, kann man jedoch erkennen, dass das zweite Paket tatsächlich eine '\bibliographystyle'-Angabe benötigt, um überhaupt abgrufen zu werden.

Das Stilpaket 'munich' funktioniert also bisher nach wie vor gar nicht, während mit 'dinat' die genannten Probleme gar nicht auftauchen.

PS: Kannst Du mir kurz erklären, was der Befehl 'textsc' macht? Ich habe ihn eingebunden, das löst jedoch leider mein Problem auch nicht :(.

u_fischer
06-03-2012, 22:53
Dein munich-Stil setzt Namen in SmallCaps (\textsc). Der Befehl ist aber zerbrechlich und zerlegt sich, wenn die .bbl gelesen wird. Dein letzte Beispiel funktioniert bei mir ohne Probleme, wenn ich den Befehl robust mache (mit \robustify) und außerdem noch den zweiten (überflüssigen) \bibliographystyle-Befehl lösche. Wenn es bei dir nicht geht, musst du ein neues Beispiel machen.

DrMaphuse
07-03-2012, 00:54
Ich habe jetzt schon mehrere Minimalversionen mit zwei Literaturverzeichnissen und da hat alles reibungslos funktioniert! Danke also für Deine super Hilfe bis hierhin.

Leider funktioniert es in meiner Hauptdatei aber immer noch nicht... Ich werde mich morgen nochmal hinsetzen und versuchen, den Fehler zu isolieren. Es muss ja offensichtlich an einem oder mehreren einzelnen Zitaten bzw. Datenbank-Einträgen liegen.

DrMaphuse
07-03-2012, 12:42
Ich habe den Fehler endlich gefunden. Es hatte von vornherein nichts mit den Literaturverzeichnissen selbst zu tun, sondern scheint ein Problem von LyX mit einem selbsterzeugten (!) Quellenverweis gewesen zu sein (ich weiß dass das ein gutes Argument gegen LyX ist).

Vielmehr gab es einen Quellenverweis im Text, den LyX aus irgendeinem Grund mit '\citep*[11]{012}' statt '\citep[11]{012}' eingebunden hatte. Neu Einbinden hat das Problem beseitigt.

Beim besten Willen kann ich nicht verstehen, warum LyX so etwas macht, ich habe keine Ahnung welche Funktion dieser zusätzliche Asterisk erfüllen sollte, vielleicht kann mir das ja von Euch jemand erklären.

Trotz allem vielen Dank dass ihr mir geholfen habt, meine LyX-Datei ist inzwischen um einiges aufgeräumter und ich glaube, dass ich auch nicht gerade wenig dazugelernt habe.