IEEEtran 참고문헌의 DOI

IEEEtran 참고문헌의 DOI

그만큼IEEE 인용 참조페이지 번호가 없는 전자 논문에 대해 DOI를 제공해야 한다고 규정합니다. 그러나 IEEEtran.bst그러한 기능을 제공하지 않는 것으로 보입니다. 참고문헌에서 DOI 번호를 얻는 가장 좋은 방법은 무엇입니까?

솔루션이 또한 있다면 보너스

  • 선택적으로 회의 진행에 대해서만 페이지 번호가 부족한 경우 DOI를 조건부로 표시합니다. 및/또는
  • DOI를 하이퍼링크합니다(예: doi또는 uri패키지를 통해).

저는 편집이 포함된 솔루션 IEEEtran.bst(이것이 제가 현재 작업 중인 접근 방식입니다)을 받아들이겠습니다. 하지만 가능하다면 그렇지 않은 솔루션을 선호합니다.

답변1

나는반점IEEEtranN.bst"보너스" 기능을 포함하여 트릭을 수행합니다 .

답변2

나는 이 접근 방식을 사용하여 기사 제목을 하이퍼링크로 연결합니다.

먼저 .IEEEtran.bstIEEEtranDOI.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}그런 다음 and 를 사용하면 \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}

관련 정보