기사 전체 페이지 - Biblatex

기사 전체 페이지 - Biblatex

기사의 총 페이지 수를 표시하는 기사 인용 방법을 알고 싶습니다. 파일 pagetotal에 필드를 추가 .bib하고 서문에 다음 코드를 추가했습니다.

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

그러나 이 코드가 있거나 없거나 모두 실패 Pagetotal합니다 pagetotal. 당연히 키는 bookpagination이 필드가 책에 대해 형식화되는 방식에만 영향을 미칠 수 있습니다. 따라서 올바른 방향을 가리키는 포인터는 매우 도움이 될 것입니다.

답변1

기본 스타일은 , , 등과 같은 책과 같은 항목 유형에 대한 필드 만 인쇄 biblatex하여 구현됩니다. 당연히 은 이러한 유형에 포함되지 않으므로 기본적으로 은 무시됩니다. 기사가 일반적으로 해당 기사 를 찾을 수 있는 저널의 첫 번째 페이지와 마지막 페이지를 나타내는 필드 와 함께 제공된다는 사실을 고려하면 (일반적으로) 해당 필드 에서 작은 계산을 통해 정보 가치를 얻을 수 있기 때문에 이 필드는 실제로 불필요해 보입니다. (일부 온라인 저널에는 해당 페이지가 없으므로 이러한 경우 유용할 수 있습니다).standard.bbxpagetotal@book@collection@booklet@thesis@articlepagetotalpagespagetotalpages

출력에 을 포함하려면 중복성에도 불구하고 의 드라이버에 pagetotal명령을 포함해야 합니다 . 이를 위해 우리는 다음에서만 사용되는 매크로에 연결합니다.\printfield{pagetotal}%@articlenote+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}}

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. @inbook및 친구 의 경우 @incollection을(를) 수정하면 됩니다 chapter+pages. 그러나 여기서 이러한 수정은 특히 불필요해 보입니다. 왜냐하면 이러한 항목은 모두 해당 pages필드에 적절한 실제 페이지 번호를 포함해야 하기 때문입니다.

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

관련 정보