如何在参考书目中的最后一位作者后添加逗号?(基本上所有部分都需要用逗号分隔)我使用以下内容:
\usepackage[backend=biber, style=chem-acs, articletitle=false, natbib=true]{biblatex}
\DeclareNameAlias{default}{first-last} %puts firstname first
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}} %changes numbers in reference list to square brackets
\DeclareFieldFormat{journaltitle}{\mkbibemph{#1},} %italic journal title with comma
答案1
chem-acs
实现了特定的期刊样式,并非完全可定制。因此,样式中的许多分隔符都是硬编码的。虽然可以简单地更改它们,但将所有分隔符修改为逗号所需的代码很容易在序言中积累数百行代码。因此,最简单的方法可能是只取,重命名它,然后将每个实例chem-acs.bbx
中的标点符号更改为。\setunit
\addcomma\space
所以这是一个非常危险解决方法。我们告诉\setunit
它忽略它的参数并始终打印\addcomma\space
而不管样式实际上说什么。只要你真的想要,这就会起作用全部标点符号为逗号,但如果有地方需要其他符号,则会分解。
在以下 MWE 中它运行得相当好,但一般来说并不能保证。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=chem-acs, articletitle=false, natbib=true]{biblatex}
\DeclareNameAlias{default}{given-family}
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
\renewcommand*{\labelnamepunct}{\addcomma\space}
\makeatletter
\AtBeginBibliography{%
\long\def\blx@setunit#1{%
\iftoggle{blx@keepunit}
{}
{\long\gdef\blx@unitpunct{\addcomma\space}%
\global\toggletrue{blx@unit}}}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson,aksin}
\printbibliography
\end{document}