关于参考书目作者的两个问题。我正在 Overleaf 平台上工作
第一的。
如果某个参考文献有两位或多位作者,LaTeX 会在最后一位作者之前打印“and”(或相应的翻译“e”,因为我是意大利人)。但我需要删除这个连词,为了让作者之间只有一个逗号。
第二。
问题涉及具有两个或多个名字的作者(例举: John Simon Bercow;Charles Howard McIlwain)。名字只用首字母是可以的,但我更喜欢两个或多个名字的首字母之间没有空格:所以,我想要类似的东西:JS Bercow 或 CH McIlwain。
此外,我也喜欢用小写字母来命名名字,但我知道有一个命令\DeclareNameWrapperFormat{author}{\mkbibsc{#1}}
。这是唯一能保证我使用小写字母的选项,如果我还设置了命令\DeclareNameAlias{author}{given-family}
,以便先有名字(或名字),然后有姓氏[事实上,我注意到这个命令与的“scauthorsbib”不兼容\usepackage[bibstyle=philosophy-verbose,citestyle=authoryear,scauthorsbib=true,scauthorscite=false,giveninits=true]{biblatex}
]。
另一方面,在作者(以及编辑或翻译等)的名字和姓氏之间,我希望用波浪号加强空格,以便在行尾不会出现中断(因此,类似于:P.~Grossi、G.~Lattanzi、JS~Bercow)。
因此,总而言之,我要求如下:
P. Grossi、G. Lattanzi、JS Bercow、现代主义的线粒体学,Giuffrè,米兰 2007 年。
谢谢。
PS 在确认发布此公告之前,我发现了这个命令:
\AtBeginBibliography{%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\addcomma}{}%
\addspace}%
关于我的第一个问题,也许这就是我所需要的。
答案1
philosophy-verbose
使用自定义的sortname
名称格式定义,因此如果您想更改参考书目中的名称格式,您可能需要以此为基础进行重新定义。下面的 MWE 显示了如何获得所有名称的给定家族顺序。
控制名字首字母之间的空格的命令称为\bibinitdelim
。
最后,“and”可以用 变成逗号\DeclareDelimAlias
。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[
bibstyle=philosophy-verbose,
citestyle=authoryear,
giveninits=true,
scauthorsbib=true,
scauthorscite=false,
]{biblatex}
\renewcommand*{\bibinitdelim}{}
\DeclareNameFormat{sortname}{%
\iftoggle{bbx:scauthorsbib}{\usebibmacro{bbx:scswitch}}{}%
\nameparts{#1}%
\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:andothers}}%
\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson,baez/article,nussbaum,geer,companion}
\printbibliography
\end{document}
话虽如此,但我认为bibstyle=philosophy-verbose, citestyle=authoryear,
这并不是特别好的搭配。作者-年份引用样式应与参考书目样式相结合,将年份移到更突出的位置。另外,我建议您biblatex-philosophy
对参考书目和引用使用一种样式。混合标准和自定义样式有时会导致副作用。对于作者-年份引用来说,这philosophy-classic
似乎是一个不错的选择。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[
style=philosophy-classic,
giveninits=true,
scauthorsbib=true,
scauthorscite=false,
]{biblatex}
\renewcommand*{\bibinitdelim}{}
\DeclareNameFormat{sortname}{%
\iftoggle{bbx:scauthorsbib}{\usebibmacro{bbx:scswitch}}{}%
\nameparts{#1}%
\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:andothers}}%
\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson,baez/article,nussbaum,geer,companion}
\printbibliography
\end{document}