使用 achemso 时 DOI 是否有链接?

使用 achemso 时 DOI 是否有链接?

是否可以将 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}

相关内容