ulem 与 \cite 中的多个条目不兼容

ulem 与 \cite 中的多个条目不兼容

考虑一下 LaTeX 代码:

\documentclass[aps,pre]{revtex4}

\usepackage[normalem]{ulem}

\begin{document}

\sout{
asdas~\cite{a1989, b2001}.
}

\bibliographystyle{apsrev4-1}
\bibliography{references.bib}

\end{document}

其中references.bib只是一个文件,其中包含一些带有和键的.bib随机条目。我使用a1989b2001

  1. 乳胶
  2. BibTex
  3. 乳胶
  4. 乳胶

在第 4 步,我收到以下错误

! Missing number, treated as zero

如果我继续,它就会忽略并执行它应该执行的操作。

这仅当同一引用有多个时才会发生\cite。例如,如果我使用

asdas~\cite{a1989}~cite{b2001}

它工作正常。

答案1

第 5 页的文档中介绍了这一点ulem

本地赋值的丢失将破坏其他一些标准命令(例如\cite),这些命令使用本地赋值产生多个“单词”。保护此类命令的方法是将它们埋在\mbox\emph{every\-one agrees~\mbox{\cite{you,me}}.}

在你的情况下使用\mbox你得到

示例输出

请求来自:

\documentclass[aps,pre]{revtex4}

\usepackage[normalem]{ulem}

\begin{document}

\sout{
asdas~\mbox{\cite{a1989,b2001}}.
}

\bibliographystyle{apsrev4-1}
\bibliography{references.bib}

\end{document}

相关内容