DOI en la bibliografía IEEEtran

DOI en la bibliografía IEEEtran

ElReferencia de citas IEEEespecifica que se debe proporcionar un DOI para artículos electrónicos sin números de página. Sin embargo, IEEEtran.bstparece no proporcionar dicha funcionalidad. ¿Cuál es la mejor manera de obtener números DOI en la bibliografía?

Bonificación si la solución también

  • opcionalmente condiciona la visualización del DOI a la falta de números de página solo para las actas de la conferencia; y/o
  • hipervínculos al DOI (por ejemplo, a través de paquetes doio uri).

Aceptaré una solución que implique editar IEEEtran.bst(este es el enfoque en el que estoy trabajando ahora), pero preferiría una que no lo haga, si es posible.

Respuesta1

He creado unparcheEso IEEEtranN.bstfunciona, incluidas las funciones "adicionales".

Respuesta2

Utilizo este enfoque para vincular el título del artículo:

Primero, copie IEEEtran.bsta IEEEtranDOI.bst.

En el ENTRYcampo alrededor de la línea 250, agregue una línea como esta:

  dayfiled
+ doi
  edition

En el FUNCTION {format.article.title}campo alrededor de la línea 1400, agregue una línea como esta:

  "title" bibinfo.check
+ doi empty$ {} { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$
  duplicate$ empty$ 'skip$

Luego use \usepackage{hyperref}y \bibliographystyle{IEEEtranDOI}y debería funcionar. Úselo \usepackage[hidelinks]{hyperref}si le gustan los hipervínculos invisibles.

Este es un parche que creé para IEEEtran.bst de hoy 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

Y aquí hay un MWE para probar su 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}

información relacionada