%20verwenden%3F.png)
Ich verwende BiblaTeX
und habe eine Frage: Wie ich in fast allen Quellentypen in meiner .bib
Datei sehe, kann ich den Eintrag verwenden language
.
Allerdings ist alles, was ich dort eingebe, literarisch in meinen Referenzen aufgeführt. Kann ich also nicht z. B. auch eine ISO-639-1 oder eine andereISO-Code?
Z.B:
@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},
}
Antwort1
biblatex
unterscheidet zwei Sprachfelder: (1) language
und (2) langid
.biblatex
Dokumentation, S. 20,
[Das
language
Feld enthält die] Sprache(n) des Werks. Sprachen können wörtlich oder als Lokalisierungsschlüssel angegeben werden. Wenn Lokalisierungsschlüssel verwendet werden,lang
kann das Präfix weggelassen werden.
Auf Seite 25 finden Sie
[
langid
] Die Sprachkennung des Bibliographieeintrags. [...] Die Kennung muss ein denbabel
/polyglossia
-Paketen bekannter Sprachname sein. Diese Information kann verwendet werden, um Trennmuster zu ändern und Zeichenfolgen in der Bibliographie zu lokalisieren. Beachten Sie, dass bei den Sprachnamen zwischen Groß- und Kleinschreibung unterschieden wird.
Das language
Feld ist also das, was in der Bibliographie als Sprache des Werks gedruckt wird, während intern für das Sprachumschaltverhalten von langid
verwendet wird (es kann verwendet werden, um die Silbentrennung in der Bibliographie umzuschalten, sodass Wörter richtig getrennt werden, oder es kann auch die sprachabhängigen Zeichenfolgen ändern; dies wird mit der Option gesteuert). Beachten Sie, dass die Informationen standardmäßig nicht gedruckt werden, wenn die dort angegebene Sprache mit der Hauptsprache des Dokuments übereinstimmt; dies wird mit den Optionen und gesteuert .biblatex
autolang
language
clearlang
\DeclareRedundantLanguages
Sie könnten zum Beispiel haben
@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},
}
für einen deutschen Text ( language
ist german
, langgerman
wäre auch OK) nach den neuen Rechtschreibregeln ( langid
ist ngerman
).
Das langid
Feld kann nur mit Sprachkennungen arbeiten, die babel
/ bekannt sind polyglossia
, aber laut PLKs Kommentar oben kann Biber auch mit BCP47-Sprachcodes umgehen und sie ihren jeweiligen Gegenstücken zuordnen. Tatsächlich akzeptiert Biber gerne unsinnige Eingaben wie langid = {flobbel}
, aber das führt zu Problemen mit babel
oder polyglossia
, wenn Sie etwas anderes als verwenden autolang=none
und das Sprachpaket versucht, die unbekannte Sprache zu laden flobbel
.
Das language
Feld akzeptiert alle Eingaben, aber Sprachkennungen, die biblatex
bekannt sind, werden anders behandelt, sie werden übersetzt. Um etwas genauer zu sein, funktioniert dies für Sprachen, die in der aktuell verwendeten .lbx
Datei als definiert sind lang<language>
. Sie können sie als <language>
oder angeben lang<language>
. Wenn der Bibstring nicht in der definiert ist , wird .lbx
der Inhalt des Felds unverändert gedruckt.language
Die unterstützten Sprachen können Sie english.lbx
hier sehen.,für Niederländisch ist die Liste hier). Sie können den Sprachenbezeichner entweder mit lang
oder ohne Präfix angeben langgreek
und greek
erhalten die gleichen Ergebnisse. Wenn Sie
language = {english},
In einem niederländischen Dokument erhalten Sie die Ausgabe „Engels“, und wenn die Dokumentsprache Englisch ist, erhalten wir „English“.
Die Zeichenfolge en
steht nicht auf der Liste der erkannten Sprachenkennungen und wird unverändert ausgedruckt.
Sie können emulieren, was Biber mit dem langid
Feld macht, indem Sie eine Sourcemap verwenden
\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}]
}
}
}