I take it that all or your bib entries are in a single file, right? If so, have a look at the multibib package. It performs its job by providing separate citation commands to distinguish citations in different bibliographies. It is compatible with the natbib
package. In the preamble, you'd issue a series of \newcites
commands, such as
\newcites{conf}{Conference and workshop proceedings}
\newcites{journ}{Journal articles}
\newcites{ietf}{Internet Engineering Task Force Request For Comments (IETF RFCs)}
\newcites{apis}{Application Programming Interfaces (APIs)}
In the body of the document, you would use commands such as \citetconf{ref1}
and \citepietf{ref2}
, where ref1
would be a document to be listed under the heading "Conference and workshop proceedings" and ref2
would be a document to be listed under the heading "Internet Engineering Task Force Request For Comments (IETF RFCs)".
Assuming the bib entries are in a file called myReferences.bib
, the bibliographies would be generated by providing commands such as
\bibliographyconf{myReferences}
\bibliographyjourn{myReferences}
and so on. The package even lets you assign different bibliography styles to each of the separate bibliographies.
Incidentally, if your bib entries are already located in different bib files (organized by type), you may want to take a look at the bibtopic package as well.