3

I'm using the acs-chem style in biblatex, writing in Spanish.

I'm trying to change the "y" that appears before the last author in the bibliography for a ";", like if it wasn't the last one.

I tried \renewcommand{\finalnamedelim}{;} and also this, but neither of them work.

\documentclass[12pt,a4paper,twoside,openright,notitlepage]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[english,spanish]{babel}

\usepackage[
style=chem-acs,
maxnames=10,
minnames=10
]{biblatex}
\DefineBibliographyStrings{spanish}{%
andothers = {et\addabbrvspace al\adddot};
and = {;}
}
\renewcommand{\andothersdelim}{; }
\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{aksin} ipsum \autocite{baez/article}

\printbibliography
\end{document}
moewe
  • 175,683

1 Answers1

2

For \finalnamedelim to work normally, you need to disable biblatex's smart and feature for Spanish by setting the value of smartand to 0. I think this will disable it in all lists though.

MWE

\documentclass{article}
\usepackage[english,spanish]{babel}
\usepackage[
  style=chem-acs,
  maxnames=10,
  minnames=10
]{biblatex}
\DefineBibliographyStrings{spanish}{%
  andothers = {et\addabbrvspace al\adddot}
}
\setcounter{smartand}{0}
\renewcommand*{\andothersdelim}{\addsemicolon\space}
\renewcommand*{\finalnamedelim}{\addsemicolon\space}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{aksin} ipsum \autocite{baez/article}
\printbibliography
\end{document}

MWE output

David Purton
  • 25,884
  • So it was a problem of the language. You also put the \andothersdelim the proper way. Thanks. –  Jun 03 '19 at 09:24
  • @DanielÁlvarez, no worries. As an aside, you should separate bibliography string definitions with a comma not a semicolon in \DefineBibliographyStrings. – David Purton Jun 03 '19 at 09:33