Numeração inversa com lista de publicação

Numeração inversa com lista de publicação

Estou usando a extensão BibLaTex chamada "publist" para publicar uma lista numerada de minhas publicações. Numera os itens em ordem crescente (veja a figura abaixo).

DPF

E se eu quiser que eles sejam numerados na ordem inversa? Portanto, começando pelo número [4] atribuído ao Smith 2020, até [1] atribuído ao Smith 2017.

Isso mostraria imediatamente o número total de meus artigos até os dias atuais.

Essa opção não está descrita na documentação do pacote. No entanto, pergunto-me se isso poderia ser feito facilmente alterando o código-fonte dolista de publicaçãopacote.

EDITAR Conforme solicitado, adicionei o código-fonte dos meus arquivos TeX.

\documentclass[11pt]{article}


\usepackage[bibstyle=publist,marginyear=true]{biblatex} 
\omitname[John][]{Smith}
\plauthorname[John][]{Smyth}
\addbibresource{publist.bib} 


\begin{document}
\title{List of publications} 
\author{John Smith}
\date{\today}
\maketitle

\nocite{*} 
\printbibliography[heading=none]
\end{document}  

arquivo publist.bib:

@phdthesis{Smith:2017,
    Author = {John Smith},
    Publisher = {TheGruiter},
    School = {Hogwarts school of magic},
    Title = {Investigation on interesting topics},
    Year = {2017}}

@book{Smith:2019b,
    Address = {Blondon},
    Author = {John Smith},
    Pages = {23--45},
    Publisher = {TheGruiter},
    Title = {Funny book},
    Year = {2019}}

@article{Smith:2019a,
    Author = {John Smith},
    Journal = {Journal of interesting papers},
    Number = {1},
    Pages = {23--45},
    Title = {More or less interesting paper},
    Volume = {18},
    Year = {2019}}

@article{Smith:2020,
    Author = {John Smith},
    Journal = {Journal of interesting papers},
    Number = {3},
    Pages = {23--45},
    Title = {Very interesting new paper},
    Volume = {19},
    Year = {2020}}

Responder1

Para a maioria das intenções e propósitos, o código debiblatex: Numeração reversa (ou seja, contagem regressiva)deve funcionar aqui também.

Como biblatextem sua própria versão, \mkbibdescvocê só precisa mudar \newrobustcmdpara \renewrobustcmd.

Observe que este código provavelmente não funcionará como desejado se você fizer uso intenso de filtros e múltiplas bibliografias (veja também as advertências mencionadas na resposta abiblatex: Numeração reversa (ou seja, contagem regressiva)).

\documentclass[11pt]{article}


\usepackage[bibstyle=publist,marginyear=true]{biblatex} 
\omitname[John][]{Smith}
\plauthorname[John][]{Smyth}

% Count total number of entries in each refsection
\AtDataInput{%
  \csnumgdef{entrycount:\therefsection}{%
    \csuse{entrycount:\therefsection}+1}}

% Print the labelnumber as the total number of entries in the
% current refsection, minus the actual labelnumber, plus one
\DeclareFieldFormat{labelnumber}{\mkbibdesc{#1}}    
\renewrobustcmd*{\mkbibdesc}[1]{%
  \number\numexpr\csuse{entrycount:\therefsection}+1-#1\relax}


\begin{filecontents}{\jobname.bib}
@phdthesis{Smith:2017,
    Author = {John Smith},
    Publisher = {TheGruiter},
    School = {Hogwarts school of magic},
    Title = {Investigation on interesting topics},
    Year = {2017}}

@book{Smith:2019b,
    Address = {Blondon},
    Author = {John Smith},
    Pages = {23--45},
    Publisher = {TheGruiter},
    Title = {Funny book},
    Year = {2019}}

@article{Smith:2019a,
    Author = {John Smith},
    Journal = {Journal of interesting papers},
    Number = {1},
    Pages = {23--45},
    Title = {More or less interesting paper},
    Volume = {18},
    Year = {2019}}

@article{Smith:2020,
    Author = {John Smith},
    Journal = {Journal of interesting papers},
    Number = {3},
    Pages = {23--45},
    Title = {Very interesting new paper},
    Volume = {19},
    Year = {2020}}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
\title{List of publications} 
\author{John Smith}
\date{\today}
\maketitle

\nocite{*} 
\printbibliography[heading=none]
\end{document}

Bibliografia em contagem regressiva.

Como esse parece ser um recurso popular para listas de publicações, você pode sugerir isso ao desenvolvedor diretamente emhttps://github.com/jspitz/biblatex-publist/issues.

informação relacionada