Biblatex: como posso obter nomes completos na bibliografia?

Biblatex: como posso obter nomes completos na bibliografia?

Gostaria que o BibLaTeX não exibisse nomes ou iniciais ao citar no texto. Mas eu gostaria de ter nomes completos na bibliografia. Pelo que li, isso pode ser alcançado por giveninits=false. Mas este comando não afeta em nada o estilo da citação.

Eu configurei o BibLaTeX assim:

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[
backend=biber,
style=apa,
maxcitenames = 2,
mincitenames = 1,
uniquename = false,
uniquelist = false,
maxbibnames = 99,
apamaxprtauth=99,
giveninits=false
]{biblatex}
\DeclareLanguageMapping{english}{english-apa}
\usepackage{filecontents}

\begin{filecontents*}{test.bib}
@article{marquard1975,
    author = {Donald W.   Marquardt  and  Ronald D.   Snee},
    title = {Ridge Regression in Practice},
    journal = {American Statistician},
    volume = {29},
    number = {1},
    pages = {3-20},
    year  = {1975},
    publisher = {Taylor & Francis},
}
}
\end{filecontents*}

\addbibresource{test.bib}

\begin{document}
\title{asdf}
\author{myself}
\date{\today}
\maketitle

TEST \cite{marquard1975}


\printbibliography
\end{document}

O que recebo é (na citação de texto está bom, na bibliografia não)

TESTE Marquardt e Snee, 1975

Referências

Marquardt, DW e Snee, RD (1975). Regressão de Ridge na prática. Estatístico Americano, 29(1), 3–20.

O que eu gostaria de obter:

TESTE Marquardt e Snee, 1975

Referências

Marquardt, Donald W. e Snee, Ronald D. (1975). Regressão de Ridge na prática. Estatístico Americano, 29(1), 3–20.

Responder1

Conforme mencionado nos comentários, o estilo APA exige que os primeiros nomes sejam abreviados para iniciais e que o nome completo seja adicionado apenas entre colchetes caso as iniciais sejam ambíguas. biblatex-apaimplementa este requisito na medida do possível. Como isso é bastante complicado, a opção normal giveninitsnão funciona como esperado com biblatex-apa. Isto é semelhante a como o(max|min)(bib|cite)?names opções não funcionam conforme o esperado.

Você deve redefinir dois bibmacros de nomes para obter nomes completos, um para nomes em given-familyordem e outro para family-given. As definições originais podem ser encontradas em apa.bbx, apenas removemos o \ifthenelse{\value{uniquename}>1}teste e certificamos de imprimir o nome completo em \mkbibnamegiven{#2}vez de \mkbibnamegiven{#3}.

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[
  backend=biber,
  style=apa,
  uniquename = false,
  uniquelist = false,
  apamaxprtauth=99,
  giveninits=false,
]{biblatex}


% argument meanings from apa.bbx
% #1 = family name
% #2 = given name
% #3 = given name (initials)
% #4 = name prefix
% #5 = name suffix

\renewbibmacro*{name:apa:family-given}[5]{%
  \ifuseprefix
    {\usebibmacro{name:delim:apa:family-given}{#4#1}%
     \usebibmacro{name:hook}{#4#1}%
     \ifdefvoid{#4}{}{%
       \mkbibnameprefix{#4}\isdot%
       \ifprefchar{}{\bibnamedelimc}}%
     \mkbibnamefamily{#1}\isdot%
     \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
     \ifdefvoid{#5}{}{\addcomma\bibnamedelimd\mkbibnamesuffix{#5}\isdot}}
    {\usebibmacro{name:delim:apa:family-given}{#1}%
     \usebibmacro{name:hook}{#1}%
     \mkbibnamefamily{#1}\isdot
     \ifboolexpe{%
       test {\ifdefvoid{#2}}
       and
       test {\ifdefvoid{#4}}}
       {}
       {\revsdnamepunct}%
     \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
     \ifdefvoid{#4}{}{%
       \bibnamedelimc\mkbibnameprefix{#4}%
       \ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#5}{}{\addcomma\bibnamedelimd\mkbibnamesuffix{#5}\isdot}}}

\renewbibmacro*{name:apa:given-family}[5]{%
  \usebibmacro{name:delim}{#2#4#1#5}%
  \usebibmacro{name:hook}{#2#4#1#5}%
  \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot%
                   \bibnamedelimd}%
  \ifdefvoid{#4}{}{%
    \mkbibnameprefix{#4}\isdot
    \ifprefchar{}{\bibnamedelimc}}%
  \mkbibnamefamily{#1}\isdot%
  \ifdefvoid{#5}{}{\bibnamedelimd\mkbibnamesuffix{#5}\isdot}}


\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{marquard1975,
  author  = {Donald W. Marquardt and Ronald D. Snee},
  title   = {Ridge Regression in Practice},
  journal = {American Statistician},
  volume  = {29},
  number  = {1},
  pages   = {3-20},
  year    = {1975},
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\begin{document}
TEST \cite{marquard1975}

\printbibliography
\end{document}

Marquardt, Donald W. e Snee, Ronald D. (1975). Regressão de Ridge na prática. Estatístico Americano, 29(1), 3–20.

Observe que o &in publisher = {Taylor & Francis},deve ter escape para \&. Não houve erro aqui, pois biblatexnão imprime o publishercampo para @articles, mas é bom lembrar de tratar &corretamente.

informação relacionada