\cite 命令会在可选参数中出现数字时添加“p.”

\cite 命令会在可选参数中出现数字时添加“p.”
\documentclass{article}
\usepackage{filecontents}
\usepackage{hyperref}
\usepackage[hyperref,backend=biber, style=alphabetic]{biblatex}

\begin{filecontents}{jobname.bib}
@book{author_book,
title = {Book's title},
author = {Author, Some},
location = {The City},
publisher = {Publisher},
date = {2022},
}
\end{filecontents}

\addbibresource{jobname.bib}

\begin{document}
    \cite[first state]{author_book}
    \cite[11]{author_book}
    \cite[p. 11]{author_book}
    \cite[1.12]{author_book}
    \cite[prop 1.12]{author_book}

\printbibliography
\end{document}

输出 :

[Aut22,第一个状态] [Aut22,第 11 页] [Aut22,第 11 页] [Aut22,第 1.12 页] [Aut22,prop 1.12]

参考

[Aut22] 某位作者。书名。The City:出版社,2022 年。

当 \cite[...]{} 命令找到一个数字时,它会自动假设它是页码并在输出引文中添加一个“p”。但这是一个定理/命题标签!实际上,当我在文件中使用页面时,我自己添加了一个“p”。

之前使用 biblatex (style = alpha) 运行,但没成功,现在我必须使用 biber。有没有什么办法可以强制文件永远不产生“p.”之类的东西?

答案1

您可以为这项工作添加分页字段,值 none 将抑制 p,请参阅文档中的 2.3.12 分页:

\documentclass{article}

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

\begin{filecontents}{jobname.bib}
@book{author_book,
title = {Book's title},
author = {Author, Some},
location = {The City},
publisher = {Publisher},
date = {2022},
pagination={none}
}
\end{filecontents}

\addbibresource{jobname.bib}

\begin{document}
    \cite[first state]{author_book}
    \cite[11]{author_book}
    \cite[p. 11]{author_book}
    \cite[1.12]{author_book}
    \cite[prop 1.12]{author_book}

\printbibliography
\end{document}

在此处输入图片描述

正如文档中提到的那样,您可以通过在序言中添加以下内容来完全禁用 biblatex 对页码的处理:

\DeclareFieldFormat{postnote}{#1}

相关内容