pagetotal para artigos - Biblatex

pagetotal para artigos - Biblatex

Gostaria de saber como citar um artigo indicando o número total de páginas do artigo. Adicionei o campo pagetotalao .bibarquivo e adicionei o seguinte código em meu preâmbulo:

\DeclareFieldFormat{pagetotal}{\mkpagetotal[bookpagination]{#1~pp.}}

No entanto, tanto com como sem este código, ou suas variantes com, Pagetotalem vez de pagetotaltodas, falham. Compreensivelmente, a chave bookpaginationpode afetar apenas a forma como este campo é formatado para livros. Portanto, qualquer indicação na direção certa seria muito útil.

Responder1

Os estilos padrão biblateximplementados standard.bbxapenas imprimem o pagetotalcampo para tipos de entrada semelhantes a livros, como @book, @collection, @booklet, @thesisetc. Naturalmente, @articlenão está entre esses tipos, portanto, por padrão, o pagetotalé ignorado lá. Considerando o fato de que os artigos normalmente vêm com um pagescampo indicando a primeira e a última página do periódico em que podem ser encontrados, o pagetotalcampo parece realmente supérfluo, pois (em geral) seu valor informativo pode ser obtido por um pequeno cálculo no pagescampo (alguns periódicos on-line não possuem páginas propriamente ditas; nesses casos, pode ser útil).

Para incluir o pagetotalna saída - apesar de sua redundância, temos que incluir o comando \printfield{pagetotal}%no driver para @article. Para fazer isso, conectamos a macro note+pagesque é usada apenas por@article

\renewbibmacro*{note+pages}{%
  \printfield{note}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \setunit{\bibpagespunct}% this ...
  \printfield{pagetotal}% ... and this is new
  \newunit}

Também nos certificamos de que o campo esteja formatado corretamente (já que o padrão bookpaginationnão ajudará aqui)

\DeclareFieldFormat[article]{pagetotal}{\mkpagetotal[pagination]{#1}}

MWE

\documentclass{article}  
\usepackage[style=authoryear, backend=biber]{biblatex}
\usepackage{filecontents}
\usepackage{hyperref}
\begin{filecontents*}{\jobname.bib}
@article{BarPalNumEst,
  author    = {Hilary C. Barth and Annie M. Paladino},
  title     = {The development of numerical estimation},
  subtitle  = {Evidence against a representational shift},
  journal   = {Developmental Science},
  volume    = {14},
  number    = {1},
  pages     = {125-135},
  date      = {2011-01},
  doi       = {10.1111/j.1467-7687.2010.00962.x},
  gender    = {pf},
  pagetotal = {11},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\DeclareFieldFormat[article]{pagetotal}{\mkpagetotal[pagination]{#1}}
\renewbibmacro*{note+pages}{%
  \printfield{note}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \setunit{\bibpagespunct}%
  \printfield{pagetotal}%
  \newunit}

\begin{document}
  \nocite{*}
  \printbibliography
\end{document}

insira a descrição da imagem aqui


pagetotalEsta modificação também pode ser feita para os outros tipos de entrada atualmente ausentes . Para @inbook, @incollectione amigos, a modificação poderia ser feita em chapter+pages. Mas aqui esta modificação parece especialmente desnecessária, uma vez que todas essas entradas devem conter números de página físicos adequados em seus pagescampos.

\renewbibmacro*{chapter+pages}{%
  \printfield{chapter}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \setunit{\bibpagespunct}%
  \printfield{pagetotal}%
  \newunit}

informação relacionada