Doppelter Link bei DOI Eingabe beim Buch

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


ingeule
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 73
Registriert: Di 20. Dez 2011, 16:23

Doppelter Link bei DOI Eingabe beim Buch

Beitrag von ingeule »

Hallo,
wenn ich in JabRef unter General bei einem Buch einen DOI eingebe, erscheint im Literaturverzeichnis der entsprechende Link doppelt. Außerdem wird der DOI nicht extra angezeigt. Bei einem Artikel passiert das nicht. Hier wird - so wie ich es auch erwarte - nur ein Link und der DOI angezeigt.

Weiß hier jemand Rat?
\documentclass[
  a4paper,
  12pt,
  BCOR=8mm,
  DIV=calc,
	pagesize=auto,
  headsepline,
	english,
  ngerman,
  openany,
	DIV=12,
	]{scrbook}


\usepackage[english,ngerman]{babel}


\begin{document}

Beim Artikel \cite{sarradj2012} passt alles. Beim Buch \cite{beucher2011} ist der Link doppelt.

\bibliographystyle{alphadin}
\bibliography{Literatur}

\end{document}
Danke, Grüße
Dateianhänge
Literatur.bib
(721 Bytes) 308-mal heruntergeladen

Gast

Beitrag von Gast »

Scheint als hättest Du einen Bug gefunden.

In FUNCTION {book} finden wir
  format.doi output
  format.url output
und dann
FUNCTION {format.url}
{ urn missing$
     { doi missing$
          { url empty$
             { "" }
             { type empty$ NOT
                 { type #-1 #4 substring$ "mail" =
                   type #1 #4 substring$ "Mail" =
                   OR
                      { type$ "incollection" =
                          { "" }
                          { "\,Absenderadresse: \url{" url * "}" * }
                        if$
                      }
                      { "\url{" url * "}" * }%%   evtl. "URL" oder "<...>"
                    if$
                  }
                  { "\url{" url * "}" * }   %%   evtl. "URL" oder "<...>"
                if$
             }
           if$
          }
          { format.doi }
        if$
      }
      { "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" *
      }
    if$
}
Das heißt, dass das DOI-Makro effektiv zweimal aufgerufen wird, zumindest wenn es keine URN gibt.

Um das zu beheben kopierst Du alphadin.bst an einen Ort, wo TeX die Datei finden kann (also z.B. in das Verzeichnis Deiner TeX-Datei). Dann benennst Du die Datei um in alphadin-bookdoi.bst.
Du öffnest die umbenannte Datei und suchst in FUNCTION {book} und FUNCTION {manual} nach den zwei Zeilen
  format.doi output
  format.url output
Du löschst die DOI-Zeile, sodass dort nur noch
  format.doi output
steht.

Dann schreibst Du an den Anfang der Datei in die Kommentare das heutige Datum, Deinen Namen, was Du geändert hast und fügst vielleicht einen Link zu diesem Thema hinzu.

Stamm-

Weg von BibTeX, hin zu BibLaTeX

Beitrag von Stamm- »

Bei Verwendung von »BibLaTeX« gemäß den Empfehlungen gibt es dieses Problem nicht.
\begin{filecontents*}{\jobname.bib}
@book{beucher2011,
  title     = {Signale und Systeme: Theorie, Simulation, Anwendung},
  publisher = {Springer"=Verlag Berlin Heidelberg},
  year      = {2013},
  author    = {Ottmar Beucher},
  doi       = {10.1007/978-3-642-20294-0},
  owner     = {iriehle},
  timestamp = {2013.05.20},
}

@article{sarradj2012,
  author    = {Ennes Sarradj},
  title     = {Three-Dimensional Acoustic Source Mapping with Different Beamforming Steering Vector Formulations},
  journal   = {Advances in Acoustics and Vibration},
  year      = {2012},
  doi       = {10.1155/2012/292695},
  owner     = {iriehle},
  timestamp = {2013.05.13},
}
\end{filecontents*}
\documentclass[
  fontsize=12pt,
  BCOR=8mm,
  DIV=12,
  pagesize=auto,
%  parskip=half,
  headsepline,
  openany
]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage[english,ngerman]{babel}

\usepackage[autostyle]{csquotes}
\usepackage[backend=biber,style=alphabetic]{biblatex}
\addbibresource{\jobname.bib}

\usepackage{lmodern}
\usepackage{microtype}

\begin{document}
  Mit »Bib\LaTeX« passt das sowohl beim Artikel \cite{sarradj2012} als auch beim Buch \cite{beucher2011}.

  \printbibliography
\end{document}
Vergiss also »BibTeX«. »Biber« kann auch mit Unicode (UTF-8) umgehen. »JabRef« hat mit dem Problem wenig zu tun. Wenn man da nicht aufpasst, kodiert es die Datei auch mal unpassend (wie hier in windows-1252). Es ist bei der Erstellung einer Literaturdatenbank in ASCII-Text auch nicht wirklich nötig.

ingeule
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 73
Registriert: Di 20. Dez 2011, 16:23

Beitrag von ingeule »

Hi,
danke für die Hinweise.

Ich habe jetzt mal testweise auf BibLATEX umgestellt. Wie leider schon erwartet zieht das wiederrum weitere "Probleme" nach sich. Genauer gesagt diese Warnung hier:
  • Package biblatex Warning: hyperref package option 'pageanchor' disabled.
    (biblatex) This will cause problems with hyperlinked back
    (biblatex) references. 'pageanchor=true' is required.
Das habe ich aber bewusst so eingestellt, da ich ansonsten mehrere Warnungen dieser Art bekomme:
  • pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored
    <to be read again>
    \relax
    l.126 \mainmatter
Zwei Fragen:
Was genau sind "hyperlinked back references" bzw. was sind das für Probleme?
Wie kriege ich mein Dokument am geschicktesten wieder "warnungsfrei"?

Dankeschön, mfG

Antworten