
그만큼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}
그런 다음 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}