PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bibtexkey bei natbib mit natdin passend zu JabRef?



twohead
24-08-2009, 11:44
Hi,

ich benutze natbib mit natdin für das Literaturverzeichnis. Meine Literatur verwalte ich mit JabRef, dass automatisch bibtexkeys nach dem Format "AutorJahr" erzeugt. Sobald ein Autor in einem Jahr mehrere Veröffentlichungen hat, wird für jede weitere Veröffentlichung ein weiterer kleiner Buchstabe aus dem Alphabet angefügt (Autor2008, Autor2008a, Autor2008b, ...).

Sehr verwirrend ist jetzt, dass natdin (oder natbib allgemein?) ab 2 Veröffentlichungen schon bei der ersten Veröffentlichung das kleine a anhängt (Autor2008a, Autor2008b,...). D.h. bibtexkey in JabRef und im Literaturverzeichnis stimmen nicht ganz überein.

Ist das vom Duden so vorgeschrieben oder darf man das wie JabRef machen? Am liebsten würde ich genau wie JabRef die erste Veröffentlichung ohne Buchstaben benutzen. Kann man das natdin irgendwie beibringen? Ich hab dazu leider nichts gefunden.

Alternativ können auch in JabRef die Keys immer schon ab der ersten Veröffentlichung mit a generiert werden. Bei den Optionen für bibtexkeys gibt es aber keine Möglichkeit die Eindeutigkeit der Keys auf diese Weise zu konfigurieren. Hat da jemand sonst eine Idee?

Minimalbeispiel minimal.tex:


\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[comma, sort&compress]{natbib}
\bibliographystyle{natdin}
% \usepackage{filecontents}
% \begin{filecontents*}{bib.bib}
% @ARTICLE{Autor2009,
% author = {Autor},
% title = {Titel 1},
% year={2009},
% }
% @ARTICLE{Autor2009a,
% author = {Autor},
% title = {Titel 2},
% year={2009},
% }
% \end{filecontents*}
\begin{document}
\cite{Autor2009}
\cite{Autor2009a}
\bibliography{bib}
\end{document}


bib.bib und natdin.bst inklusive der minimal.tex Datei als tar im Anhang (http://www.mrunix.de/forums/attachment.php?attachmentid=3200&stc=1&d=1251110564).

PS: Ich habe versucht das Minimalbeispiel mit filecontents zu schreiben, aber beim kompilieren mit bibtex kommt dann die Fehermeldung:


***** BibTeX Ausgabe:
***** cd '/tmp'
***** bibtex 'minimal'
*****
This is BibTeX, Version 0.99c (Web2C 7.5.6)
The top-level auxiliary file: minimal.aux
The style file: natdin.bst
or is already a type "wizard-defined" function name
---line 213 of file natdin.bst
: function {or
: }
skip is an unknown function---line 1087 of file natdin.bst
conference is already a type "wizard-defined" function name
---line 1116 of file natdin.bst
: function {conference
: } {proceedings}
Database file #1: bib.bib
You can't pop an empty literal stack for entry Autor2009
while executing---line 1515 of file natdin.bst
You can't pop an empty literal stack for entry Autor2009a
while executing---line 1515 of file natdin.bst
(There were 5 error messages)


Warum funktioniert das nicht mit filecontents?

Festus
26-08-2009, 15:22
Hi,

ich kenn das aber auch nicht anders. Ab zwei Zitaten vom selben Autoren im selben Jahr wird das erste mit "a", das zweite mit "b" gekennzeichnet. Das man das erste Zitat ohne Buchstaben lässt und am zweiten "a" anhängt-wie du das ja wohl möchtest-hab ich noch nie gesehen und fände ich auch verwirrend.

Das zu ändern dürfte ohnehin ziemlich schwer sein, ich hätte jedenfalls keine andere Idee als mal richtig tief in den Quellcode von natdin reinzugehen. Theoretisch muss da irgendwo ein Zähler sein, den man dann wohl umdefinieren müsste.

Gruß, Festus

bobmalaria
26-08-2009, 17:20
hi,

jabref hat mit der darstellung der literatur im text überhaupt nichts zu tun. jabref verwaltet nur die literaturdatenbank.

alleine der von dir gewählte stil entscheidet über die darstellung der einträge, in diesem fall also natdin.

wenn du einen stil willst der genau den key übernimmt, dann benutze den abstract stil.

das ändern eines stiles ist meinst nicht so simpel da die programmiersprache in der bibtex geschrieben ist nicht gerade trivial ist.

twohead
28-08-2009, 22:10
Danke für die Antworten. Natürlich sind Darstellung und Verwaltung zwei verschiedene Paar Schuhe, aber ich muss beide Paare benutzen und eindeutig einsetzen. Zur Zeit bin ich aber immer teilweise selbst verwirrt welche Version jetzt die richtige ist. Also welche Quelle ich wirklich meinte.

bobmalaria
28-08-2009, 22:42
hi,

mit dem paket biblatex würde dies einfacher gehen da es dort ein label={} feld gibt in dem du genau das angeben kannst was du später im text stehen haben möchtest.

biblatex bietet auch eine option für natbib, so dass nur wenige änderungen an deinem dokument nötig wären. der dort bereitgestellte authoryear stil lässt sich sicher relativ problemlos an natdin anpassen.

gruss