biblatex:后记行为

biblatex:后记行为

使用style=authoryearbiblatex可以自动在页码前添加“p.”或“pp.”,这是一个巧妙的功能。我的问题是,如果我在页码后添加进一步的注释,例如“,强调添加”,我将失去此功能(这会导致我的引用彼此不一致)。以下是 MWE:

\documentclass{article}
\usepackage[style=authoryear,natbib=true]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{referencia.bib}
@misc{john-73,
author = {John, S.},
year = {1973},
title = {The best book ever},
}
\end{filecontents}


\addbibresource{referencia.bib}

\begin{document}

``Some quotation'' \citep[43]{john-73}.

``Some quotation'' \citep[see][43]{john-73}.

``Some \emph{quotation}'' \citep[][43, emphasis added]{john-73}.

 \end{document}

这是我的输出:

“一些引用” (John,1973,第 43 页)。

“一些引文” (见 John,1973 年,第 43 页)

“一些引述” (John,1973,43,重点补充)。

符号“p。”在第三个引文中消失了。所以,我的问题是:如何在添加诸如“强调添加”之类的后记时保留“p。”?有没有标准方法可以做到这一点?

答案1

biblatex通常会检测引文的后记参数是单页还是页码范围,并添加相应的前缀。这也适用于罗马数字,但不适用于数字加文本,如您的第三个引文。在这些情况下,您必须手动添加\pno(打印当前语言的单页前缀)或\ppno(打印页码范围前缀)。使用不可中断的空格,您应该将第三个引文写为

``Some \emph{quotation}'' \citep[][\pno~43, emphasis added]{john-73}.

请参阅第 3.14.3 节 (引文中的页码) 的biblatex手动的了解详情。

答案2

biblatex3.13 (2019-08-17) 开始,你可以使用宏\pnfmt代替\pno\ppno。请参阅https://github.com/plk/biblatex/issues/870

\pnfmtbiblatex格式化其参数的方式与格式化完整参数的方式完全相同postnote。因此,如果\pnfmt仅包含页面范围,并且postnote格式添加了页面前缀,您将从中获得页面前缀\pnfmt。在这种情况下\pnfmt,将自动选择页面前缀的正确形式(“p。”/\pno或“pp。”/ ” \ppno),添加所需的空格并规范化范围分隔符。此外,如果您决定修改postnote字段格式,该命令对于统一性很有用。

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

\usepackage[style=authoryear, backend=biber]{biblatex}

%\DeclareFieldFormat{postnote}{\mknormrange{#1}}

\addbibresource{biblatex-examples.bib}

\begin{document}
\autocite[\pnfmt{380-382}, emphasis added]{sigfridsson}

\autocite[\pnfmt{381}, emphasis added]{sigfridsson}
\end{document}

(Sigfridsson 和 Ryde 1998,第 380-382 页,重点补充)//(Sigfridsson 和 Ryde 1998,第 381 页,重点补充)

也可以看看Biblatex citepages=omit 在 postnote 包含文本时不起作用

相关内容