样式化 BibLaTeX 的分页输出

样式化 BibLaTeX 的分页输出

我通常在引用来源时使用分页字段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}

Lorem(Sigfridsson 和 Ryde 1998 第 380 页)Lorem(Nussbaum 1978 第 1 章)带有“第 380 页”和“第 1 章”的方框

相关内容