这个问题类似于这个但并不完全相同。
我想在论文摘要中添加参考文献。此参考文献应为完整参考文献,而不是关键参考文献,并且不应干扰我所做的其他引用。期刊希望参考文献按数字顺序排列,如果我在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