
Me gustaría saber cómo citar un artículo indicando el número total de páginas del artículo. Agregué el campo pagetotal
al .bib
archivo 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 Pagetotal
en lugar de pagetotal
todos, fallan. Es comprensible que la clave bookpagination
solo 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 biblatex
implementados standard.bbx
solo imprimen el pagetotal
campo para tipos de entradas tipo libro como @book
, @collection
, @booklet
, @thesis
etc. Naturalmente, @article
no está entre esos tipos, por lo que de forma predeterminada se pagetotal
ignora allí. Teniendo en cuenta el hecho de que los artículos normalmente vienen con un pages
campo que indica la primera y la última página de la revista en la que se pueden encontrar, el pagetotal
campo parece realmente superfluo, ya que (en general) su valor informativo puede obtenerse mediante un pequeño cálculo en el pages
campo. (Algunas revistas online no tienen páginas como tales, en esos casos puede resultar útil).
Para incluir pagetotal
en 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+pages
que 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 bookpagination
no 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}
pagetotal
Esta modificación también se puede realizar para los otros tipos de entrada que actualmente faltan . Para @inbook
y @incollection
amigos, 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 pages
campo.
\renewbibmacro*{chapter+pages}{%
\printfield{chapter}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\setunit{\bibpagespunct}%
\printfield{pagetotal}%
\newunit}