Literaturverzeichnis: DOI-Verlinkung

Nochmal eine Kleinigkeit zu bibtex-Literaturverzeichnissen: Die meisten naturwissenschaftlichen Journale lassen ihre Artikel mit LaTeX erstellen. Oft sieht man dabei, dass sie im Literaturverzeichnis die entsprechende Quelle mit einem sog. digital object identifier verlinken. Super Sache, da man dann in dem PDF-Dokument direkt zur entsprechenden Quelle kommt. Kein problem mit dem paket natbib und dem zusätzlichen Befehl

\newcommand*{\doi}[1]{doi: \href{http://dx.doi.org/#1}{\textcolor{linkcolor}{#1}}}

Dadurch bekommt die DOI-Nummer den entsprecheden Link. Aber das ist hässlich. In Journals sieht man daher oft, dass sie den Journaltitel oder Volume, Nummer und Seitenzahl mit dem DOI verlinken. Keine unschöne zusätzliche Nummer, die einem eh nichts bringt (es sei denn, der PDF-Viewer unterstützt keine Hyperlinks). Das wiederum bedarf ein wenig mehr Arbeit und das direkte Editieren eines bibtex-Stils (.bst-Datei). Die finden sich eigentlich bei allen LaTeX-Versionen in einem Verzeichnis bibtex/bst in dessen Hauptverzeichnis (z.B. C:\Programme\Miktex\bibtex\bst)

bibtex ist eine furchtbare Sprache, die das bibtex-Literaturverzeichnis über eine Art Stapelverarbeitung erzeugt. Zum Glück gibt es Leute, die sich damit auskennen (danke corentin). Ich habe also die Datei plainnat.bst ein bisschen angepasst (und unter anderem Namen, z.B. in meinem Dokumentordner, gespeichert). Dann kann man den neuen Stil verwenden und bekommt seine journal-DOI-Links.

Ausschnitt aus plainnat_journal.bst, basierend auf plainnat.bst, Veränderungen vom Original sind markiert. Wenn bibtex-keys DOI oder URL vorhanden sind, werden die Einträge Journaltitel/Volume-Nummer-Seitenzahl mit dem entsprechenden Link versehen (jeweils die Zusätze in grün/orange).

FUNCTION {link_it}
{ duplicate$ empty$
{ pop$ "" }
{ doi empty$
    { url empty$
        { skip$ }
        { "\href{" url * "}{" * swap$ * "}" * }
      if$
    }
    { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
  if$
}
if$
}

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  new.block
  format.title "title" output.check
  new.block

  crossref missing$
      { journal emphasize link_it "journal" output.check
      eid empty$
        { format.vol.num.pages link_it output }
        { format.vol.num.eid link_it output }
      if$
      format.date "year" output.check
    }
    { format.article.crossref output.nonnull
      eid empty$
        { format.pages link_it output }
        { format.eid link_it output }
      if$
    }
  if$
  format.issn output
%   format.url output
%   format.doi output
  new.block
  note output
  fin.entry
}

Dann einfach mit

\usepackage[numbers]{natbib}
\bibliographystyle{plainnat_journal}

benutzen. Supertoll, oder?😉

About

Peter Pan. Kann fliegen mit Feenstaub.

Tagged with: , , , ,
Posted in LaTeX, Technik
4 comments on “Literaturverzeichnis: DOI-Verlinkung
  1. […] Literaturverzeichnis: DOI-Verlinkung […]

  2. […] Datei am besten unter anderem Namen (z.B. unsrtnat_abbrv.bst). Vielleicht wollt ihr ja auch noch Hyperlinks zu den entsprechenden Quellen einfügen (dann eben […]

  3. […] About including the DOI-link in you biblatex bibliographies to provide an easy access to your references, I’ve written some time ago. Now I want to share some script to include the DOI link on the website of the popular scientific search engine worldofknowledge.com. Unfortunately they are providing the DOI in they article summaries, but do not link with dx.doi.org, so you have to copy and paste it there manually to access the article. Crap! With a simple greasemonkey userscript you can drop that an have the link directly added to your locally shown webofknowledge website. Here’s the code: […]

  4. […] style file unsrtnat_abbrv_link_it.bst on pastebin.com and search for that linker-function. Also see this article. However, here is how it looks […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Posts by topic…
…by month
Have a look at…


%d bloggers like this: