BibLaTeX cambia "&" por "y" en la bibliografía

BibLaTeX cambia "&" por "y" en la bibliografía

Soy nuevo en BibLaTeX y tuve un problema con mi bibliografía, pero no con las citas. Me gustaría cambiar el "&" antes del último nombre del autor en la bibliografía por un "y". Soy consciente de que hay publicaciones que cambian "y" por "&" en la bibliografía, pero no tengo suerte modificando estos fragmentos de código para hacer lo contrario.

En este momento, mi código usa "y" en las citas, pero "&" en la bibliografía. El preámbulo que estoy usando actualmente es:

\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[natbib=true,
backend=biber,
bibencoding=utf8,
sorting=nyt,
citestyle=authoryear,
bibstyle=apa,
maxbibnames=99,
apamaxprtauth=99,
maxcitenames=3,
uniquelist=false,
uniquename=false]{biblatex}
\addbibresource{bib3_clean.bib}% Syntax for version >= 1.2

% Removes period after year in bibliography
\renewcommand{\labelnamepunct}{\addspace} 

%put comma after title
\usepackage{xpatch}
\xpatchbibdriver{article}
{\usebibmacro{title}%
    \newunit}
{\usebibmacro{title}%
    \printunit{\addcomma\space}}
{}
{}

%remove journal number
\AtEveryBibitem{%
    \clearfield{number}}

% do not italicize volume number
\DeclareFieldFormat[article]{volume}{\apanum{#1}}

%remove comma after journal name
\renewbibmacro*{journal+issuetitle}{%
    \usebibmacro{journal}%
    \setunit*{\space}%
    \iffieldundef{series}
    {}
    {\newunit
        \printfield{series}%
        \setunit{\addspace}}%
    \usebibmacro{volume+number+eid}%
    \setunit{\addspace}%
    \usebibmacro{issue}%
    \setunit{\addcolon\space}%
    \usebibmacro{issue}%
    \newunit}

Mi pregunta es, ¿cómo sustituir "&" por "y" sólo en la bibliografía?

Respuesta1

Generalmente es una mala idea intentar mezclarlo biblatex-apacon otros estilos o modificarlo en gran medida: biblatex-apase supone que debe usarse para style=apa,que la bibliografía y el estilo de cita sean ambos apa. Es un estilo bastante complejo que trabaja mucho para implementar los requisitos del manual APA, lo que significa que algunas opciones en el código sacrifican la personalización en favor de una implementación precisa de las complejas reglas APA. También existen algunas dependencias (implícitas) entre la bibliografía y el estilo de cita. Si necesita un estilo de año de autor que no sea el estilo APA, normalmente es una mejor opción comenzar con uno de los estilos estándar.

El "&" en una apabibliografía de estilo está controlado por dos delimitadores: el estándar finalnamedelimy el apaespecífico finalnamedelim:apa:family-given. Es necesario redefinir ambos. La definición original se puede encontrar entodos. 602-624 deapa.bbx, simplemente cambiamos todos \&los s a \bibstring{and}.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[
  backend=biber,
  sorting=nyt,
  citestyle=authoryear,
  bibstyle=apa,
  maxbibnames=99,
  apamaxprtauth=99,
  maxcitenames=3,
  uniquelist=false,
  uniquename=false]{biblatex}

\renewcommand{\labelnamepunct}{\addspace}

\DeclareDelimFormat[bib]{finalnamedelim}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\value{liststop}>2}
       {\finalandcomma\addspace\bibstring{and}\space}
       {\addspace\bibstring{and}\space}}}

\DeclareDelimFormat[bib]{finalnamedelim:apa:family-given}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\ifcurrentname{groupauthor}\AND%
                 \value{liststop}=2}
     {\addspace\bibstring{and}\space}
     {\finalandcomma\addspace\bibstring{and}\space}}}

\usepackage{xpatch}
\xpatchbibdriver{article}
  {\usebibmacro{title}%
   \newunit}
  {\usebibmacro{title}%
   \printunit{\addcomma\space}}
  {}
  {}

\AtEveryBibitem{\clearfield{number}}

\DeclareFieldFormat[article]{volume}{\apanum{#1}}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\space}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\addbibresource{biblatex-examples.bib}


\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}

Sigfridsson, E. y Ryde, U. (1998) Comparación de métodos para derivar cargas atómicas a partir del potencial y los momentos electrostáticos. Revista de Química Computacional 19, 377–395. https://doi.org/10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P


Esta respuesta supone que está utilizando una versión actual biblatex-apa(al menos la v9.0 del 23 de noviembre de 2019) que implementa el estilo APA de la séptima edición.

Si está utilizando una versión anterior biblatex-apaque todavía implementa el estilo APA de la sexta edición o está utilizando una versión actual de biblatex-apa6( style=apa6,), es posible que necesite

\DeclareDelimFormat[bib,biblist]{finalnamedelim}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\value{liststop}>2}
       {\finalandcomma\addspace\bibstring{and}\space}
       {\addspace\bibstring{and}\space}}}

\DeclareDelimFormat[bib,biblist]{finalnamedelim:apa:family-given}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\finalandcomma\addspace\bibstring{and}\space}}

Algunos comandos de citas también usan "&", si también desea deshacerse de ellos, también necesita

\DeclareDelimFormat[parencite,nptextcite,fullcite,fullcitebib]{finalnamedelim}
  {\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\bibstring{and}\space}

Eso debería funcionar tanto para versiones antiguas como nuevas de biblatex-apay biblatex-apa6similares.

información relacionada