![biblatex imprime "family=, familyi=" etc. en la bibliografía](https://rvso.com/image/400379/biblatex%20imprime%20%22family%3D%2C%20familyi%3D%22%20etc.%20en%20la%20bibliograf%C3%ADa.png)
Mi objetivo es utilizar BiBLaTeX con el estilo de compilación numérica y la forma dada por familia/familia dada para ordenar los nombres de los autores, con todos los nombres en negrita. Aquí está mi MWE:
\documentclass{scrreprt}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[
backend=biber,
style=numeric-comp,
sorting=none,
]{biblatex}
\addbibresource{test.bib}
\DeclareNameAlias{sortname}{family-given/given-family-bold}
\DeclareNameFormat{family-given/given-family-bold}{\mkbibbold{%
\ifnumequal{\value{listcount}}{1}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\ifboolexpe{%
test {\ifdefvoid\namepartgiven}
and
test {\ifdefvoid\namepartprefix}}
{}
{\usebibmacro{name:revsdelim}}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}}
\DeclareNameAlias{sortname}{given-family-bold}
\DeclareNameAlias{author}{given-family-bold}
\DeclareNameAlias{editor}{given-family-bold}
\DeclareNameAlias{translator}{given-family-bold}
\usepackage{filecontents}
\begin{filecontents}{test.bib}
@book{Doe86,
author = {Doe, John},
year = {1986},
title = {some book},
}
\end{filecontents}
\begin{document}
I'm citing \cite{Doe86}
\printbibliography
\end{document}
Curiosamente, produce el siguiente resultado, sin importar la frecuencia con la que compilo (tanto látex como biber). ¿Qué estoy haciendo mal?
Respuesta1
Con una versión actual de biblatex
usaría envoltorios de nombres para aplicar la negrita a los nombres. Si desea el family-given/given-family
orden mixto, también deberá redefinir el formato del nombre (porque el valor predeterminado para los estilos numéricos es given-family
el orden).
\documentclass{scrreprt}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[
backend=biber,
style=numeric-comp,
sorting=none,
]{biblatex}
\DeclareNameAlias{sortname}{family-given/given-family}
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}
\DeclareNameWrapperFormat{sortname}{\mkbibbold{#1}}
\DeclareNameWrapperAlias{author}{sortname}
\DeclareNameWrapperAlias{editor}{sortname}
\DeclareNameWrapperAlias{translator}{sortname}
\addbibresource{biblatex-examples.bib}
\begin{document}
I'm citing \cite{sigfridsson,nussbaum}
\printbibliography
\end{document}
El problema con el código de la pregunta fue que definió un formato de nombre ( family-given/given-family-bold
), pero luegousadoun formato diferente e inexistente ( given-family-bold
). Los formatos no existentes dan como resultado resultados extraños. Podría modificarse de la siguiente manera (pero sigo prefiriendo la solución anterior).
\documentclass{scrreprt}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[
backend=biber,
style=numeric-comp,
sorting=none,
]{biblatex}
\DeclareNameFormat{family-given/given-family-bold}{%
\mkbibbold{%
\ifnumequal{\value{listcount}}{1}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\ifboolexpe{%
test {\ifdefvoid\namepartgiven}
and
test {\ifdefvoid\namepartprefix}}
{}
{\usebibmacro{name:revsdelim}}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}}
\DeclareNameAlias{sortname}{family-given/given-family-bold}
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}
\addbibresource{biblatex-examples.bib}
\begin{document}
I'm citing \cite{sigfridsson,nussbaum}
\printbibliography
\end{document}
La salida es la misma.