I use biblatex-chicago for writing my PhD thesis, and I have only one file for the bibliography. I need to separate my bibliography into primary and secondary sources. From what I understand about the existing solutions on the forum and the documentation, it is only possible to either sort manually each entry with a ‹type› (or keyword), or to make two bib files (one source and one secondary literature).

I was wondering if there was a way to print the bibliography sorting primary sources and secondary sources without going manually in every citation in my bib file as ‹type› or ‹keyword› "source" or "secondary literature". I may be wrong but it doesn't seem that the year of publication is accepted as a key and a value. Isn't there a way to print only entries that are within a specified range of dates?

  • 1
    You can also add your entries to bibliography categories dynamically from within your document. You'd then filter your bibliography by categories. But that comes down to similar work as adding keywords to your .bib file. I'd like to add that manual checking and adding the keyword after due consideration is the only save way to make sure nothing goes wrong. Automatic distinction by year could go wrong.
    – moewe
    Jun 7, 2017 at 16:20

1 Answer 1


You can do this via \defbibcheck, but I'd think it rather a fragile/unreliable way of separating primary and secondary sources. What will you do with (e.g.) a 1995 edition of Cicero?

Anyway, the following example is taken straight from the documentation


This should exclude anything except entries that do have a year and where the year is after 1900. You can fiddle with things like \ifnumgreater or even multiple tests to check keywords and so forth. And of course define a different one for early sources. You then use it with


The other way of doing this would be by using sourcemap to add keywords.

  • That's a nice solution! Thanks. But you're right in that it is unreliable, unfortunately. I guess I will have to go manually through my bib file. Jun 7, 2017 at 19:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .