Finalnamedelim 在 Biblatex 中不起作用

Finalnamedelim 在 Biblatex 中不起作用

\finalnamedelim我在使用该babel包时遇到了问题。

正如您在此示例中看到的,我只得到了;分隔符,而没有得到babel包装。

那么,在这种情况下正确的方法是什么?

\documentclass[12pt,a4paper,openright,twoside]{book}

\begin{filecontents}{jobname.bib}
@Article{Kenawy2015,
    Title                    = {Conjunctival squamous cell neoplasia: the Liverpool Ocular Oncology Centre experience},
    Author                   = {Kenawy, N. and Garrick, A. and Heimann, H. and Coupland, SE. and Damato, BE.},
    Journal                  = {Graefes Arch Clin Exp Ophthalmol},
    Year                     = {2015},
    Pages                    = {43--50},
    Volume                   = {253},
}

@Article{Pantanowitz2008,
    Title                    = {Kaposi sarcoma in unusual locations},
    Author                   = {Pantanowitz, L. and Dezube, BJ.},
    Journal                  = {BMC Cancer},
    Year                     = {2008},
    Pages                    = {1--9},
    Volume                   = {8},
}

\end{filecontents}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish,es-tabla]{babel}

\usepackage[style=authoryear-comp,ibidtracker=false,maxbibnames=100,maxcitenames=2,hyperref=true,backend=biber,isbn=false,sorting=ydnt,sortcites=true,labelalpha,maxalphanames=1,doi=false,dashed=false,urldate=long,block=space,uniquename=false,uniquelist=false]{biblatex}

\renewcommand{\multicitedelim}{\addsemicolon\space}
\renewcommand{\multinamedelim}{\addsemicolon\space}
\renewcommand{\finalnamedelim}{\addsemicolon\space}
\renewcommand{\revsdnamepunct}{} 

\addbibresource{jobname.bib}
\begin{document}

\nocite{*}

\printbibliography

\end{document}

答案1

spanish.lbx包含一些用于“智能和”的花哨代码,以便正确排版西班牙语中的“和”。如果你想解决这个问题,你需要

\makeatletter
\DefineBibliographyExtras{spanish}{%
  \restorecommand\lbx@finalnamedelim
}
\makeatother

然后你就可以

\renewcommand*{\multicitedelim}{\addsemicolon\space}
\renewcommand*{\multinamedelim}{\addsemicolon\space}
\renewcommand*{\finalnamedelim}{\multinamedelim}
\renewcommand*{\revsdnamepunct}{}

正如您所期望的那样。

也许你还想要

\restorecommand\lbx@finallistdelim

如果您打算改变\finallistdelim

相关内容