Sou novo no BibLaTeX e tive um problema com minha bibliografia, mas não com as citações. Gostaria de alterar o "&" antes do nome do último autor na bibliografia para "e". Estou ciente de que existem postagens que alteram o "e" para um "&" na bibliografia, mas não estou tendo sorte em modificar esses trechos de código para fazer o oposto.
No momento, meu código usa “e” nas citações, mas “&” na bibliografia. O preâmbulo que estou usando atualmente é:
\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}
Minha dúvida é: como substituir “&” por “e” apenas na bibliografia?
Responder1
Geralmente é uma má ideia tentar misturá-lo biblatex-apa
com outros estilos ou modificá-lo fortemente: biblatex-apa
deve ser usado para style=apa,
que a bibliografia e o estilo de citação sejam ambos apa
. É um estilo bastante complexo que exige muito trabalho para implementar os requisitos do manual da APA, o que significa que algumas escolhas no código sacrificam a personalização em favor de uma implementação precisa das regras complexas da APA. Existem também algumas dependências (implícitas) entre a bibliografia e o estilo de citação. Se você precisar de um estilo de ano de autor que não seja o estilo APA, geralmente é uma escolha melhor começar com um dos estilos padrão.
O "&" em uma apa
bibliografia de estilo é controlado por dois delimitadores: o padrão finalnamedelim
e o apa
específico finalnamedelim:apa:family-given
. Ambos precisam ser redefinidos. A definição original pode ser encontrada emtudo. 602-624 deapa.bbx
, apenas mudamos tudo \&
para \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}
Esta resposta pressupõe que você esteja usando uma versão atual biblatex-apa
(pelo menos v9.0 de 23/11/2019) que implementa o estilo APA da 7ª edição.
Se você estiver usando uma versão mais antiga biblatex-apa
que ainda implementa o estilo APA da 6ª edição ou se estiver usando uma versão atual do biblatex-apa6
( style=apa6,
), você pode precisar
\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}}
Alguns comandos de citação também usam "&", se você quiser se livrar deles também, você também precisa
\DeclareDelimFormat[parencite,nptextcite,fullcite,fullcitebib]{finalnamedelim}
{\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\bibstring{and}\space}
Isso deve funcionar para versões mais antigas e mais recentes biblatex-apa
e biblatex-apa6
similares.