使用 biblatex windycity 样式的附注和合集引文向期刊引文添加页码

使用 biblatex windycity 样式的附注和合集引文向期刊引文添加页码

在 biblatex 的 windycity 样式中,如果有后记,期刊文章的第一次引用中不会显示页码,合集中的章节也不会显示页码。如何确保页码始终显示在文章和章节的完整引用中?

妇女权利委员会:

\documentclass{article}
\usepackage[style=windycity, sorting=nyt]{biblatex}
\bibliography{biblatex-examples}
\begin{document}
    \cite{shore}
    
    \cite[2]{glashow}
    
    \cite{westfahl:space}
\end{document} 

现在生产:

布拉德·肖尔,《两次出生,一次受孕:意义建构和文化认知》,《美国人类学家》,新系列,93,第 1 期(1991 年 3 月):9-27。

Sheldon Glashow,《弱相互作用的部分对称性》,《核物理》22(1961):2。

加里·韦斯特法尔 (Gary Westfahl),《真正的边疆:美国科幻电影中太空现实的面对与回避》,摘自《太空及其他空间及其他空间:科幻电影中的边疆主题》,加里·韦斯特法尔主编(康涅狄格州韦斯特波特,格林伍德出版社,2000 年)。

但我希望它产生:

布拉德·肖尔,《两次出生,一次受孕:意义建构和文化认知》,《美国人类学家》,新系列,93,第 1 期(1991 年 3 月):9-27。

Sheldon Glashow,《弱相互作用的部分对称性》核物理学22 (1961): 579-588, 2.

加里·韦斯特法尔 (Gary Westfahl),《真正的边疆:美国科幻电影中太空现实的面对与回避》,《太空与超越:科幻小说中的边疆主题》,加里·韦斯特法尔编辑,第 55-65 页(康涅狄格州韦斯特波特,格林伍德出版社,2000 年)。

(incollection 引用有点奇怪,因为 windycity 使用与标准 biblatex 样式不同的字段,但我想使用 biblatex-examples 作为 bib 文件以便于使用)

答案1

您必须通过和中的 bibmacros 和参考书目驱动程序来追踪pages和字段。postnotewindycity.cbxwindycity.bbx

\documentclass{article}
\usepackage[style=windycity, sorting=nyt]{biblatex}

\DeclareBibliographyDriver{cite:article}{%
  \usebibmacro{author+title+etc}%
  \usebibmacro{articles}%
  \usebibmacro{colon+pages+etc}}%

\renewbibmacro*{cite:pages}{}

\renewbibmacro*{pages}{%
  \iffieldundef{pages}
    {}
    {\setunit{\addcomma\space}%
     \printfield{pages}%
     \clearfield{pages}%
     \togglefalse{edshift}}}

\renewbibmacro*{postnote}{%
  \iffieldundef{postnote}
    {}
    {\setunit{\postnotedelim}%
     \printtext[bibhyperref]{\printfield{postnote}}}}

\addbibresource{biblatex-examples.bib}
\begin{document}
  \cite{shore}

  \cite[2]{glashow}

  \cite{westfahl:space}

  \printbibliography
\end{document}

Bradd Shore,《两次诞生,一次受孕:意义建构与文化认知》,《美国人类学家》,新系列,93,第 1 期(1991 年 3 月):9-27。//Sheldon Glashow,《弱相互作用的部分对称性》,《核物理》22(1961):579-588,2。//Gary Westfahl,《真正的边疆:面对和避免美国科幻电影中的太空现实》,《太空和超越太空和超越:科幻小说中的边疆主题》,Gary Westfahl 主编,55-65(康涅狄格州韦斯特波特,格林伍德,2000 年)。

相关内容