TeX - LaTeX Asked on June 5, 2021
I am writing my cv and although I only want to print some of my @unpublished
and @inproceedings
entries in my bibliography, I do want to print all of my @article
entries.
Is there any way in which I can nocite
all entries of a specific type (@article
in this case)?
Consider that I have my entries in separate files depending on its type. Here is a MWE:
documentclass{article}
usepackage[backend=biber]{biblatex}
addbibresource{articles.bib}
addbibresource{talks.bib}
addbibresource{unpublished.bib}
begin{document}
% How do I nocite all @article entries?
nocite{<all @article entries>}
nocite{sometalk, someothertalk}
nocite{someunpublished, someotherunpublished}
% This should print all articles
printbibliography[title=Articles, type=article]
% This should print sometalk and someothertalk
printbibliography[title=Talks, type=inproceedings]
% This should print someunpublished and someotherunpublished
printbibliography[title=Unpublished, type=unpublished]
end{document}
nocite
only supports listing entry keys you want to add to your bibliography or nocite{*}
to allow all available entries from your .bib
file(s) to be added.
There is no way to tell nocite
to pick only @article
s or entries with other properties, see nocite{*} for single bibdatasources with biblatex/biber, Is it possible to add entries to the bibliography based on keyword using Biblatex/Biber and within the document code?.
There is, however, a workaround in newer versions of Biber that allows you to clear out entries you don't want with a sourcemap. This will result in the expected output.
You will need the starnocited
keyword that was added in biblatex
3.15/Biber 2.15 (https://github.com/plk/biber/issues/319).
documentclass{article}
usepackage[backend=biber, defernumbers=true]{biblatex}
DeclareSourcemap{
maps[datatype=bibtex, overwrite]{
map{
pernottype{article}
step[starnocited=true, final]
step[entrynull]
}
}
}
addbibresource{biblatex-examples.bib}
begin{document}
nocite{*}
nocite{westfahl:space,gaonkar:in}
nocite{salam} % we don't want moraux
% This should print all articles
printbibliography[title=@article, type=article]
% This should print salam but not moraux
printbibliography[title=@inproceedings, type=inproceedings]
% This should print westfahl:space gaonkar:in and nothing else
printbibliography[title=@incollection, type=incollection]
end{document}
This clears out all entries that are not @article
s that are only present because of nocite{*}
(i.e. entries that were not cite
d or nocite
d explicitly with their key)
Answered by moewe on June 5, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP