
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).
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 biblatex
tem sua própria versão, \mkbibdesc
você só precisa mudar \newrobustcmd
para \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}
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.