我有一个名为的文件paper.tex
。另一个名为的文件PaperBib.bbl
包含所有参考书目。我曾经\cite{...}
引用过一篇论文,并\bibliography{PaperBib}
在文档末尾打印参考文献。
一个问题是,目前所有的论文都PaperBib.bbl
列出了,无论它们是否被引用。有没有办法列出:
- 仅引用那些?
- 只有未引用的那些?
顺便说一句,我搜索了一下类似的问题。有人建议使用biblatex
,但我宁愿不这样做。
\nocite{*}
附言:这两个文件我都没有。
答案1
您很可能\nocite{*}
在文档正文的某个地方有此命令,这将导致所选书目数据库的所有条目都包含在参考文献列表中。
只需删除\nocite{*}
并重新编译您的文档(例如,使用pdflatex+bibtex+pdflatex+pdflatex
)。
该\nocite
命令还可以与键列表一起用作其参数;在这种情况下,它会将与键列表相关的书目信息(即使出版物未被引用)写入参考文献列表中。
答案2
@SoftTimur 你必须确保你正在搜索\nocite{*}
而不是\notice{*}
这个,虽然有点晚了,但你在这里一直拼错命令......所以也许你\nocite
的文档中有正在搜索的\notice
(它不存在 - 不是一个正常命令)。
答案3
我遇到了与您描述的相同的问题,并且我的文档中的任何地方也没有“\nocite{*}”。
我设法通过删除与 .tex 文件同名但具有以下扩展名的文件来解决这个问题:
- .aux
- .bbl
- .blg
- 。日志
- 同步文本.gz
答案4
以下情况下,TexStudio 中也出现了同样的问题。顶级文件夹中的 bibliography.bib 文件被子文件夹中的 main.tex 文件使用,而 .tex 文件具有相同的名称。重命名解决了该问题。
(PS:由于尚无法发表评论,因此已回答。)