
OReferência de citação IEEEespecifica que um DOI deve ser fornecido para artigos eletrônicos sem número de página. No entanto, IEEEtran.bst
parece não fornecer tal funcionalidade. Qual a melhor forma de obter números DOI na bibliografia?
Bônus se a solução também
- opcionalmente, condiciona a exibição do DOI à falta de números de página apenas para anais de conferências; e/ou
- hiperlinks para o DOI (por exemplo, através dos pacotes
doi
ouuri
).
Aceitarei uma solução que envolva edição IEEEtran.bst
– esta é a abordagem na qual estou trabalhando agora – mas preferiria uma que não envolvesse, se possível.
Responder1
Eu criei umcorreçãoisso IEEEtranN.bst
resolve o problema, incluindo os recursos de "bônus".
Responder2
Eu uso esta abordagem para criar um hiperlink para o título do artigo:
Primeiro, copie IEEEtran.bst
para IEEEtranDOI.bst
.
No ENTRY
campo ao redor da linha 250, adicione uma linha como esta:
dayfiled
+ doi
edition
No FUNCTION {format.article.title}
campo próximo à linha 1400, adicione uma linha como esta:
"title" bibinfo.check
+ doi empty$ {} { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$
duplicate$ empty$ 'skip$
Então use \usepackage{hyperref}
e \bibliographystyle{IEEEtranDOI}
e deve funcionar. Use \usepackage[hidelinks]{hyperref}
se você gosta de hiperlinks invisíveis.
Este é um patch que criei para o IEEEtran.bst de hoje usando 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
E aqui está um MWE para testar seu 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}