PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Literaturstil plaindin zeigt einen DOI doppelt an



Magger
18-01-2013, 14:11
Hallo,

ich habe ein Problem mit dem Literaturstil 'plaindin'. Bei diesem wird bei einem Eintrag 'book' mit einem DOI (Digital Object Identifier) der DOI doppelt angezeigt.

Folgendes Minimalbeispiel verdeutlich das:


\documentclass{scrartcl}

\begin{document}

\cite{test}

\bibliographystyle{plaindin}
\bibliography{test}

\end{document}


In der dazugehörigen test.bib steht:


@BOOK{test,
author = {Nachname, Vorname},
title = {Buchtitel},
publisher = {Verlagsname},
year = {2012},
doi = {10.1234/5-678-9101112-1}
}

Ich benutze ein aktuelles MiKTeX 2.9 unter Windows XP SP3.

Ist das ein Bug in plaindin? Wie kann man das Verhalten so ändern, dass die DOI-Angabe nur einmal ausgegeben wird.

Festus
18-01-2013, 16:29
Also in der aktuellsten Ausgabe von plaindin passiert das bei mir auch, und im übrigen auch bei abbrvdin (die anderen hab ich nicht getestet). Ich kann mir nur nicht erklären wieso. Meiner Meinung nach muss das an der .bst liegen. Ich kenne mich mit der Sprache nicht so gut aus, aber ich habe mal diesen "http://dx.doi.org/" Teil gesucht, der von plaindin automatisch vor die doi (beide) gesetzt gesetzt wird. Und der kommt in der ganzen plaindin.bst nur ein mal vor, ich hab daher keine Ahnung in welchem Schritt die zweite doi-Ausgabe überhaupt erzeugt wird.

Magger
19-01-2013, 10:09
Danke Festus, dass du das Problem bestätigen kannst.

Bei mir tritt es aber auch mit einer sehr alten MikTeX 2.7 Installation auf, scheint also kein ganz aktuelles Problem zu sein.

Wenn man statt eines Buches (book) einen Zeitschriftenartikel (article) zitiert, tritt das Problem stattdessen nicht auf, siehe folgendes Minimalbeispiel:


\documentclass{scrartcl}

\begin{document}

\cite{testarticle}

\bibliographystyle{plaindin}
\bibliography{test}

\end{document}

mit der test.bib:


@ARTICLE{testarticle,
author = {Nachname, Vorname},
title = {Titel des Artikels},
journal = {Zeitschriftentitel},
year = {2012},
doi = {10.1234/5-678-9101112-1}
}

Warum wird der DOI-Link beim Buch doppelt erzeugt?

rais
19-01-2013, 16:51
Moin moin,


Warum wird der DOI-Link beim Buch doppelt erzeugt?
`format.doi' wird durch `format.url' aufgerufen, wenn DOI angegeben ist, aber kein URN -- und bei `book' folgt auf `format.doi output' ein `format.url output'.
Schau mal, ob es Dir anderswo einen Strich durch die Rechnung macht, wenn Du

plaindin.bst nach myplaindin.bst in Deinen Arbeitsordner kopierst,
darin in `FUNCTION {format.url}' die Zeile


{ format.doi }

(vorm vorletzten if$) durch


{ "" }

ersetzt
und in Deiner .tex \bibliographystyle{myplaindin} verwendest.

MfG

Magger
20-01-2013, 20:26
Hallo Rainer,

dein Vorschlag löst zumindest erstmal das Problem mit dem doppelten Link bei einem book-Eintrag. Dafür wird aber z.B. bei einem article-Eintrag gar kein Link mehr angezeigt, so ganz perfekt ist das also noch nicht.

Trotzdem erstmal vielen Dank für diesen Workaround.

Ich habe mal noch eine Nachricht an Herrn Lorenzen, den Autor des Stils geschrieben. Er sollte das Problem (wenn es denn tatsächlich eines ist) sicher endgültig lösen können.

Mathias

rais
20-01-2013, 22:38
Hallo Mathias,


dein Vorschlag löst zumindest erstmal das Problem mit dem doppelten Link bei einem book-Eintrag. Dafür wird aber z.B. bei einem article-Eintrag gar kein Link mehr angezeigt, so ganz perfekt ist das also noch nicht.

in dem Fall lass format.url in Ruhe und kopiere den gesamten format.url-Block zu, hmm, format.url.bk in dieser myplaindin.bst:


FUNCTION {format.url}
{
%unverändert zu plaindin.bst
}

FUNCTION {format.url.bk}
{
%mit der oben angegebenen Änderung
}

und ändere in `FUNCTION {book}'


format.url output

entsprechend zu


format.url.bk output

dann bleiben @article & co unverändert (die wissen ja nix von der neu angelegten Funktion).

MfG

Magger
03-02-2017, 19:12
Auch wenn es schon ewig alt ist: hier ist der Vollständigkeit halber die entsprechend modifizierte bst-Datei. 6219