Hace algunos años,una preguntaSe publicó sobre cómo se debe ingresar el honorífico "Señor" en el author
campo de una entrada bibliográfica. (Aparte: supongo que la consulta también es relevante para el uso del honorífico "Dame". Un segundo comentario: no creo que sea una buena idea proporcionar los honoríficos "Sir" y "Dame" en el author
campo. Sin embargo, procedamos.)
Por ejemplo, considere el caso de Sir Isaac Newton
. Si uno simplemente escribe
author = "Sir Isaac Newton",
y uno usa un estilo de bibliografía que trunca los nombres de pila, termina con S. I. Newton
o Newton, S. I.
. ¡No es bueno! Por convención, "Señor" y "Dama" debennuncaser abreviado. En ese momento, proporcioné unrespuestaque aplica la siguiente "corrección" al author
campo:
author = "{\relax Sir I}saac Newton",
Esta solución funciona bien con BibTeX. También funciona biblatex
si se utiliza BibTeX como backend o si los nombres de pila se truncan (a través de una opción como giveninits=true
). Sin embargo, como me señalaron recientemente en un comentario, hay un problema si (a) biber
se usa como backendy(b) la opción giveninits=false
está configurada, es decir, si los nombres de pila sonnosiendo truncado. Considere el resultado de un MWE simple de dos entradas (código publicado más abajo; los campos de autor son author = "{\relax Sir I}saac Newton",
y author = "Zoe Zerlina Zwicky",
, respectivamente):
Tenga en cuenta el espacio en blanco inmediatamente antes de "Señor". El MWE se compiló con MacTeX2017, biblatex
3.7 y biber
2.7. FWIW, aquí están los dos given
campos creados por biber
(copiados y pegados de \jobname.bbl
):
given={{\relax\bibnamedelimb Sir\bibnamedelimb I}saac},
given={Zoe\bibnamedelima Zerlina},
Observe que biber
se ha insertado \bibnamedelimb
entre \relax
y Sir
. La presencia de esta macro es responsable de la inserción del espacio en blanco no deseado.
Pregunta: ¿Existe alguna opción que pueda o deba configurarse para eliminar la primera instancia \bibnamedelimb
o la cadena completa \relax\bibnamedelimb
del given
campo? Alternativamente, ¿se trata de un error biber
(que eventualmente se solucionará)?
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@misc{SIN, author = "{\relax Sir I}saac Newton", title = "Opticks", year = 1730, note = "Fourth edition"}
@misc{ZZZ, author = "Zoe Zerlina Zwicky", title = "Thoughts", year = 3001}
\end{filecontents*}
\documentclass{article}
\usepackage[giveninits=false,backend=biber]{biblatex}
\addbibresource{mybib.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Respuesta1
Con Biber puedes utilizar el 'formato de nombre extendido'. Allí puede especificar explícitamente la forma abreviada de una parte del nombre si no le gusta el valor predeterminado.
tu usarias
author = {family={Newton}, given={Sir Isaac}, given-i={Sir I}},
y obtendría
Señor Isaac Newton
en su totalidad, o
Señor I. Newton
en forma abreviada.
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{IsaacNewton,
author = {family={Newton}, given={Sir Isaac}, given-i={Sir I}},
title = {Opticks},
year = 1730,
edition = {4},
}
@misc{xyz,
author = {Zoe Zwicky},
title = {Thoughts},
year = 3001,
}
\end{filecontents*}
\documentclass{article}
\usepackage[giveninits=true,backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Respuesta2
Impulsado por los comentarios de @moewe debajo del suyo.gran respuesta- y especialmente por la alusión a cómo biber
se trata el material en los llamados "grupos de llaves" (cualquier material encerrado en un par adicional de llaves) - se me ocurrió otra solución de trabajo. No es tan completo como el proporcionado por @moewe, pero es bastante simple, ya que requiere el uso de solo un grupo de llaves adicional para ayudar a biber
descubrir cuál es el componente del nombre completo. En concreto, lo único que hay que hacer es sustituir
author = "{\relax Sir I}saac Newton",
con
author = "{{\relax Sir I}saac} Newton",
Con el grupo de llaves adicional en su lugar, biber
no llega a insertar una \bibnamedelimb
directiva entre \relax
y Sir
entre "Señor" y la "I" inicial. Como resultado, se insertan espacios ordinarios entre palabras. Supongo que esto podría causar un nuevo problema si, por alguna razón, \bibnamedelimb
se estableciera algo que sea materialmente diferente de \space
; Afortunadamente, este no parece ser el caso aquí.
Un MWE completo:
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@misc{SIN0,
author = "{\relax Sir I}saac Newton",
title = "Opticks", note = "Not correct"
}
@misc{SIN1,
author = {family={Newton}, given={Sir Isaac}, given-i={Sir I}},
title = {Opticks}, note = "Correct"
}
@misc{SIN2,
author = "{{\relax Sir I}saac} Newton",
title = "Opticks", note = "Also correct"
}
\end{filecontents*}
\documentclass{article}
\usepackage[giveninits=false,backend=biber]{biblatex}
\addbibresource{mybib.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}