[Tex/LaTex] Mixing bibliographic styles in Biblatex


Biblatex allows multiple bibliographies to be printed. How do I make one bilbiography use author-year style while make another use a numerical style? I've heard that this is bad typography but I want to do it to distinguish between actual references to literature (author-year) and image credits (which I hope to do numerically).

I've read through the Biblatex documentation and it doesn't seem to help.

Best Answer

After much searching on Tex.StackExchange, I put together a hack that produced this:

enter image description here

I hope my code will be of use to others who want to do something similar.


\usepackage[backend=biber, %I think this should work for BibTex too, but I'm not sure.
  style=authoryear, %Set author-year as the default style; later hacks will produce a fake numeric style.
  defernumbers %Works together with resetnumbers so that the numbering of numeric entries is independent of the author-year citations.

%Copied from numeric.cbx to imitate numerical citations.
\newbibmacro*{citenum}{%Note: the original macro was called "cite". I did not redefine "cite", but instead defined a new macro "citenum", because the author-year citations use the "cite" macro too. "\renewbibmacro*{cite}" would have caused all the author-year citations to become numeric too.
  \printtext[bibhyperref]{%If you ever want to use hyperref

%Copied from numeric.cbx to define a new numeric citation command for @online entries.
   \usebibmacro{citenum}}%Note: this was originally "cite" but I changed it to "citenum" to avoid clashes with the author-year style.

Cite books, \parencite{Book} \parencite{Book2}

Cite online stuff, \conline{Online} \conline{Online2}

%Print the normal author-year bibliography

%Redefine the bibliography environment to imitate the numeric citation style

The file Bibliography.bib contains:

  author    = {Author},
  title     = {Title},
  publisher = {Publisher},
  year      = {2014},

  author    = {Author2},
  title     = {Title2},
  publisher = {Publisher2},
  year      = {2015},

  author = {Author},
  title = {Title},
  titleaddon = {titleaddon},
  subtitle = {subtitle},
  url= {http://tex.stackexchange.com/},

  author = {Author2},
  title = {Title2},
  titleaddon = {titleaddon2},
  subtitle = {subtitle2},
  url= {http://tex.stackexchange2.com/},