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.

I have a file called paper.tex. Another file called PaperBib.bbl contains all the bibliography for this. I've used \cite{...} to cite a paper and \bibliography{PaperBib} to print the references in the end of the document.

One problem is that currently all the papers in PaperBib.bbl are listed no matter whether they are cited or not. Is there a way to list:

  • Only the ones which are cited?
  • Only the ones which are not cited?

By the way, I have searched a little bit in the similar questions. Someone suggested using biblatex, but I would prefer not to.

PS: I do not have \nocite{*} in either of these 2 files.

share|improve this question
2  
Search for \nocite{*} in your document and delete it. –  Gonzalo Medina Jun 7 '11 at 1:38
    
Why would you prefer not to use bibtex? It is one of the best features of TeX/LaTeX. –  David Hammen Jun 7 '11 at 1:53
    
@David Hammen: I think that SoftTimur doesn't want to use biblatex. He'd like to continue using bibtex. –  Gonzalo Medina Jun 7 '11 at 1:56
    
because when i use biblatex, it says "biblatex.sty" can not be found... We share this tex file among several people, so I am afraid not all of them has installed biblatex completely. –  SoftTimur Jun 7 '11 at 2:07

2 Answers 2

up vote 4 down vote accepted

Most probably you have \nocite{*} somewhere in the body of your document; this command will cause all entries of the chosen bibliographical database to be included in the list of references.

Simply delete \nocite{*} and re-compile your document (using, for example, pdflatex+bibtex+pdflatex+pdflatex).

The \nocite command can also be used with a key-list as its argument; in this case, it will write the bibliographical information associated to the key-list (even if the publication(s) is(are) otherwise not cited) into the list of references.

share|improve this answer
    
Thanks for your reply. I really do not have \notice{*} in "paper.tex" or "paper.bbl". –  SoftTimur Jun 7 '11 at 2:05
    
@SoftTimur: It has to be (or had to be) somewhere. Try deleting the .bbl auxiliary file and processing again your document; if the problem persists, please add to your question a minimal working example illustrating your problem. –  Gonzalo Medina Jun 7 '11 at 2:09
    
@SoftTimur Delte (almost) everything but the .tex file and .bib file. And run again, perhaps with latexmk. If you don't have \nocite, the only reason I can imagine is that you didn't run bibtex after updating the .aux file and therefore the .bbl file remains unchanged from previous run. –  Yan Zhou Jun 7 '11 at 2:24
    
@Gonzalo Medina: i just realize that when i run bibtex the .bbl is cleaned... is it normal? I thought .bbl is written manually and should not be erased. –  SoftTimur Jun 7 '11 at 2:27
1  
The compilation queue works like this: Wherever (pdf)LaTeX finds \cite command it writes note into .aux file. Then bibTeX read this .aux file looking for \cite notes and (re)creates .bbl file with structure defined by bibliography style and containing only cited references (\nocite cites all referencies). Then (pdf)LaTeX again rewrites .aux file and includes .bbl file into document. Double compilation is mandatory because of making referencies right - all listof*s are reading old .aux and the correct one is made after compilation. –  Crowley Jun 7 '11 at 4:47

@SoftTimur you must make sure that you are searching for \nocite{*} and NOT for \notice{*} this is a little late, but you consistently misspelled the command here ... so maybe you have \nocite in your document and are searching for \notice (which does not exist - is not a normal command).

share|improve this answer

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.