使用 biblatex 字段格式自动格式化标点符号

使用 biblatex 字段格式自动格式化标点符号

定制比布拉特克斯风格,我想使用“传统”字体,其中标点符号的格式遵循前面的文本,例如

J. Organomet. Chem. 691.十三

'691' 后面的句号用粗体显示。我很确定可以biblatex自动执行此操作,但找不到如何实现。从文档来看,这\setpunctfont似乎是我想要的功能,但类似

\documentclass{article}
\usepackage[style=numeric]{biblatex}
\DeclareFieldFormat*{volume}{\mkbibbold{#1}\setpunctfont{\textbf}}
\bibliography{biblatex-examples}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

失败(我的示例文本在结果输出中的参考文献 3 中)。我宁愿不必手动编写格式代码,因为这会使维护变得很麻烦:这应该怎么做?

答案1

重新阅读手册后,我发现我想要的是以下punctfont选项:

\documentclass{article}
\usepackage[style=numeric,punctfont]{biblatex}
\DeclareFieldFormat*{volume}{\mkbibbold{#1}}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\addcomma}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}
\bibliography{biblatex-examples}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

相关内容