
DerIEEE-Zitationsreferenzgibt an, dass für elektronische Artikel ohne Seitenzahlen ein DOI bereitgestellt werden soll. Allerdings IEEEtran.bst
scheint es keine solche Funktion zu geben. Was ist der beste Weg, um DOI-Nummern in die Bibliographie zu bekommen?
Bonus, wenn die Lösung auch
- macht die Anzeige des DOI optional nur bei Konferenzbeiträgen von fehlenden Seitenzahlen abhängig; und/oder
- Hyperlinks zum DOI (z. B. über die
doi
oderuri
Pakete).
Ich bin bereit, eine Lösung zu akzeptieren, bei der Bearbeitungen erforderlich sind IEEEtran.bst
(dies ist der Ansatz, an dem ich gerade arbeite), würde aber nach Möglichkeit eine Lösung ohne Bearbeitung bevorzugen.
Antwort1
Ich habe einPatchdazu IEEEtranN.bst
reicht es, einschließlich der „Bonus“-Funktionen.
Antwort2
Ich verwende diesen Ansatz, um den Artikeltitel als Hyperlink zu verwenden:
Kopieren Sie zunächst IEEEtran.bst
nach IEEEtranDOI.bst
.
Fügen Sie im ENTRY
Feld um Zeile 250 eine Zeile wie diese hinzu:
dayfiled
+ doi
edition
Fügen Sie im FUNCTION {format.article.title}
Feld um Zeile 1400 eine Zeile wie diese hinzu:
"title" bibinfo.check
+ doi empty$ {} { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$
duplicate$ empty$ 'skip$
Dann verwenden Sie \usepackage{hyperref}
und \bibliographystyle{IEEEtranDOI}
und es sollte funktionieren. Verwenden Sie, \usepackage[hidelinks]{hyperref}
wenn Sie Hyperlinks unsichtbar mögen.
Dies ist ein Patch, den ich für das heutige IEEEtran.bst erstellt habe, unter Verwendung von diff -c IEEEtran.bst IEEEtranDOI.bst
:
*** IEEEtran.bst 2015-08-26 16:56:09.000000000 -0400
--- IEEEtranDOI.bst 2016-01-20 14:17:48.216975400 -0500
***************
*** 262,267 ****
--- 262,268 ----
chapter
day
dayfiled
+ doi
edition
editor
howpublished
***************
*** 1419,1424 ****
--- 1420,1426 ----
}
if$
"title" bibinfo.check
+ doi empty$ {} { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$
duplicate$ empty$ 'skip$
{ quote.close 'this.status.quote :=
is.last.char.not.punct
Und hier ist ein MWE zum Testen Ihres IEEEtranDOI.bst:
\documentclass{IEEEtran}
\usepackage{hyperref}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Example,
author = {Author, The},
doi = {10.1000/182},
journal = {Awesome Journal},
title = {{This is the title, click to go to doi}},
year = {2016},
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{IEEEtranDOI}
\bibliography{\jobname}
\end{document}