0

I use biblatex package for the bibliography list in my thesis, where entries which have many authors provide only the name of the first author. The citations of the references use numbers, and the list of the references is ordered according to the location of the first citation of the reference in the thesis.

Now, I need to make a different list of publications with different and unique numbering, so that when I cite something in the thesis it should be obvious from the citation indicator itself if the citation belongs to the references list or to the publications list. And another thing: in the publications list, all the authors should appear regardless to the number of the article authors.

I'm not an expert Latex user, and have no idea how to do it, and couldn't figure out the answer to my problem from the questions regarding multiple bibliography lists.

Can someone help me please?

  • 1
    Welcome to TeX.SE. It would be helpful if you composed a fully compilable minimal working example with bibliography (MWEB) including \documentclass and the appropriate packages that sets up the problem. While solving problems can be fun, setting them up is not. Then, those trying to help can simply cut and paste your MWE and get started on solving the problem. – user36296 Mar 26 at 15:31
  • Please also specify how the citations from the list of publications should look like, just saying "different" is a bit vague... – user36296 Mar 26 at 15:33
  • 1
    It would make it a lot easier for people to offer useful help quickly if you could fill in a few details about the desired outcome. How should biblatex tell which citation goes into the normal bibliography and which goes into the list of publications? Do you want to use keywords, a different file, bibliography categories? How exactly should the two lists differ? Only in the number of authors displayed? Do you have a preference for the different numbering? Would Roman numerals word or a prefix: [P1], [P2], ..., or ...? – moewe Mar 26 at 15:42
  • @moewe I think to have a file of litrature references and a different file of my publications. Your idea about a prefix P for the list of my publiations is wonderful, and I suppose it would be reasonable to order the publications list according to date of publication while the references from the litrature will be ordered according to the location of the cite in the thesis. – user4861528 Mar 26 at 15:59
2

Let's assume the following set-up. You have two separate .bib files.

  1. biblatex-examples.bib contains normal entries you want to cite in the normal bibliography.
  2. \jobname.bib contains the entries that should end up in the list of publications.

We will further assume that no entries in \jobname.bib already have a keywords field.

In a first step we use a Biber sourcemap to add the keyword lop to all entries in \jobname.bib. This keyword is later used to filter the different bibliographies. You don't have to use different .bib files, you could also add the keyword manually and directly in a single .bib file for all entries. One could also imagine other (more automatic) ways to separate the entries.

The bibliographies can then be filtered using keyword and notkeyword. To realise the different sortings and the label prefix "P" for the list of publications we use so-called refcontexts.

The maximum number of names can be manipulated by setting two counters. We pack that up in a handy macro.

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=numeric, sorting=none, defernumbers=true, locallabelwidth, backend=biber]{biblatex}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\DeclareSourcemap{
  \maps[datatype=bibtex, overwrite]{
    \map{
      \perdatasource{\jobname.bib}
      \step[fieldset=keywords, fieldvalue=lop]
    }
  }
}

\makeatletter
\newcommand*{\setmaxbibnames}[1]{%
  \c@maxnames#1\relax
  \numdef\blx@maxbibnames{#1}%
}
\makeatother

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
  author  = {Humphrey Appleby},
  title   = {On the Importance of the Civil Service},
  date    = {1980},
}
@book{elk,
  author  = {Anne Elk and Annie Hacker and James Hacker and Humphrey Appleby and Bernard Woolley},
  title   = {A Theory on Brontosauruses},
  date    = {1972},
}
\end{filecontents}


\begin{document}
Lorem \autocite{appleby}
ipsum \autocite{sigfridsson}
dolor \autocite{elk}
ipsum \autocite{nussbaum}
ipsum \autocite{aksin}

\printbibliography[notkeyword=lop]
\newrefcontext[labelprefix=P, sorting=ynt]
\AtNextBibliography{\setmaxbibnames{999}}
\printbibliography[title=List of Publications, keyword=lop]
\end{document}

Split citations and bibliography

  • Thanks for your help!! I'm trying now to implement your solution. Just wanted to ask: my previous option for the biblatex package was 'backend=bibtex'. In what way will the change to 'backend=biber' afect the appearance of the bibliography from what I used before? – user4861528 Mar 26 at 17:19
  • @user4861528 The output should not change significantly, but Biber is required for this solution to work (because of the source map and the different refcontexts). So you must switch from backend=bibtex to backend=biber and run Biber instead of BibTeX. See tex.stackexchange.com/q/154751/35864 – moewe Mar 26 at 17:26
  • Another question: I use in my thesis the command \cite every time I want to add a reference indicator. Should I change all these \cite commands to \autocite ? – user4861528 Mar 26 at 17:32
  • Indeed I had to change \cite to \autocite and then your solution worked perfectly. Thank you very much !!! – user4861528 Mar 26 at 18:54
  • @user4861528 I personally prefer \autocite, though I'm not always consistent with that and may on occasions use \cite because it is shorter. In this setting \cite and \autocite should yield mostly similar results. – moewe Mar 26 at 20:23

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.