Assuming that the tag you have set is correct (you are using biblatex
) you should not use multibib
or other packages, which are not compatible. It can all be done within biblatex
. The basic method is as follows:
Instead of a simple \printbibliography
command, you enter \printbibliography[]
The optional command (which I have shown with []
) limits that bibliography to a particular sub-category of materials: here you put one of the filtering commands described below.
Of course, you then have to tell the package what category to use. For that you use one of the following instructions.
type=
will include only works of a certain entry type, e.g. type=book
will include only books. You can only have one type
instruction: type=book, type=article
will not work. (This is common to all the examples that follow: you can have only one inclusive instruction, but more than one exclusion. If you want complex tests, you need to set up a custom bibfilter
.
nottype=
will exclude all works in the given type, e.g. nottype=book
will exclude all books. You can have more than one nottype
instruction. nottype=book, nottype=article
will exclude both books and articles.
keyword=
will include works based on whether a keyword (which can be anything) has been set in your .bib
file. For instance, in your .bib
file you could put keywords = {important}
by things you thought were especially important; then you could print a bibliography of just the "important" works with \printbibliography[keyword=important]
.
notkeyword=
will exclude works based on whether a keyword (which can be anything) has been set in your .bib
file.
category=
will include works based on whether you have assigned the work to a category in your .tex
file. To do that you first set up a category with \DeclareBibliographyCategory{}
in your preamble, and then assign works (by their key) using \addtocategory{category}{key}
in the document. Basically this serves a similar function to keywords, but it lets you set them in your .tex
source rather than your .bib
file, so they can be document specific.
notcategory=
will exclude works based on whether you have assigned them to a category.
- Finally, if you have complex needs you can set up a custom filter, using
\defbibfilter
which lets you combine various tests using and, or and not, which are covered extensively in the biblatex
documentation (3.6.7).
You may also want to adjust the titles used. Usually, you want something like:
\printbibheading% <- Prints "References"
\printbibliography[heading=subbibliography,
title={Articles},
type=article]
The title
option controls what is printed. The heading
option controls the formatting (in this case to print as a sub-heading, in effect).
So, in your case, you will want to work out how to identify articles and conference papers. You may be able to map those simply to entrytypes, such as article
and inproceedings
, or you may need to use keywords (if, for instance, some of your conference papers have the article
type in your .bib
file). Then simply use \nocite{*}
to make all the references available for typesetting and then produce two (or more) filtered bibliographies using one of the filters above.
The alternative way of dividing bibliographies uses refsections
and refsegments
. It is rather intended for cases where you want to produce bibliographies for different parts of a document (e.g. for each chapter separately), than for bibliographies that are divided by topic.
Best Answer
The code uses the example
.bib
filebiblatex-examples.bib
as indicated with\addbibresource{biblatex-examples.bib}
.You can upload or write your own
.bib
file and add it to the project. Then you can simply use that file. Ideally your file would not be calledbiblatex-examples.bib
.A working Overleaf project with its own
.bib
is at https://www.overleaf.com/read/sffsymwrqxfyThe only code change to your example is
instead of
\addbibresource{biblatex-examples.bib}
and citations of the sources contained incvlit.bib