使用 biblatex 定制引用和参考书目样式

使用 biblatex 定制引用和参考书目样式

我正在尝试更改文本中的引用样式,以便如果作者编号等于 2,则在其姓名之间放置“and”(例如:TempkinPyzhev, 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}

Lorem(Sigfridsson 和 Ryde,1998 年)//Sigfridsson,Emma;Ryde,Ulf,1998 年。《从电势和电势矩推导原子电荷的方法比较》。《计算化学杂志》。第 19 卷,第 4 期,第 377-395 页。可从 doi 获取:10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P。

从这个问题中我不清楚你是只希望在引文中使用“and”,还是也希望在参考书目中使用。如果你还希望在参考书目中使用“and”,只需删除这两行

\DeclareDelimFormat[bib]{multinamedelim}{\addsemicolon\space}
\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}

在上面的代码中。

相关内容