Seitenzahl für Artikel – Biblatex

Seitenzahl für Artikel – Biblatex

Ich möchte wissen, wie man einen Artikel mit Angabe der Gesamtseitenzahl des Artikels zitiert. Ich habe das Feld pagetotalzur .bibDatei hinzugefügt und den folgenden Code in meine Präambel eingefügt:

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

Allerdings schlagen sowohl mit als auch ohne diesen Code oder seine Varianten mit Pagetotalstatt pagetotalfehl. Verständlicherweise bookpaginationkann der Schlüssel nur die Art und Weise beeinflussen, wie dieses Feld für Bücher formatiert wird. Daher wäre jeder Hinweis in die richtige Richtung sehr hilfreich.

Antwort1

Die biblatexvon implementierten Standardstile standard.bbxdrucken das pagetotalFeld nur für buchähnliche Eintragstypen wie @book, @collection, @booklet, @thesisusw. Natürlich @articlegehört nicht zu diesen Typen, daher wird das hier standardmäßig pagetotalignoriert. In Anbetracht der Tatsache, dass Artikel normalerweise mit einem pagesFeld versehen sind, das die erste und letzte Seite der Zeitschrift angibt, in der sie zu finden sind, pagetotalscheint das Feld tatsächlich überflüssig, da (im Allgemeinen) sein Informationswert durch eine kleine Berechnung des pagesFelds ermittelt werden kann (einige Online-Zeitschriften haben keine Seiten als solche, in diesen Fällen könnte es nützlich sein).

Um den pagetotaltrotz seiner Redundanz in die Ausgabe aufzunehmen, müssen wir den Befehl \printfield{pagetotal}%in den Treiber für aufnehmen @article. Dazu haken wir uns in das Makro ein note+pages, das nur von verwendet wird@article

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

Wir stellen auch sicher, dass das Feld richtig formatiert ist (da der Standard bookpaginationhier nicht weiterhilft)

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

Bildbeschreibung hier eingeben


pagetotalDiese Änderung kann auch für die anderen derzeit fehlenden Eintragstypen vorgenommen werden . Für @inbookund @incollectionFreunde könnte die Änderung auf vorgenommen werden chapter+pages. Aber hier scheint diese Änderung besonders unnötig, da diese Einträge alle korrekte physische Seitenzahlen in ihrem pagesFeld enthalten sollten.

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

verwandte Informationen