当我引用书中的页面时,我使用引用格式
(作者 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}}