
記事の総ページ数を示す記事の引用方法を知りたいです。ファイルpagetotal
にフィールドを追加し.bib
、プリアンブルに次のコードを追加しました。
\DeclareFieldFormat{pagetotal}{\mkpagetotal[bookpagination]{#1~pp.}}
ただし、このコードの有無にかかわらず、またはPagetotal
の代わりに を使用したバリエーションはすべてpagetotal
失敗します。当然ながら、キーは、bookpagination
このフィールドが書籍用にフォーマットされる方法にのみ影響する可能性があります。そのため、正しい方向を指し示すものがあれば、非常に役立ちます。
答え1
biblatex
によって実装されるデフォルトのスタイルは、、、などの書籍のようなエントリ タイプのフィールドstandard.bbx
のみを印刷します。当然、はこれらのタイプには含まれていないため、デフォルトでは は無視されます。記事には通常、その記事が掲載されているジャーナルの最初と最後のページを示すフィールドが付属しているという事実を考慮すると、このフィールドは確かに不要であると思われます。これは、(一般に)その情報値は、このフィールドに対する小さな計算によって取得できるためです(一部のオンライン ジャーナルにはページがないため、そのような場合には役立つ場合があります)。pagetotal
@book
@collection
@booklet
@thesis
@article
pagetotal
pages
pagetotal
pages
を出力に含めるには、冗長性にもかかわらず、のドライバーにpagetotal
コマンドを含める必要があります。これを行うには、 によってのみ使用されるマクロにフックします。\printfield{pagetotal}%
@article
note+pages
@article
\renewbibmacro*{note+pages}{%
\printfield{note}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\setunit{\bibpagespunct}% this ...
\printfield{pagetotal}% ... and this is new
\newunit}
また、フィールドが適切にフォーマットされていることを確認します(標準ではbookpagination
役に立たないため)
\DeclareFieldFormat[article]{pagetotal}{\mkpagetotal[pagination]{#1}}
ムウェ
\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
。@inbook
、@incollection
および類似のものについては、 に対して変更を行うことができます。ただし、これらのエントリはすべて、フィールドchapter+pages
に適切な物理ページ番号を含む必要があるため、ここではこの変更は特に不要と思われます。pages
\renewbibmacro*{chapter+pages}{%
\printfield{chapter}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\setunit{\bibpagespunct}%
\printfield{pagetotal}%
\newunit}