此前,在 TexExchange 上,人们曾讨论过在 IEEEtran 样式书目中加入 DOI 的问题,标题为IEEEtran 参考书目中的 DOI并且已经以补丁的形式提供了解决方案 [1]。但是,该解决方案没有提供 DOI 的超链接。使用 DOI 的一个特殊好处是链接到相应档案的通用且唯一的 URL:http://dx.doi.org/+ «DOI»
我怎样才能使 DOI 变得“可点击”,即提供一个无缝(超引用)超链接,当我点击 DOI 时它将打开一个网络浏览器?
答案1
该补丁提供了插入DOI的功能:
%% DOI
FUNCTION {format.doi}
{ doi empty$
{ "" }
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
name.doi.prefix " " *
"\doi{" * doi * "}" *
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'this.status.quote :=
}
if$
}
替换插入 DOI 的行
"\doi{" * doi * "}" *
经过
"\href{http://dx.doi.org/\doi{" * doi * "}}{\doi{" * doi * "}}" *
产生包含超链接的增强型 DOI。
即该函数被替换为代码 %% DOI
FUNCTION {format.doi}
{ doi empty$
{ "" }
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
name.doi.prefix " " *
"\href{http://dx.doi.org/\doi{" * doi * "}}{\doi{" * doi * "}}" *
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'this.status.quote :=
}
if$
}
答案2
最近。我通过票号 #394811 获得了有用的提示。但是,我必须修改现有声明以在参考部分附加 DOI(数字对象标识符)毛细管电泳期刊(消费电子交易)。因此,我修改了以下陈述如下。
name.doi.prefix ", " *
"doi: \href{http://dx.doi.org/" * doi * "}{\doi{" * doi * "}}" *
name.doi.postfix ". " *
“ FUNCTION {format.doi}”的内容如下。
%% DOI
%% added by GQMJr
%% Modified by Geunsik Lim on Apr-05-2020 for T-CE.
FUNCTION {format.doi}
{ doi empty$
{ "" }
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
name.doi.prefix ", " *
"doi: \href{http://dx.doi.org/" * doi * "}{\doi{" * doi * "}}" *
name.doi.postfix ". " *
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'this.status.quote :=
}
if$
}
然后,DOI 就成功生成了。:)
答案3
我必须对其进行一些修改才能使其为我工作:
%% DOI
%% added by GQMJr
%% Modified by Geunsik Lim on Apr-05-2020 for T-CE.
%% Modified again by Calvin Love on Dec-15-2021
FUNCTION {format.doi}
{ doi empty$
{ "" }
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
name.doi.prefix ", " *
"doi: \href{http://dx.doi.org/" * doi * "}{" * doi * "}" *
name.doi.postfix ". " *
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'this.status.quote :=
}
if$
}
...希望这对某人有帮助