total de páginas para artículos - Biblatex

total de páginas para artículos - Biblatex

Me gustaría saber cómo citar un artículo indicando el número total de páginas del artículo. Agregué el campo pagetotalal .bibarchivo y agregué el siguiente código en mi Preámbulo:

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

Sin embargo, tanto con como sin este código, o sus variantes con Pagetotalen lugar de pagetotaltodos, fallan. Es comprensible que la clave bookpaginationsolo afecte la forma en que se formatea este campo para los libros. Por lo tanto, cualquier indicación en la dirección correcta sería de gran ayuda.

Respuesta1

Los estilos predeterminados biblateximplementados standard.bbxsolo imprimen el pagetotalcampo para tipos de entradas tipo libro como @book, @collection, @booklet, @thesisetc. Naturalmente, @articleno está entre esos tipos, por lo que de forma predeterminada se pagetotalignora allí. Teniendo en cuenta el hecho de que los artículos normalmente vienen con un pagescampo que indica la primera y la última página de la revista en la que se pueden encontrar, el pagetotalcampo parece realmente superfluo, ya que (en general) su valor informativo puede obtenerse mediante un pequeño cálculo en el pagescampo. (Algunas revistas online no tienen páginas como tales, en esos casos puede resultar útil).

Para incluir pagetotalen la salida, a pesar de su redundancia, tenemos que incluir el comando \printfield{pagetotal}%en el controlador para @article. Para hacer esto nos conectamos a la macro note+pagesque solo es utilizada por@article

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

También nos aseguramos de que el campo tenga el formato adecuado (ya que el estándar bookpaginationno ayudará aquí)

\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}

ingrese la descripción de la imagen aquí


pagetotalEsta modificación también se puede realizar para los otros tipos de entrada que actualmente faltan . Para @inbooky @incollectionamigos, la modificación se podría realizar en chapter+pages. Pero aquí esta modificación parece especialmente innecesaria, ya que todas estas entradas deben contener números de página físicos adecuados en su pagescampo.

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

información relacionada