0

When working with bibtex and say natbib, I am looking for something that would be the inverse of the \nocite command, i.e., suppress a cited reference from the list of references.

\documentclass[12pt]{article}
\usepackage{natbib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{gnus,
  author      = "John, D.",
  title       = "Gnus of the World",
  publisher   = "DEK Publishing",
  year        = 2019,
}

@book{gnats,
  author      = "Doe, J.",
  title       = "Gnats of the World",
  publisher   = "DEK Publishing",
  year        = 2020,
}
\end{filecontents}
\begin{document}
I make the following citations
\citet{gnats} and \citet{gnus}

But I only want the reference \verb+gnus+ to appear in the reference section.
I am looking for something that would be the inverse of the \verb+\nocite+ command, i.e., suppress a cited reference from the 
list of references. 

Something like \verb+ \supressfromlist{gnats}+
\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}
10
  • 1
    Very tricky. A number can only be assigned to a citation if it appears in the bibliography. So one would have to suppress the bibliography output when it is typeset. Since the bibliography is just a glorified enumerate list I don't know a way to do that. In theory, this would be possible in biblatex without too much difficulty, but it would very likely result in weird output. Needless to say that a citation that is not resolved in the bibliography is useless for your readers (but I guess you have your reasons for wanting this).
    – moewe
    Aug 1, 2020 at 18:44
  • @moewe I woud be happy with a solution that only works with an author-date style.
    – Denis
    Aug 1, 2020 at 18:46
  • @moewe The reason for the question is that there may be authors that you have to cite in the text, but you do not want the robots counting citations to count this as a citation. Think of a referee wanting all his/her texts to be cited always.
    – Denis
    Aug 1, 2020 at 18:48
  • 1
    Ah sorry, it's a similar story with author-date styles (though there would at least be a theoretical possibility that you could parse the .bib file yourself bypassing BibTeX, not that I recommend it or would know how to do that properly aside from ctan.org/pkg/usebib which doesn't do name parsing). But I must say that I find this use case not very convincing. I appreciate that things are not always as easy as they should be. But putting a citation without a bibliography entry is very confusing for your readers and I really hope the editor will pick up on it and do something about it.
    – moewe
    Aug 1, 2020 at 19:01
  • 2
    you cannot edit really edit the bbl in a simple way, the citation needs the data from the bbl to work at all. You would have to fake the output of the bibitem. Why can't you simply type the name of the author without cite command? Aug 1, 2020 at 19:10

1 Answer 1

0

As discussed in the comments, this is extremely tricky with standard BibTeX, because the citation data is only available and usable if the entry in question is added to the bibliography. BibTeX has no built-in way to treat certain entries different from 'normal' citations. So you would have to bypass BibTeX and obtain the citation data via other means, but that would mean parsing the .bib file with LaTeX (not completely impossible, see the usebib package, but you also need name parsing which usebib does not implement for a good reason).

I agree with Ulrike that your best bet here is to just type the fake citation completely manually.

With biblatex it is possible to drop certain entries from the bibliography. This may not work that well for numeric styles and may have some odd side-effects when it comes to disambiguation. You have been warned.

The idea is to use a bibliography category and to add all entries you want to drop from the bibliography to that category. You can then easily filter your bibliography and print only those entries not belonging to that category.

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\DeclareBibliographyCategory{dropbib}

\addtocategory{dropbib}{geer}
% \addtocategory can take a comma-separated list of keys, so
% \addtocategory{dropbib}{geer,worman}
% would add both 'geer' and 'worman' to the drop category

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson,worman,geer}
\printbibliography[notcategory=dropbib]
\end{document}

Citation "(Sigfridsson and Ryde 1998; Worman 2002; Geer 1985)" bibliography does not contain "Geer 1985"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .