Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

This question is similar to this one but not exactly the same.

I would like to include a reference in the abstract of a paper. This reference should be the full reference, not a key, and it should not interfere with the rest of the citations I make. The journal wants the references to be ordered numerically, and if I use bibentry the citation in the abstract gets [1] and so the first one in the paper is [2]...

any ideas how I could accomplish this?

share|improve this question
add comment

1 Answer

up vote 11 down vote accepted

Guess what, it is actually possible to do it!

The key is to define a new command, I called it \nobibentry, which will fetch the bibliography information of, say, important-paper to include in the abstract but will not add that entry to the bibliography so it won't get numbered just yet. In particular this means that entries won't be added until you issue the first \cite (which will appropriately get reference number [1]) and, for the whole thing to work, you should also add a citation to the important-paper somewhere in the body of the document.

An example is probably the best way to explain it:

\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}

And a short explanation. The \bibentry command (looking at the source in bibentry.sty) does essentially two things: (1) calls \nocite to introduce an entry into the list of references and (2) fetches the information from the list of references to typeset that information into the text. The problem is that calling \nocite at this point will also assign a reference number to this entry, and we don't want to do that just yet.

The \nobibentry uses \let to temporarily replace \nocite with a dummy \ignore command that simply discards its argument and does nothing, and then calls \bibentry to do the rest of the work. The extra pair of { .. } in the definition of \nobibentry make sure that the redefinition of \nocite is only local to this small piece of code.

share|improve this answer
    
You don't, strictly speaking, need to cite important-paper in the body: there is a way to add an entry to a bibliography without citing it, isn't there? –  Seamus Oct 19 '10 at 13:50
    
Yes, but the point is that the entry needs to be added to the bibliography (so that \bibentry can find it) at some point or another (at which point it will get a number). You could \nocite it in the middle of the paper, but the sequence of reference numbers (in the body of the document) will appear to randomly skip a number for no apparent reason. Anyway, it would be strange not to cite the important paper if it was important enough to be mentioned in the abstract. –  Juan A. Navarro Oct 19 '10 at 14:06
    
sweet! let me try it out. while you are at it, can you give a 2 line explanation of the \let command you used? –  Yossi Farjoun Oct 19 '10 at 16:01
    
OH, so close! I can get it to work with unsrt but not with what I need wich is apsrev or apsrev4-1....it gives a strange error then. –  Yossi Farjoun Oct 19 '10 at 16:51
    
I've edited the question to make it work with apsrev and natbib. If you're still having problems it would be best if you can edit your question with a complete and minimal example. So far I've just been trying to guess what does the code on your side looks like! –  Juan A. Navarro Oct 20 '10 at 9:20
show 3 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.