Biblatex:对于非数字的引用,没有 \postnotedelim

Biblatex:对于非数字的引用,没有 \postnotedelim

当我引用书中的页面时,我使用引用格式

(作者 1982:45)

但是当我引用带有 ID 号的段落或在线数据(即不是像页码那样的简单数字的内容)时,我想删除冒号:

(在线资源编号 58;作者 1975 §18)

\postnotedelim我认为这里必要的技巧是当且仅当后记不是数字时指定一个空值。我该如何实现这一点(在我的.tex文件中的序言中添加一些内容)?

\documentclass{article}
\usepackage{fontspec,filecontents}
\usepackage[style=authoryear]{biblatex}
\renewcommand*{\postnotedelim}{\addcolon}
\DeclareFieldFormat{postnote}{#1}
\begin{filecontents}{\jobname.bib}
@BOOK{harrison,
    AUTHOR = "George Harrison",
    TITLE = "My life with the Beatles",
    YEAR = "1982",
    LOCATION = "London",
    PUBLISHER = "Big House"}
@ONLINE{archiveZ,
    TITLE = "Archive Z",
    SHORTHAND = "Archive Z",
    URL = "http://www.archivez.com",
    URLDATE = "2013-03-22"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\parencites[45]{harrison}[no. 58]{archiveZ}.
\printbibliography
\end{document}

在此处输入图片描述

答案1

可以通过以下代码实现

\renewcommand{\postnotedelim}{%
  \iffieldnums{postnote}
    {\addcolon}
    {\addspace}}

相关内容