IEEEtran 参考文献の DOI

IEEEtran 参考文献の DOI

IEEE 引用文献ページ番号のない電子論文には DOI を付与する必要があると規定されています。しかし、IEEEtran.bstそのような機能は提供されていないようです。参考文献に DOI 番号を取得する最も良い方法は何ですか?

解決策が

  • オプションとして、会議議事録のページ番号がない場合に限りDOIを表示する。
  • DOI にハイパーリンクします (例:doiまたはuriパッケージ経由)。

編集を伴う解決策を受け入れますIEEEtran.bst(現在取り組んでいるのがこれです) が、可能であれば、編集を伴わない解決策を希望します。

答え1

私はパッチIEEEtranN.bst「ボーナス」機能も含めて、これでうまくいきます。

答え2

記事のタイトルにハイパーリンクを張るには、次の方法を使用します。

まず、コピーIEEEtran.bstしてIEEEtranDOI.bstコピーします。

250 行目付近のフィールドにENTRY、次のような行を追加します。

  dayfiled
+ doi
  edition

1400 行目付近のフィールドにFUNCTION {format.article.title}、次のような行を追加します。

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

\usepackage{hyperref}そして、とを使用\bibliographystyle{IEEEtranDOI}すれば動作するはずです。\usepackage[hidelinks]{hyperref}ハイパーリンクを非表示にしたい場合は を使用します。

これは今日の IEEEtran.bst 用に私が作成したパッチです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

IEEEtranDOI.bst をテストするための MWE は次のとおりです。

\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}

関連情報