118

I'm really new to BibTex, I just wonder what is going wrong when I have this kind of error when I try to compile my bibliography file.

I found no \citation commands---while reading file masterthesis.aux

I have put this \bibliographystyle{plain} and bibliography{masterthesis} somewhere in my document, but I don't know what to do here...

7
  • 4
    It can't find any \cite commands in your document. May 12, 2011 at 10:24
  • 8
    put \nocite{*} before the bibliography command
    – user2478
    May 12, 2011 at 10:31
  • 7
    You have not cited any of your bibliography entries. By default bibtex insert in the bibliography only the cited entries, so if you want to include all of your records in the bibliographi use the \nocite{*} command before \printbibliography
    – Spike
    May 12, 2011 at 10:34
  • @zfm "problem with compiling bibtex" is not a particularly descriptive title...
    – Seamus
    May 12, 2011 at 11:43
  • I know this is old, but I got this error even though I DID have citations in the text. I had to change my bibdata reference from Filename.bib to Filename.bib.bib, and that worked.
    – J Kelly
    Nov 1, 2017 at 16:19

5 Answers 5

47

As explained on the second page of the BIBTeX manual the new command \nocite{*} allows, since version 0.99b, to

include in the reference list every entry in the database files, without having to explicitly \cite or \nocite each entry. Giving this command, in essence, \nocites all the enties in the database, in database order, at the very spot in your document where you give the command.

This is useful since BIBTeX, by default, do not consider uncited entries of the database. This behaviour can look strange but is the right way to proceed: if you don't cite anything, it means that you haven't used any information from the entries in the database in your document! So the best way to proceed is to find a place to cite every entry.

102

I noticed this problem when I used biblatex without having specified the backend=bibtex package option. Adding the option fixed it.

4
  • 26
    The most recent version of biblatex assumes the usage of Biber rather than BibTeX for processing the bibliography. Thus biber filename rather than bibtex filename is required, unless you specify backend=bibtex that, on the other hand, will put biblatex in a sort of "compatibility mode" and make it impossible to benefit from the new features of version 2.
    – egreg
    Sep 17, 2012 at 7:47
  • 3
    for me I use backend=biber but I forgot to install biber on the new machine Feb 4, 2019 at 12:08
  • 3
    This answer solves so many other posts...
    – luchonacho
    Apr 8, 2020 at 0:30
  • Let me just reiterate egreg's point: For most users the better solution (even if it appears to be harder at first) is not to go for backend=bibtex,. Users should go for backend=biber, and change their workflow/configure their editor to run Biber instead of BibTeX. See tex.stackexchange.com/q/154751/35864. BibTeX is only supported as a legacy backend in biblatex. The full feature set can only be used with Biber.
    – moewe
    Jun 10, 2022 at 18:16
78

I'm a TeXstudio user and whenever I receive this error message, it's because I've changed the default bibliography tool from biber to bibtex.

To change it back, I have to do Options > Configure TeXstudio > Build > Default Bibliography Tool and the process works again.

Even if this answer never helps anyone else ever, it'll at least be good for me to have this here as a aide memoire next times this happens!

10
  • 3
    Same with TexShop: Preferences > Engine and change the default BibTeX Engine to biber.
    – Berthilde
    Apr 17, 2017 at 17:10
  • 4
    If you add % !BIB TS-program = biber at the beginning of your document you don't need to change the default bibliography tool anymore May 4, 2018 at 0:30
  • 2
    Changing this from bibtex to biber has made it work for me.
    – fatarms
    Dec 11, 2019 at 10:35
  • 2
    Changing to biber worked, but it caused TeXstudio to crash on the first iteration. After running it a second time, it worked. I also used @Taekwondavide 's comment so that this doesn't become a problem again, and it's works great.
    – Water
    Jan 4, 2020 at 23:09
  • 1
    In TeXMaker, it is- configure texmaker > commands > bib(la)tex to biber %.
    – Ashok
    Mar 25, 2020 at 9:37
19

I know this is kind of an old thread but I had exactly the same problem and this solution was not helpful.

Make sure that your LaTeX document is structured correctly. I spent the last 30 minutes trying to figure out why BibTeX couldn't find any \citation commands when the problem was actually that I hadn't closed a \section{} properly. I guess as you become used to error messages regarding references on the first LaTeX run you can miss the details.

2
  • Thank you so very much! None of the answers worked for me except this one. May 1, 2021 at 21:39
  • It's really useful. How does this work?
    – Ryze
    Oct 17, 2021 at 1:58
7

I had a similar issue before. I searched online for hours to find the solution and finally figured out.

You will get the error no \citation commands---while reading file when you don't cite the references that you mention in bib file!

What does citation mean? Before discussing what citation means, let's talk about the purpose of the bibliography. Bibliography is the section where you mention the list of references you went through (papers s or books you read). This helps the people to read those references when they don't find enough info in your paper. So, whenever you mention a particular term or sentence (referring to some paper in your bibliography section), you will be citing that term to that paper.

eg:

The issue_x is because of term_y \cite{cite_key}

In the bib file

@author{cite_key,
 author = {xxxxx},
 title = {yyyyyyyyyyyyyyyyyyyy},
 year = {zzzzzz},
 publisher = {ppppppp.},
 address = {wwwwwwwwww},
}  

So, In order to display the bibliography information, you have to cite the reference in you tex file as shown in the example.

Is there way you could mention the bibliography without citings?

Yes, as suggested by spike, you can use \nocite{*} (if you are not referring to any reference mentioned in bib) \nocite{cite_key} (reference with specific key)

Hope this helps someone! Sorry if I am wrong in my explanation but this is how I solved my issue.

1
  • It might be helpful if you turned your example of a ".tex" file with citation into a full and complete MWE; see also MWEB.
    – Adam Liter
    May 10, 2014 at 22:46

You must log in to answer this question.

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