如何引用参考书目中的段落而不是页面?

如何引用参考书目中的段落而不是页面?

使用 引用参考文献时biblatex,可以添加可选参数来cite指定引用的页码,例如

\cite[20]{foo}

这将产生类似“[Foo, p. 20]”的内容。

我的问题是是否存在一些软件包或者一些黑客可以让其在不使用“p.”的情况下实现相同的功能。

目标是能够引用特定段落,而不是页面。段落恰好用罗马数字编号,因此想法是能够执行如下操作:

\citep[XXVI]{foo}

并得到类似“[Foo, XXVI]”的内容。

答案1

您可以使用\nopp来抑制页面前缀“p.”/“pp.”

\cite[\nopp 20]{sigfridsson}

如果要始终隐藏页面前缀,请使用

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

\mknormrange是最近才添加的biblatex,因此如果在添加时命令未定义,您可能只想尝试#1而不是\mknormrange{#1}(或说\providecommand*{\mknormrange}[1]{#1})。


如果要隐藏特定条目的“p.”/“pp.”,请添加

pagination = {none},

.bib条目。除了none,您还可以使用 (默认)或、、或page之一。columnlineversesectionparagraph

答案2

如果您添加段落符号,Biblatex 也会禁用页面前缀。

输入:

\cite[\S1.2.3]{sigfridsson}

输出:

[Foo,§1.2.3]

相关内容