![使用 achemso 时 DOI 是否有链接?](https://linux22.com/image/333533/%E4%BD%BF%E7%94%A8%20achemso%20%E6%97%B6%20DOI%20%E6%98%AF%E5%90%A6%E6%9C%89%E9%93%BE%E6%8E%A5%EF%BC%9F.png)
是否可以将 DOI 变成 achemso 的链接,就像 biblatex-chem 一样?我假设不行,或者已经完成了,但我想检查一下。我知道在提交之前我必须关闭该选项,但在一段时间后编辑论文时它很有用,因为当我想查看特定参考文献时,我只需单击链接,而不必去寻找它。
答案1
我的解决方案是复制 achemso.bst 文件并将其作为 achemso_edit.bst 放在我的 latex 文档文件夹中
受到 rsc.bst 文件的启发,我format.doi
在 achemso_edit.bst 文件中注释了该函数
% FUNCTION { format.doi } {
% doi empty$
% 'skip$
% {
% bbl.doi add.space
% "\doi{" * doi * "}" *
% output
% }
% if$
% }
并将其替换为
FUNCTION {format.doi}
{ ctrl.doi.bool
{ doi empty$
'skip$
{
link.doi
{
"\href{http://dx.doi.org/"
doi *
"}{" *
bbl.doi doi tie.or.space.connect *
"}" *
}
{ bbl.doi doi tie.or.space.connect }
if$
output
}
if$
}
'skip$
if$
}
为了使其工作,需要一些布尔值。
我已将link.doi
布尔值添加到INTEGERS
列表中
INTEGERS {
ctrl.article.title.bool
ctrl.chapter.title.bool
ctrl.doi.bool
ctrl.etal.firstonly.bool
ctrl.etal.number.int
link.doi
}
FUNCTIONS
并在列表中启用它
FUNCTION { initialize.control.values } {
#1 'link.doi :=
#1 'ctrl.article.title.bool :=
#0 'ctrl.chapter.title.bool :=
#1 'ctrl.doi.bool :=
#1 'ctrl.etal.firstonly.bool :=
#15 'ctrl.etal.number.int :=
}
我已将完整的 achemso_edit.bst 文件复制到https://pastebin.com/5hZni8rb
\bibliography
通过在命令之前发出命令来使用书目样式
\bibliographystyle{achemso_edit.bst}