我通常在引用来源时使用分页字段biblatex
,例如:
\cite[Ch. 5]{Source2001}
\cites[Ch. 5]{Source2001}[p. 231]{Source2002}{Source2003}
为了更加清晰,我想在视觉上将分页与引用本身分开,有点像我使用tcolorbox
:
我怎样才能做到这一点?
我估计我需要重新定义一些命令,但我甚至不知道从哪里开始查找biblatex
源代码。
上述模型的代码:
\newtcbox{citenote}{on line, boxsep=0.1pt, left=1pt,right=1pt,top=2pt,bottom=2pt,coltext=black!55, fontupper=\footnotesize,enlarge by=0pt, arc=2pt, colframe=white, colback=black!4}
{[}1\,\citenote{Ch. 5}{]}\\
{[}1\,\citenote{Ch. 5}, 2\,\citenote{p. 231}, 3{]}
答案1
您可以通过重新定义字段格式来更改页面引用的格式postnote
。
其默认定义是
\DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
参见 biblatex.def [v3.16] 第 477 节。
您只需添加您的即可\citenote
。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{tcolorbox}
\usepackage[backend=biber, style=authoryear]{biblatex}
\newtcbox{citepostnotebox}{
on line, boxsep=0.1pt,
left=1pt,right=1pt,top=2pt,bottom=2pt,
enlarge by=0pt, arc=2pt,
fontupper=\footnotesize,
coltext=black!55, colframe=white, colback=black!4}
\DeclareDelimFormat{postnotedelim}{\addspace}
\DeclareFieldFormat{postnote}{%
\citepostnotebox{%
\mkpageprefix[pagination][\mknormrange]{#1}}}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite[380]{sigfridsson}
Lorem \autocite[Ch.~1]{nussbaum}
\printbibliography
\end{document}