书目中的作者:没有“and”连接词,缩写紧凑

书目中的作者:没有“and”连接词,缩写紧凑

关于参考书目作者的两个问题。我正在 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}

JC Baez、AD Lauda,《高维代数 V:2-群》

话虽如此,但我认为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}

JC Baez、AD Lauda(2004),《高维代数 V:2-群》

相关内容