I am creating a document using biblatex. The document needs multiple separate bibliographies, as provided by the refsegment environment. The same work may be cited in multiple refsegments, but I want the citation to only appear in the first bibliography where it is used and not in latter ones. Citations in subsequent segments should point back to this previous bibliography. Is this possible to do automatically using biblatex?


The segment=<integer> option for \printbibliography limits the bibliography to entries cited only in reference segment <integer>. This filtering is also applied in \bibbysegment.

You can limit printing to newly-cited entries by applying additional filters. This approach was taken in a similar question for numeric styles. Internally biblatex tracks the entries cited in a reference segment using a list of entry keys. So an alternative way is to add only new keys to this list.

The document below gives a demonstration. Note that you need citation tracking enabled for the \ifentryseen test to work.


  {\ifinlistcs{#1}{blx@segm@\the\c@refsection @\the\c@refsegment}
     {\listcsgadd{blx@segm@\the\c@refsection @\the\c@refsegment}{#1}}}
  {\ifboolexpr{ test {\blx@ifentryseen@global{#1}}
     or test {\ifinlistcs{#1}{blx@segm@\the\c@refsection @\the\c@refsegment}} }
     {\listcsgadd{blx@segm@\the\c@refsection @\the\c@refsegment}{#1}}}

  \section*{References for Chapter \ref{refsegment:\therefsegment}}}



enter image description here

  • +1, but you might want to change the subbibliographies headings to "References first cited in Chapter [...]". – lockstep Jun 2 '12 at 18:23
  • Note that, due to changes in the biblatex implementation, the code in this answer stopped working in spring 2016. – maschka Sep 8 '16 at 20:27

Audrey has provided a solution to the first of your requirements. I'm going to offer a different sort of answer: Don't do this.

Assuming one doesn't want to split bibliographies by topic, entry type, and the like, biblatex allows bibliographies for the document as a whole as well as bibliographies by "refsections" or "refsegments". The difference between the latter two is that the labels of refsections are local to the environment while the labels of refsegments are uniqe across the entire document (similar to a consolidated bibliography). But all three bibliography types have in common that an entry cited in a certain document part (entire document/refsection/refsegment) will also be included in the bibliography of the respective part. Your proposed document design deviates from that, and the need for some (but not all) entries cited in a certain part to be looked up in another part's bibliography is, in my opinion, rather detrimental. If your aim is to avoid duplicate bibliography entries at any cost, I suggest a consolidated bibliography for the whole document.

  • Did I misinterpret the second requirement? I figured it was related to hyperlinks in citations. In any case the style isn't very reader-friendly. – Audrey Jun 2 '12 at 22:44
  • @Audrey The entries of chapter 2 that were already cited in chapter 1 are hyperlinked to the bibliography of chapter 1 in your example, but I suspect that the OP also wants an in-text back reference to the former bibliography. – lockstep Jun 2 '12 at 22:48
  • 2
    I agree that this isn't great style, but it's for a single 8 page document (a grant proposal) split into 2 sections where I have a strict page limit for each section which must include references for that section. If I duplicate the references in 2 bibliographies I waste half a page. If I have a single bibliography, I consume the page limit for the second section (which I can't afford to do). – Nick Hawes Jun 3 '12 at 12:24
  • 1
    @hawesie Thanks for pointing out your reasons to choose such a style. My answer was also for other users who don't face similar page limits. – lockstep Jun 3 '12 at 12:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.