我正在使用 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
到你的序言。(问题是缺少终止空格。)