
Ich möchte wissen, wie man einen Artikel mit Angabe der Gesamtseitenzahl des Artikels zitiert. Ich habe das Feld pagetotal
zur .bib
Datei 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 Pagetotal
statt pagetotal
fehl. Verständlicherweise bookpagination
kann 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 biblatex
von implementierten Standardstile standard.bbx
drucken das pagetotal
Feld nur für buchähnliche Eintragstypen wie @book
, @collection
, @booklet
, @thesis
usw. Natürlich @article
gehört nicht zu diesen Typen, daher wird das hier standardmäßig pagetotal
ignoriert. In Anbetracht der Tatsache, dass Artikel normalerweise mit einem pages
Feld versehen sind, das die erste und letzte Seite der Zeitschrift angibt, in der sie zu finden sind, pagetotal
scheint das Feld tatsächlich überflüssig, da (im Allgemeinen) sein Informationswert durch eine kleine Berechnung des pages
Felds ermittelt werden kann (einige Online-Zeitschriften haben keine Seiten als solche, in diesen Fällen könnte es nützlich sein).
Um den pagetotal
trotz 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 bookpagination
hier 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}
pagetotal
Diese Änderung kann auch für die anderen derzeit fehlenden Eintragstypen vorgenommen werden . Für @inbook
und @incollection
Freunde 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 pages
Feld enthalten sollten.
\renewbibmacro*{chapter+pages}{%
\printfield{chapter}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\setunit{\bibpagespunct}%
\printfield{pagetotal}%
\newunit}