辅助文件中的参数中有空格

辅助文件中的参数中有空格

我正在使用此处提供的文档模板:http://iel.ucdavis.edu/code/ASME/conf-1.7b.html
我的 MWI 是tex模板本身提供的文件。我所做的只是更改作者姓名、会议编号等,并重命名texbib文件(新文件名不包含空格)并包含一些包,例如fontencbabel。您可以在下面的 diff 链接中找到完整的更改。
但是,当我使用 MikTeX 进行编译时,生成的aux文件包含类似的条目\citation{2.5pt plus 1.49998pt minus 0.59998pt},因此它会生成空bbl文件并且没有参考书目。我在这里做错了什么?

编辑1
我认为这是不言而喻的,但我将\bibliography命令 改为

\bibliography{References}

bib文件重命名为References.bib。我的tex文件名是Report.tex

编辑2
MWI 很难削减,因为我不知道哪个部分导致了问题。您可以查看此差异以查看我对tex模板附带的文件做了哪些更改:http://www.diffchecker.com/bvge2l6m。原始tex文件与参考书目编译良好。

答案1

产生错误行为的一个最小示例是

\documentclass[twocolumn,10pt]{asme2e}
\usepackage[english]{babel}
\begin{document}
\cite{xyz,xxx}
\end{document}

文件.aux显示

\citation{0.0pt}

错误行为是由于以一种令其满意的方式asme2e.cls定义,同时以不兼容的方式重新定义宏。\@citexbabel

结论是该类与 不兼容babel,尽管它应该兼容。一种可能的解决方法是使babel的重新定义无效\@citex

\documentclass[twocolumn,10pt]{asme2e}

\makeatletter
\let\asme@citex\@citex % save amse2e definition of \@citex
\makeatother

\usepackage[english]{babel} % English language/hyphenation

\makeatletter
\let\@citex\asme@citex % restore
\makeatother

\begin{document}
\cite{xyz,xxx}
\end{document}

相关内容