如何使用 BibTeX 在摘要中放置完整的引用?

如何使用 BibTeX 在摘要中放置完整的引用?

这个问题类似于这个但并不完全相同。

我想在论文摘要中添加参考文献。此参考文献应为完整参考文献,而不是关键参考文献,并且不应干扰我所做的其他引用。期刊希望参考文献按数字顺序排列,如果我在bibentry摘要中使用引用[1],那么论文中的第一个引用是[2]...

有什么想法我可以实现这个吗?

答案1

你猜怎么着,这实际上是可以做到的!

关键是定义一个新命令,我称之为\nobibentry,它将获取参考书目信息,比如,important-paper包含在摘要中,但将不会将该条目添加到参考书目中,这样它暂时不会被编号。具体来说,这意味着直到您发布第一个条目\cite(将适当地获得参考编号)时才会添加条目,并且为了使整个过程正常工作,您还应该在文档正文的某处[1]添加对的引用。important-paper

一个例子可能是解释它的最好方法:

\documentclass{article}
\usepackage[numbers]{natbib}
\usepackage{bibentry}

\newcommand{\ignore}[1]{}
\newcommand{\nobibentry}[1]{{\let\nocite\ignore\bibentry{#1}}}
% apsrev entries in the text need definitions of these commands
\newcommand{\bibfnamefont}[1]{#1}
\newcommand{\bibnamefont}[1]{#1}

\begin{document}
\nobibliography*

In my abstract I want to talk about \nobibentry{important-paper}.

In the body of the text there is \cite{first-paper}, and also I talk
about \cite{another-paper}, but I should also not forget to cite
somewhere the \cite{important-paper}.

\bibliographystyle{apsrev}
\bibliography{your-bib-file}

\end{document}

简单解释一下。该\bibentry命令(查看源代码bibentry.sty)主要做两件事:(1)调用\nocite以将条目引入参考列表,以及(2)从参考列表中获取信息以将该信息排版到文本中。问题是,\nocite此时调用还会为该条目分配一个参考编号,而我们暂时不想这样做。

使用暂时用一个伪命令替换,该命令只是丢弃其参数并且不执行\nobibentry任何操作,然后调用完成其余工作。定义中的额外一对确保 的重新定义仅限于这一小段代码。\let\nocite\ignore\bibentry{ .. }\nobibentry\nocite

相关内容