在 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
和字段。postnote
windycity.cbx
windycity.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}