我正在尝试更改文本中的引用样式,以便如果作者编号等于 2,则在其姓名之间放置“and”(例如:Tempkin和Pyzhev, 1940)(而不是像本例中那样的分号 (;))。
另外,我希望在参考书目中作者姓名以小写形式出现,首字母大写(例如:坦普金,M和皮热夫,V,1940.重金属去除和等温线研究。Acta Physiochim USSR。第 12 卷,第 217-22 页。)。
这是我的简短代码(示例):
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[
backend=biber,
style=iso-authoryear,
maxcitenames=2,
sorting=nty,
]{biblatex}
\addbibresource{BiblioFile.bib}
\begin{document}
\maketitle
\section{Introduction}
Example of my citation \parencite{tempkin1940}.
\printbibliography
\end{document}
这是我的 BiblioFile.bib:
@article{tempkin1940,
title={Heavy metals removal and isotherms study},
author={Tempkin, M and Pyzhev, V},
journal={Acta Physiochim URSS},
volume={12},
pages={217--22},
year={1940}
}
答案1
名字之间的分隔符称为finalnamedelim
倒数第二个名字与姓氏之间的分隔符,否则称为倒数第二个名字与姓氏之间的分隔符multinamedelim
。
对于名称格式,biblatex-iso
使用命令\familynameformat
将名称格式化为全部大写。如果我们重新定义此宏,我们可以取消大写。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[
backend=biber,
style=iso-authoryear,
maxcitenames=2,
]{biblatex}
\DeclareDelimFormat{multinamedelim}{\addcomma\space}
\DeclareDelimFormat{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}
\DeclareDelimFormat[bib]{multinamedelim}{\addsemicolon\space}
\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}
\renewcommand{\familynameformat}[1]{#1}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}.
\printbibliography
\end{document}
从这个问题中我不清楚你是只希望在引文中使用“and”,还是也希望在参考书目中使用。如果你还希望在参考书目中使用“and”,只需删除这两行
\DeclareDelimFormat[bib]{multinamedelim}{\addsemicolon\space}
\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}
在上面的代码中。