%20en%20mi%20archivo%20.bib%3F.png)
Estoy usando BiblaTeX
y tengo una pregunta: Como veo en casi todos los tipos de fuentes de mi .bib
archivo, puedo usar la entrada language
.
Sin embargo, todo lo que pongo es literario y se muestra en mis referencias. Entonces, ¿no puedo usar también, por ejemplo, un ISO-639-1 u otro?código iso?
P.ej:
@online{SOTexBibLangIso,
author = {Stackoverflow Tex Community},
title = {Can I use a shortened "language" entry (language code) in my .bib file?},
url = {https://tex.stackexchange.com/questions/294703/can-i-use-a-shortened-language-entry-language-code-in-my-bib-file},
language = {en},
urldate = {2016-02-18},
}
Respuesta1
biblatex
distingue dos campos lingüísticos: (1) language
y (2) langid
. De acuerdo con labiblatex
documentación, pag. 20,
[el
language
campo contiene el] idioma(s) de la obra. Los idiomas se pueden especificar literalmente o como claves de localización. Si se utilizan claves de localización, el prefijolang
se omite.
en P. 25 tenemos
[
langid
] La identificación del idioma de la entrada de bibliografía. [...] El identificador debe ser un nombre de idioma conocido por los paquetesbabel
/ .polyglossia
Esta información se puede utilizar para cambiar patrones de separación de palabras y localizar cadenas en la bibliografía. Tenga en cuenta que los nombres de los idiomas distinguen entre mayúsculas y minúsculas.
Entonces, el language
campo es lo que está impreso en la bibliografía como el idioma del trabajo, mientras que langid
se usa internamente para biblatex
el comportamiento de cambio de idioma de (puede usarse para cambiar la separación de palabras en la bibliografía, de modo que las palabras se separen con guiones correctamente, o podría cambiar el cadenas dependientes del idioma también; esto se controla con la autolang
opción). Tenga en cuenta que por defecto la language
información no se imprime si el idioma allí indicado coincide con el idioma principal del documento; esto está controlado por la clearlang
opción y \DeclareRedundantLanguages
.
Podrías por ejemplo tener
@online{elk,
author = {Anne Elk},
title = {Über die Anatomie der Donnerechse},
url = {http://www.example.edu/~elk/bronto.pdf},
date = {2016-01-01},
language = {german},
langid = {ngerman},
}
para un texto alemán ( language
is german
, langgerman
también estaría bien) siguiendo las nuevas reglas de ortografía ( langid
is ngerman
).
El langid
campo solo puede funcionar con identificadores de idioma conocidos por babel
/ polyglossia
, pero según el comentario anterior de PLK, Biber también puede manejar códigos de idioma BCP47 y asignarlos a sus respectivas contrapartes. De hecho, Biber aceptará felizmente entradas sin sentido como langid = {flobbel}
, pero eso generará problemas si usa algo distinto a babel
y polyglossia
el autolang=none
paquete de idioma intenta cargar el idioma desconocido flobbel
.
El language
campo acepta cualquier entrada, pero los identificadores de idioma que biblatex
conoce se tratan de manera diferente, se traducen. Para ser un poco más preciso, esto funciona para idiomas definidos en el .lbx
archivo utilizado actualmente como lang<language>
, puede darles como <language>
o lang<language>
. Si la cadena bib no está definida en .lbx
, el contenido del language
campo se imprime tal cual.Puedes ver los idiomas soportados english.lbx
aquí,para holandés la lista está aquí). Puede proporcionar el identificador de idioma con lang
o sin prefijo langgreek
y greek
obtener los mismos resultados. Si utiliza
language = {english},
en un documento holandés, el resultado es "Engels" y si el idioma del documento es inglés, obtenemos "English".
La cadena en
no está en la lista de identificadores de idiomas reconocidos y se imprime tal cual.
Puedes emular lo que hace Biber con el langid
campo usando un mapa fuente
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=language,
match=\regexp{\Aen\Z},
replace=\regexp{english}]
\step[fieldsource=language,
match=\regexp{\Ade\Z},
replace=\regexp{german}]
}
}
}