防止 BibLaTex 抑制分页前缀

防止 BibLaTex 抑制分页前缀

我引用了一本既有章节编号又有段落编号的手册。有时,我想引用整个章节,有时我也想引用一个段落。例如,我可能会键入\cite[1.2.3 \P 4]{entry}以引用第 1.2.3 节第 4 段。我的预期输出是 [1, § 1.2.3 ¶ 4],但是每当我指定段落编号时,章节符号就会被隐藏。我怀疑原因是 BibLaTeX 试图确定引用是单数还是范围,但无法理解它。

我的 .bib 文件可能如下所示:

@manual{entry,
    pagination = "section",
    title = "Foo Bar",
    url = "http://www.example.com"
}

答案1

这和你猜测的差不多。因为页面前缀功能biblatex确定你提供的后记参数是单个数字(\ifnumeral)还是数字范围或列表(\ifnumerals),以便能够给出正确的前缀“p。”或“pp。”但是

1.2.3 \P 4

都不是,因为\P不被识别为数字的一部分。

你可以欺骗自己biblatex认为\P是数字的可接受部分

\NumCheckSetup{\def\P{}}

然后

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

\usepackage[style=numeric, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

\NumCheckSetup{\def\P{}}

\begin{document}
\cite[1.2.3]{sigfridsson}

\cite[1.2.3 \P4]{sigfridsson}

\cite[1.2.3-1.2.4]{sigfridsson}

\cite[1.2.3 \P4-1.2.3 \P5]{sigfridsson}

\printbibliography
\end{document}

给出

[1,第 1.2.3 页]/[1,第 1.2.3 页 ¶4]//[1,第 1.2.3–1.2.4 页]//[1,第 1.2.3 页 ¶4–1.2.3 ¶5]

如果这只是一次性的,您可以使用\pno/手动添加页面前缀\ppno

\cite[\pno1.2.3 \P 4]{sigfridsson}

相关内容