使用 achemso 包显示 DOI

使用 achemso 包显示 DOI

我正在使用 achemso 软件包(版本 3.10h)向 ACS 期刊提交论文,但无法让 DOI 出现在参考书目中。在文件顶部,我有

\documentclass[journal = esthag,manuscript = article, layout = traditional]{achemso}

我可以更改一些包选项,例如是否显示文章标题或使用显示的最大作者数量

\setkeys{acs}{articletitle = false}
\setkeys{acs}{etalmode = firstonly, maxauthors=1}

但是,当我尝试使用以下方式显示 DOI 时

\setkeys{acs}{doi = true}

程序抛出错误

Runaway argument?
{10.1021/ic9907718}\relax \mciteBstWouldAddEndPuncttrue \mciteSetBstM\ETC.
./achemso-demo.tex:381: File ended while scanning use of \doi@aux.
<inserted text> 
            \par 
l.381 \bibliography{achemso-demo}

我可以在我的文档和 achemso-demo.tex 文件中复制它。

答案1

这是一个错误,achemso我很快就会修复它。目前,添加

\makeatletter
\newcommand{\doi}{%
  \begingroup
    \let\do\@makeother
    \dospecials
    \catcode`\{=1
    \catcode`\}=2
    \doi@aux
}
\makeatother

到你的序言。(问题是缺少终止空格。)

相关内容