如何调整 biblatex-chicago 以在第一次引用时包含完整的页面范围,即使引用的是特定页面

如何调整 biblatex-chicago 以在第一次引用时包含完整的页面范围,即使引用的是特定页面

默认情况下,biblatex-chicago(在作者-标题模式下)第一次引用@articles 和@incollections 时会使用完整的页面范围,除非 cite 命令包含特定的页面引用,在这种情况下只会打印后者。

我如何调整样式以使首次引用打印整个页面范围,然后在适用时使用逗号 + “at” + 所引用的特定页面?(当首次引用没有页面引用时,输出将相同。)

梅威瑟:

\documentclass{article}

\usepackage[notes]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}

\begin{document}

\cite[162]{hyman}.

\cite[220--222]{doody}.

\cite[163]{hyman}.
\cite[223]{doody}.

\end{document}

默认输出:

Arthur Hyman,《亚里士多德的智力理论及其由阿威罗伊的诠释》,亚里士多德研究Dominic J. O'Meara 编,《哲学和哲学史研究》9(华盛顿特区:美国天主教大学出版社,1981 年),162。

特伦斯·杜迪,《海明威的风格和杰克的叙述》叙事技巧杂志4,第3期(1974):220-222。

Hyman,“亚里士多德的智力理论”,163。Doody,“海明威的风格和杰克的叙述”,223。

所需输出(添加粗体以标记差异):

Arthur Hyman,《亚里士多德的智力理论及其由阿威罗伊的诠释》,亚里士多德研究Dominic J. O'Meara 主编,《哲学和哲学史研究》9(华盛顿特区:美国天主教大学出版社,1981 年),161–191, 162.

特伦斯·杜迪,《海明威的风格和杰克的叙述》叙事技巧杂志4,第3期(1974年):212–225,220–222。

Hyman,“亚里士多德的智力理论”,163。Doody,“海明威的风格和杰克的叙述”,223。

答案1

标准verbose样式有一个名为“ citepagesthis”的选项。biblatex-chicago似乎没有类似的选项。

类似下面的东西似乎有效,但一如既往,修改高度定制的风格是很棘手的biblatex-chicago

\documentclass{article}

\usepackage[notes]{biblatex-chicago}

\DefineBibliographyStrings{english}{
  thiscite = {at},
}

\newtoggle{cbxchic:hadpages}

\renewbibmacro*{fullpostnote}{%
  \global\toggletrue{cbxchic:hadpages}%
  \iffieldundef{chapter}%
   {\iffieldundef{pages}%
      {\global\togglefalse{cbxchic:hadpages}}%
      {\postnotedelim%
        \printfield{pages}}}%
   {\postnotedelim%
    \printfield{chapter}}%
  \ifboolexpr{
      test {\ifnumequal{\value{citecount}}{\value{citetotal}}}
      and
      test {\iffieldpages{postnote}}
      and
      togl {cbxchic:hadpages}
    }
    {\setunit{\addcomma\space}%
     \bibstring{thiscite}%
     \setunit{\addspace}}
    {}%
  \usebibmacro{semel:postnote}}

\renewbibmacro*{eid+fullpostnote}{%
  \global\toggletrue{cbxchic:hadpages}%
  \iffieldundef{chapter}%
    {\iffieldundef{pages}%
      {\iffieldundef{eid}%
        {\global\togglefalse{cbxchic:hadpages}}%
        {\postnotedelim%
          \printfield{eid}%
          \clearfield{eid}}}%
      {\postnotedelim%
        \printfield{pages}}}%
    {\postnotedelim%
      \printfield{chapter}}%
  \ifboolexpr{
      test {\ifnumequal{\value{citecount}}{\value{citetotal}}}
      and
      test {\iffieldpages{postnote}}
      and
      togl {cbxchic:hadpages}
    }
    {\setunit{\addcomma\space}%
     \bibstring{thiscite}%
     \setunit{\addspace}}
    {}%
  \usebibmacro{semel:postnote}}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite[162]{hyman}.

\cite[220--222]{doody}.

\cite[163]{hyman}.
\cite[223]{doody}.

\end{document}

Arthur Hyman,《亚里士多德的理智理论及其由阿威罗伊所作的解读》,《亚里士多德研究》,Dominic J. O'Meara 主编,《哲学和哲学史研究》第 9 卷(华盛顿特区:美国天主教大学出版社,1981 年),第 161–191 页,第 162 页。

相关内容