当重新定义 cite 命令时,Multibib 会在两个参考书目中打印冗​​余的引用

当重新定义 cite 命令时,Multibib 会在两个参考书目中打印冗​​余的引用

我有一份文档,其中有两个参考书目,使用 定义multibib。我试图更改内联引文的显示方式,但这会导致在两个引文中打印多余的参考资料。当不完善multibib时,问题就会消失。cite

我正在使用nature.cls文档类。

导致在两个参考书目中打印多个引用(并产生多重定义引用警告)的命令是:

\makeatletter
\def\@cite#1#2{\textsuperscript{#1\if@tempswa , #2\fi}}
\makeatother

我如何重新定义cite如图所示,并且不在两个参考书目中出现多余的条目?

这是一个简单的例子:

\documentclass{nature}

\usepackage{multibib}


\newcites{methods}{References (Methods):}

\renewcommand\citeform[1]{[#1]}


\makeatletter
\def\@cite#1#2{\textsuperscript{#1\if@tempswa , #2\fi}}
\makeatother



\newcites{online}{Online References}

\begin{document}

\bigskip

\section*{Main}
\label{sec:main}

Some text \cite{RefA, RefB} and \citeonline{RefC}. More text \cite{RefA, RefB}. \\ \\

\bibliographystyle{naturemag}
\bibliography{references}

\bigskip

\section*{Methods}
\label{sec:methods}

Some text \cite{RefA, RefB} and \citeonline{RefC}. More text \cite{RefA, RefB}. \\ \\

\bibliographystyleonline{naturemag}
\bibliographyonline{references}

    
\end{document}

相关内容