INPROCEEDINGS und PROCEEDINGS funktioniert nicht richtig

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


neuling49461
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 23. Sep 2017, 20:17

INPROCEEDINGS und PROCEEDINGS funktioniert nicht richtig

Beitrag von neuling49461 »

Hallo!

(Entschuldigt mich bitte, falls ich im falschen Forum bin.)

Ich hätte eine Frage (eigentlich zwei).

Hier ein Minimalbeispiel:

main.tex:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[numbers]{natbib}
\usepackage[ngerman]{babel}

\title{Testdokument}
\author{Der Autor}
\date{September 2017}

\begin{document}

\maketitle

\section{Erstes Kapitel}

\cite{eins,zweia,zweib,sechs}

\newpage


\bibliographystyle{natdin}
\bibliography{quellen}

\end{document}

quellen.bib
@BOOK {eins,
    author    = "Mayr, Ernst",
    title     = "Grundlagen der Zoologischen Systematik -- Theoretische und praktische Voraussetzungen für Arbeiten auf systematischem Gebiet",
    publisher = "Verlag Paul Parey",
    year      = "1975",
    address   = "Hamburg, Berlin"
}
@PROCEEDINGS {zweiges,
    title     = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer"
}
@INPROCEEDINGS {zweia,
    author    = "Honomichl, Klaus",
    title     = "\textit{Systematik}",
    booktitle = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    pages     = "733--746",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer",
    crossref  = "zweiges"
}
@PROCEEDINGS {sechsges,
    title     = "Spezielle Zoologie -- Teil 1: Einzeller und Wirbellose Tiere",
    year      = "2007",
    editor    = "Westheide, Wilfried AND Rieger, Reinhard",
    edition    = "2. Auflage",
    address   = "München",
    publisher = "Spektrum Akademischer Verlag"
}
@INPROCEEDINGS {sechs,
    author    = "Klausnitzer, Bernhard",
    title     = "\textit{Insecta (Hexapoda), Insekten}",
    booktitle = "Spezielle Zoologie -- Teil 1: Einzeller und Wirbellose Tiere",
    year      = "2007",
    editor    = "Westheide, Wilfried AND Rieger, Reinhard",
    edition    = "2. Auflage",
    pages     = "638--724",
    address   = "München",
    publisher = "Spektrum Akademischer Verlag",
    crossref  = "sechsges"
}

Folgende Probleme tauchen auf:

1. Damit es überhaupt funktioniert, und nicht als Fehlermeldung "zweiges und sechsges wurde nicht gefunden" kommt, muss man einmal diese zwei Keys auch direkt zitieren.

2. Folgende Fehlermeldung kommt auch nach dem x-ten Kompiliervorgang: "Package natbib Warning: There were undefined citations." und "BibTeX I didn't find a database entry for zweib"


Meine Fragen:

1. Ist das normal?

2. Punkt (1) würde mich nicht so stören. Nur Punkt (2) ist übel: ich habe es immer noch nicht geschafft!

Könnt ihr mir bitte helfen?

Vielen Dank!

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Wenn Du ein Neuling in LaTeX bist und sowieso noch lernst, dann empfehle ich dringend, die modernen Pakete biblatex und biber zu nutzen. Wie es geht, steht in den Wichtigen Hinweisen zur Erstellung von Literaturverzeichnissen. natbib und natdin sind veraltete Methoden.

Ansonsten hast Du es mit dem Beispiel schon richtig gemacht, um hier gute Antworten zu bekommen.

Noch ein Tipp: In die Datenbank gehören keine Formatierungsbefehle (textit). Für solche Formatierungen ist der Bibliographierstil zuständig.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

BibTeX I didn't find a database entry for zweib
Nun, du hast ja auch kein zweib in der bib. Es ist zwar im Prinzip egal, welchen Key du für einen bib-Eintrag verwendest, aber ich würde dir empfehlen ein besseres System zu verwenden als "eins" und "zwei". "Mayr1975" und "DettnerPeters1999" ist übersichtlicher.

neuling49461
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 23. Sep 2017, 20:17

Ich habe es nur im Minimalbeispiel vergessen!

Beitrag von neuling49461 »

Ich habe es nur im Minimalbeispiel vergessen!

Nachtrag zu quellen.bib:
INPROCEEDINGS {2B,
    author    = "Dettner, gugu AND Peters, Werner",
    title     = "\textit{Übersicht über die Vielfalt der Insekten}",
    booktitle = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    pages     = "763--903",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer",
    crossref  = "2ges"
}

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

2B und zweib mag zwar gleich klingen, wenn du es laut vorliest, es sind aber vrrschiedene Schuhe.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Gast

Beitrag von Gast »

Man betrachte folgendes Beispiel (Achtung! filecontents überschreibt eine eventuell vorhandene .bib-Datei desselben Namens ohne vorherige Warnung. Es ist wie immer angeraten, Beispiele in einem anderen Ordner als dem Arbeitsordner zu testen.)
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[numbers]{natbib}
\usepackage[ngerman]{babel}

\usepackage{filecontents} 
\begin{filecontents}{\jobname.bib}
@BOOK {eins,
    author    = "Mayr, Ernst",
    title     = "Grundlagen der Zoologischen Systematik -- Theoretische und praktische Voraussetzungen für Arbeiten auf systematischem Gebiet",
    publisher = "Verlag Paul Parey",
    year      = "1975",
    address   = "Hamburg, Berlin",
}

@INPROCEEDINGS {zweia,
    author    = "Honomichl, Klaus",
    title     = "\textit{Systematik}",
    booktitle = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    pages     = "733--746",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer",
    crossref  = "zweiges",
}
@INPROCEEDINGS {zweib,
    author    = "Dettner, gugu AND Peters, Werner",
    title     = "\textit{Übersicht über die Vielfalt der Insekten}",
    booktitle = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    pages     = "763--903",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer",
    crossref  = "zweiges",
}
@PROCEEDINGS {zweiges,
    title     = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer",
}

@PROCEEDINGS {sechsges,
    title     = "Spezielle Zoologie -- Teil 1: Einzeller und Wirbellose Tiere",
    year      = "2007",
    editor    = "Westheide, Wilfried AND Rieger, Reinhard",
    edition    = "2. Auflage",
    address   = "München",
    publisher = "Spektrum Akademischer Verlag",
}
@INPROCEEDINGS {sechs,
    author    = "Klausnitzer, Bernhard",
    title     = "\textit{Insecta (Hexapoda), Insekten}",
    booktitle = "Spezielle Zoologie -- Teil 1: Einzeller und Wirbellose Tiere",
    year      = "2007",
    editor    = "Westheide, Wilfried AND Rieger, Reinhard",
    edition    = "2. Auflage",
    pages     = "638--724",
    address   = "München",
    publisher = "Spektrum Akademischer Verlag",
    crossref  = "sechsges",
}
\end{filecontents}


\begin{document}
\cite{eins,zweia,zweib,sechs}

\bibliographystyle{natdin}
\bibliography{\jobname}
\end{document}
Nach Durchlauf von pdfLaTeX und BibTeX beschwert sich BibTeX
Database file #1: tfgnatbib.bib
A bad cross reference---entry "sechs"
refers to entry "sechsges", which doesn't exist
Warning--I didn't find a database entry for "sechsges"
Auch weitere pdfLaTeX- oder BibTeX-Läufe brachten hier keine Verbesserung.

Es scheint also so, als würden Einträge, auf die mit crossref verwiesen wird, nur gefunden, wenn sie hinter dem Eintrag stehen, der auf sie verweist. Das ist im Beispiel bei den zwei-Einträgen der Fall, wo alles wunderbar funktioniert. Bei den seschs-Einträgen habe ich sechsges extra vor sechsa gestellt und schon wird es nicht mehr gefunden.

Ich habe nach einer etwas längeren Suche zu diesem Thema https://tex.stackexchange.com/a/148978/35864 http://www.mrunix.de/forums/archive/ind ... 41832.html http://newton.ex.ac.uk/tex/pack/bibtex/ ... node3.html finden können und tatsächlich steht in http://mirrors.ctan.org/biblio/bibtex/base/btxdoc.pdf auch explizit
Oren Patashnik: BibTeXing, Seite 3 hat geschrieben:To guarantee that this scheme works, however, a cross-referenced entry must occur later in the database files than every entry that cross-references it. Thus, putting all cross-referenced entries at the end makes sense.
Mit biblatex und biber hast Du das Problem nicht (gut, da werden die crossrefs standardmäßig auch anders behandelt, man kann das BibTeX-Verhalten aber mit etwas Arbeit auch hinbekommen). Wenn Du nicht unbedingt auf einen bestimmten .bst-Stil festgenagelt bist, solltest Du ernsthaft über einen Umstieg nachdenken. Die Tatsache, dass Du die title vollständig in \textit einwickelst ist eigentlich ein Symptom dafür, dass natdin nicht der richtige Stil für Dich ist (außerdem sieht er nicht schön aus; in Frankreich macht man etwas Leerraum vor ein Semikolon, aber in Deutschland nie).

nixversteh
Forum-Meister
Forum-Meister
Beiträge: 530
Registriert: Di 10. Aug 2010, 09:47
Wohnort: Wrestedt

...

Beitrag von nixversteh »

@neuling49461,
moin,
ich habe mal auf biblatex umgestaltet, deine crossrefs muss selbst ändern.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[backend=biber]{biblatex}
\addbibresource{quellen.bib}
\title{Testdokument}
\author{Der Autor}
\date{September 2017}
\begin{document}
\maketitle
\section{Erstes Kapitel}
\cite{Mayr,Honomichl,Dettner,Klausnitzer}
\printbibliography
\end{document}
Quellenangaben:
@BOOK{Mayr,
    author    = {Mayr, Ernst},
    title     = {Grundlagen der Zoologischen Systematik -- Theoretische und praktische Voraussetzungen für Arbeiten auf systematischem Gebiet},
    publisher = {Verlag Paul Parey},
    year      = {1975},
    address   = {Hamburg, Berlin}
}
@PROCEEDINGS{Dettner,
    title     = {Lehrbuch der Entomologie},
    year      = {1999},
    editor    = {Dettner, Konrad and Peters, Werner},
    address   = {Stuttgart, Jena, Lübeck, Ulm},
    publisher = {Gustav Fischer}
}
@INPROCEEDINGS{Honomichl,
    author    = {Honomichl, Klaus},
    title     = {\textit{Systematik}},
    booktitle = {Lehrbuch der Entomologie},
    year      = {1999},
    editor    = {Dettner, Konrad and Peters, Werner},
    pages     = {733--746},
    address   = {Stuttgart, Jena, Lübeck, Ulm},
    publisher = {Gustav Fischer},
    crossref  = {Dettner}
}
@PROCEEDINGS {Westheide,
    title     = {Spezielle Zoologie -- Teil 1: Einzeller und Wirbellose Tiere},
    year      = {2007},
    editor    = {Westheide, Wilfried and Rieger, Reinhard},
    edition   ={2. Auflage},
    address   = {München},
    publisher = {Spektrum Akademischer Verlag}
}
@INPROCEEDINGS {Klausnitzer,
    author    = {Klausnitzer, Bernhard},
    title     = {\textit{Insecta (Hexapoda), Insekten}},
    booktitle = {Spezielle Zoologie -- Teil 1: Einzeller und Wirbellose Tiere},
    year      = {2007},
    editor    = {Westheide, Wilfried and Rieger, Reinhard},
    edition   = {2. Auflage},
    pages     = {638--724},
    address   = {München},
    publisher = {Spektrum Akademischer Verlag},
    crossref  = {Westheide}
}
@INPROCEEDINGS {Dettner,
    author    = {Dettner, gugu and Peters, Werner},
    title     = {\textit{Übersicht über die Vielfalt der Insekten}},
    booktitle = {Lehrbuch der Entomologie},
    year      = {1999},
    editor    = {Dettner, Konrad AND Peters, Werner},
    pages     = {763--903},
    address   = {Stuttgart, Jena, Lübeck, Ulm},
    publisher = {Gustav Fischer},
    crossref  = {Dettner}
}
Kann mit Sicherheit verbessert werden, soll nur zur Demonstration dienen!
Absence of evidence is not evidence of absence

neuling49461
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 23. Sep 2017, 20:17

Beitrag von neuling49461 »

Hallo!
Johannes_B hat geschrieben:2B und zweib mag zwar gleich klingen, wenn du es laut vorliest, es sind aber vrrschiedene Schuhe.
Beim Minimalbeispiel habe ich die Keys als Buchstaben geschrieben, weil ich dachte, es könnte etwas damit zu tun haben. Blöderweise habe ich dann vergessen,"2B" in "zweib" und "2ges" in "zweiges" zu ändern!

Gast hat geschrieben:Es scheint also so, als würden Einträge, auf die mit crossref verwiesen wird, nur gefunden, wenn sie hinter dem Eintrag stehen, der auf sie verweist.
Vielen Dank, das funktioniert super, wenn ich die Reihenfolge beachte!

Gast hat geschrieben:Die Tatsache, dass Du die title vollständig in \textit einwickelst ist eigentlich ein Symptom dafür, dass natdin nicht der richtige Stil für Dich ist ...
Die Titel einer Monographie werden kursiviert dargestellt, die eines Beitrages in einem Sammelwerk (inproceedings) aber nicht. Deshalb das \textit.

Beinschuss hat geschrieben:Noch ein Tipp: In die Datenbank gehören keine Formatierungsbefehle (textit). Für solche Formatierungen ist der Bibliographierstil zuständig.
Das mache ich normalerweise nicht, aber aus oben genannten Gründen ist es leider nicht anders möglich (außerdem verwende ich sharelatex.com, und da kann man glaube ich nicht auf die Datei des Bibliographierstils zugreifen).


Ich bedanke mich bei allen, und bin immer noch sehr positiv überrascht, dass ich so schnell eine Antwort bekommen habe!

neuling49461
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 23. Sep 2017, 20:17

Eine Frage bleibt noch

Beitrag von neuling49461 »

Hallo, eine Frage hätte ich noch.

Ich habe nichts verändert, und trotzdem sieht's so aus:
Auszug aus Verzeichnis hat geschrieben: [1] Burda, Hynek ; Hilken, Gero ; Zrzav ́y, Jan : Systematische Zoologie. Stuttgart : Verlag Eugen Ulmer, 2008
[2] Dettner, Konrad (Hrsg.) ; Peters, Werner (Hrsg.): Lehrbuch der Entomologie. Stuttgart, Jena, Lübeck, Ulm : Gustav Fischer, 1999
[3] Dettner, Konrad ; Peters, Werner: Übersicht über die Vielfalt der Insekten. In: Lehrbuch der Entomologie[2], S. 763–903

...

[5] Honomichl, Klaus: Systematik. In: [2], S. 733–746

...
Beim zweiten Beitrag (Systematik, Nr. 5) aus "Lehrbuch der Entomologie" funktioniert es reibungslos, doch beim erstem (Übersicht über die Vielfalt der Insekten) steht der Titel des Hauptwerkes auch noch da, ohne Trennzeichen vor dessen Nummer!

Hier nochmals mein Quellcode:

main.tex
\documentclass{article} 
\usepackage[utf8]{inputenc} 
\usepackage[numbers]{natbib} 
\usepackage[ngerman]{babel} 

\title{Testdokument} 
\author{Der Autor} 
\date{September 2017} 

\begin{document} 

\maketitle 

\section{Erstes Kapitel} 

\cite{1,2A,2B,6} 

\newpage 


\bibliographystyle{natdin} 
\bibliography{quellen} 

\end{document}
quellen.bib
@BOOK {1,
    author    = "Mayr, Ernst",
    title     = "Grundlagen der Zoologischen Systematik -- Theoretische und praktische Voraussetzungen für Arbeiten auf systematischem Gebiet",
    publisher = "Verlag Paul Parey",
    year      = "1975",
    address   = "Hamburg, Berlin"
}
@INPROCEEDINGS {2A,
    author    = "Honomichl, Klaus",
    title     = "\textit{Systematik}",
    booktitle = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    pages     = "733--746",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer",
    crossref  = "2ges"
}
@INPROCEEDINGS {2B,
    author    = "Dettner, Konrad AND Peters, Werner",
    title     = "\textit{Übersicht über die Vielfalt der Insekten}",
    booktitle = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    pages     = "763--903",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer",
    crossref  = "2ges"
}
@PROCEEDINGS {2ges,
    title     = "Lehrbuch der Entomologie",
    year      = "1999",
    editor    = "Dettner, Konrad AND Peters, Werner",
    address   = "Stuttgart, Jena, Lübeck, Ulm",
    publisher = "Gustav Fischer"
}
@INPROCEEDINGS {6,
    author    = "Klausnitzer, Bernhard",
    title     = "\textit{Insecta (Hexapoda), Insekten}",
    booktitle = "Spezielle Zoologie -- Teil 1: Einzeller und Wirbellose Tiere",
    year      = "2007",
    editor    = "Westheide, Wilfried AND Rieger, Reinhard",
    edition    = "2. Auflage",
    pages     = "638--724",
    address   = "München",
    publisher = "Spektrum Akademischer Verlag",
    crossref  = "6ges"
}
@PROCEEDINGS {6ges,
    title     = "Spezielle Zoologie -- Teil 1: Einzeller und Wirbellose Tiere",
    year      = "2007",
    editor    = "Westheide, Wilfried AND Rieger, Reinhard",
    edition    = "2. Auflage",
    address   = "München",
    publisher = "Spektrum Akademischer Verlag"
}

In den Anhang habe ich das Minimalbeispiel als PDF-File eingefügt.


Wieso ist das so und wie kann ich es ändern?
Dateianhänge
Export_Minimalbeispiel.pdf
Minimalbeispiel als PDF
(86.36 KiB) 250-mal heruntergeladen

Gast

Beitrag von Gast »

Tja, das ist Pech. Das liegt daran, dass in dem problematischen Eintrag author und editor gleich sind. In natdin.bst findet sich
FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
    editor field.or.null author field.or.null =
    or
     { key empty$
        { booktitle empty$
            { "need editor, key, or booktitle for " cite$ * " to crossref " *
              crossref * warning$
              ""
            }
            { "{In: }{\emph " booktitle * "}" * }%%
          if$
        }
        { "{In: }" }
      if$
     }
    { "{In: }" }
  if$
  "{\textbf{\citep{" * crossref * "}" * "}" * "}" * %% ", " * format.pages *
}
Dort ist bestimmt, dass für den Fall, dass author und editor gleich sind, auch der booktitle gedruckt wird. Das scheint mir etwas merkwürdig. Aber gut.

Dieses Problem kannst Du nur durch Änderung der .bst beheben.

Antworten