Biblatex-chicago 中的书籍分页

Biblatex-chicago 中的书籍分页

在 biblatex 下,如果 @incollection 条目没有 bookpagination 字段,则会将其理解为具有默认值“pages”,并且在必要时,页面范围前面会加上或者。然而,在 biblatex-chicago 中,情况不再如此:

这是一个标准的 biblatex 字段,它允许您自动将适当的字符串 bookpagination 添加到您在 pages 字段中提供的信息的前缀。如果您将其留空,则默认不打印任何标识字符串(相当于将其设置为 none),因为这是手册推荐的几乎所有页码的做法。

(摘自 biblatex-chicago 手册,第 24 页http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf

是否可以改变这一点,以便默认行为再次输入“p.”或“pp.”(即默认为“pages”而不是“none”)?我当然可以浏览我的(现在很长的)bib 文件并添加一个明确的行

bookpagination = "pages",

到每个 @incollection 项,但这样效率太低。有没有办法全局执行此操作?

答案1

如果没有指定,则标准biblatex默认为。避免这种情况,并通过向字段格式添加测试来本质上恢复为。我们可以删除此测试并返回标准行为。bookpagination = {pages},bookpaginationbiblatex-chicagobookpagination = {none},

MWE 保留了sbiblatex-chicago的格式@article,但是您也可以通过简单地删除块来获得“p。”/“pp。” \DeclareFieldFormat[article,periodical]{pages}

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[notes, backend=biber]{biblatex-chicago}

\addbibresource{biblatex-examples.bib}

\DeclareFieldFormat{pages}{%
  \iftoggle{cms@comprange}%
    {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}%
    {\mkpageprefix[bookpagination]{#1}}}

\DeclareFieldFormat[article,periodical]{pages}{%
  \iftoggle{cms@comprange}%
    {\iffieldundef{bookpagination}%
       {\mkcomprange{#1}\isdot}%
       {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}%
    {\iffieldundef{bookpagination}%
       {#1\isdot}%
       {\mkpageprefix[bookpagination]{#1}}}}%

\begin{document}
\cite{sigfridsson,westfahl:space,gaonkar:in}
\printbibliography
\end{document}

Gaonkar, Dilip Parameshwar。“论另类现代性。”《另类现代性》,Dilip Parameshwar Gaonkar 编辑,第 1-23 页。达勒姆和伦敦:杜克大学出版社,2001 年。isbn:0-822-32714-7。//Sigfridsson, Emma 和 Ulf Ryde。“从静电势和力矩推导原子电荷的方法比较。”《计算化学杂志》19,第 4 期 (1998):377-395。doi:10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P。//Westfahl, Gary。“真正的前沿:面对和避免美国科幻电影中的太空现实。” 《太空和更远的地方:科幻小说中的边疆主题》,加里·韦斯特法尔 (Gary Westfahl) 编辑,第 55-65 页。康涅狄格州韦斯特波特和伦敦:Greenwood,2000 年。


如果你有兴趣在引用中获取页面前缀,你可能想要添加

\DeclareFieldFormat{postnote}{%
  \iftoggle{cms@comprange}%
    {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}%
    {\mkpageprefix[pagination]{#1}}}%

相关内容