# Biblatex descending order of references but multiple lists starting from highest listcount

I want to do a CV (I use moderncv) and print several bibliographies at the end. All of them should be in decreasing order (sorted by year) but with new starting point. What I know is the solution here: Multibib reverse label or sort order however this enforces leading letters which I do not want.

My MWE (hopefully) is here:

\documentclass{moderncv}

\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[sorting=ydnt, maxbibnames=99, isbn=false, doi=false, firstinits, terseinits, defernumbers, backend=biber]{biblatex}

\AtDataInput{%
\csnumgdef{entrycount:\therefsection}{%
\csuse{entrycount:\therefsection}+1}}

\DeclareFieldFormat{labelnumber}{\mkbibdesc{#1}}
\newrobustcmd*{\mkbibdesc}[1]{%
\number\numexpr\csuse{entrycount:\therefsection}+1-#1\relax}

\bibliography{test}

\usepackage{filecontents}
\begin{filecontents}{test.bib}
@article{citation01,
Author = {Doe, John and Roe, Jane},
Journal = {Fancy Journal},
Pages = {123--145},
Title = {Lorem ipsum dolor sit amet, consectetur adipiscing elit},
Volume = {2},
Year = {2012}}
@article{citation02,
Author = {Doe, John and Roe, Jane},
Journal = {Fancy Journal},
Pages = {12--34},
Title = {Lorem ipsum dolor sit amet, consectetur adipiscing elit.},
Volume = {1},
Year = {2014}}
@book{citation03,
Author = {Doe, John and Roe, Jane},
Title = {Lorem ipsum dolor sit amet, consectetur adipiscing elit.},
publisher = {Company},
location = {Somewhere},
Year = {2013}}
\end{filecontents}

\name{John}{Doe}
\title{CV}
\email{john@doe.com}

\begin{document}
\makecvtitle

\section{Education}

\nocite{*}

\printbibliography[type=article, title={Papers}]
\printbibliography[type=book, title={Books}]

\end{document}


What I get is something like

[3] Doe
[2] Doe

[1] Doe


What I want is

[2] Doe
[1] Doe

[1] Doe


We can simply start counting each entry type separately with

\AtDataInput{%
\csnumgdef{entrycount:\therefsection:\thefield{entrytype}}{%
\csuse{entrycount:\therefsection:\thefield{entrytype}}+1}}

\DeclareFieldFormat{labelnumber}{\mkbibdesc{#1}}
\newrobustcmd*{\mkbibdesc}[1]{%
\number\numexpr\csuse{entrycount:\therefsection:\thefield{entrytype}}+1-#1\relax}


Then we only need a resetnumbers for the bibliographies and we are good to go.

MWE

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[sorting=ydnt, maxbibnames=99, isbn=false, doi=false, firstinits, terseinits, defernumbers, backend=biber]{biblatex}

\AtDataInput{%
\csnumgdef{entrycount:\therefsection:\thefield{entrytype}}{%
\csuse{entrycount:\therefsection:\thefield{entrytype}}+1}}

\DeclareFieldFormat{labelnumber}{\mkbibdesc{#1}}
\newrobustcmd*{\mkbibdesc}[1]{%
\number\numexpr\csuse{entrycount:\therefsection:\thefield{entrytype}}+1-#1\relax}

\begin{document}
\nocite{sigfridsson,wilde,worman,geer,baez/article}
\printbibliography[type=article, title={Papers},resetnumbers]
\printbibliography[type=book, title={Books},resetnumbers]
\printbibliography[type=thesis, title={Theses},resetnumbers]
\end{document}


Since this seems to be required for the purpose of a CV (and you probably don't actually need to \cite the entries) we can also use the nicely-named etaremune package without additional counting of the entries

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[sorting=ydnt, maxbibnames=99, isbn=false, doi=false, firstinits, terseinits, defernumbers, backend=biber]{biblatex}
\usepackage{etaremune}

\defbibenvironment{bibliography}
{\renewcommand\labelenumi{[\theenumi]}
\etaremune}
{\endetaremune}
{\item}

\begin{document}
\nocite{sigfridsson,wilde,worman,geer,baez/article}