PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bibtex-Key in kyrillisch (UTF8) geht nicht



peterpan
29-03-2011, 01:19
Leider wird ein Zitat nicht richtig dargestellt, sobald Bibtex-Key in kyrillischer Schrift ist.

- Sowohl die .bib als auch die .lyx Datei sind als UTF8 gespeichert.
- Biblatex wird so geladen:
\documentclass[a4paper,twoside,ngerman]{scrartcl}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[style = authoryear]{biblatex}


@BOOK{Толстой1955,
title = {Война и мир},
year = {1955},
author = {Толстой, Лев},
address = {Москва},
owner = {tester},
timestamp = {2011.03.17}
}
\citet{Толстой1955}
Zitat sieht dabei so aus:
\IeC {\CYRT }\IeC {\cyro }\IeC {\cyrl }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyro }\IeC {\cyrishrt }1955.

Wenn Bibtexkey in lateinischer Schrift ist, dann funktioniert alles:

@BOOK{Tolstoj1955,
title = {Война и мир},
year = {1955},
author = {Толстой, Лев},
address = {Москва},
owner = {tester},
timestamp = {2011.03.17}
}
\citet{Tolstoj1955}
Zitat sieht dabei so aus:
Толстой 1955.

Vielleicht weiss einer ob es generell nicht geht, den Bibtexkey in kyrillisch zu verwenden, oder ob es an irgendeiner Einstellung liegt?

rstuby
29-03-2011, 07:12
Bibtex kann kein unicode.
Es soll ein bibtex8 oder so geben, das es kann.
Oder biber.

u_fischer
29-03-2011, 09:55
Wenn du eine 8-Bit-Anwendung wie pdflatex und inputenc verwendest, dann sind die Nicht-ASCII-Zeichen (äöü, deine kyrillischen Zeichen usw) mehr oder weniger komplizierte Befehle, die die Zusammenarbeit von pdflatex und bibtex (biber dürfte daran nicht viel ändern) leicht aus dem Tritt bringen können. Verwende sie nicht als Key.

Funktionieren dürften sie nur, wenn du sowohl ein unicode-fähiges LaTeX (lualatex oder xelatex) als auch das unicode-fähige biber benutzt.

Schweinebacke
29-03-2011, 11:35
Bibtex kann kein unicode.
Es soll ein bibtex8 oder so geben, das es kann.
bibtex8 kann nur mit (einigen) 8-Bit-Codierungen wie ISO-8859-1 umgehen, aber nicht mit Mehrzeichen-Unicode-Codierungen wie UTF8. Zwar gibt es eine CS-Datei für dänische UTF8-Sortierreihenfolge aber das genügt noch lange nicht, um UTF8-Keys oder gar kyrillische UTF8-Zeichen korrekt verarbeiten zu können.

Es gibt zwar auch ein bibtexu, aber keine ordentliche Doku dazu, so dass eigentlich nur biber (wie bereits erwähnt im konkreten Fall zusammen mit einem Unicode fähigem LaTeX) als Unicode fähiger BibTeX-Prozessor in Frage kommt.

peterpan
30-03-2011, 10:31
Schade, hatte gehofft es liegt nur an irgendeiner Einstellung.
In Lyx (Windows) kann ich mit \usepackage[backend=biber, style = authoryear]{biblatex} auf Biber umstellen.
Wie man lualatex oder xelatex in Lyx verwendet, muss ich mich erstmal informieren...

Mit Biber als Backend alleine gab es leider keine Besserung. Notfalls muss halt bei 200 Literatureinträgen der Bibtexkey manuell auf lateinische Schrift geändert werden :(

u_fischer
30-03-2011, 11:23
Das Problem beim Key ist, dass er wandern muss und dabei expandiert wird. Als Beispiel kannst du mal die Definition des "Ä" in blubb ändern:


\documentclass{article}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00C4}{blubb}
\begin{document}
Ä \cite{Ä}
\end{document}

Wenn du nun in die aux-Datei schaust, siehst du dort eine "\citation{blubb}". Und LaTeX wird sich in der log-Datei beschweren, dass "blubb" nicht bekannt ist. Um das ans Laufen zu bekommen, müsste also bibtex wissen, dass mit "blubb" eigentlich "Ä" gemeint ist. blubb ist außerdem ein simples Wort, dort könnte stattdessen auch ein mehr oder weniger komplizierter Befehl stehen, der wenn er in die aux-Datei und bib-Datei wandert zerbricht.

In wirklichen Dokumenten kann man Glück haben: Wenn du T1-kodierte Schriften benutzt, ist die Definition einiger "zufällig" der Umlaut selbst.
\cite{Ä} funktioniert. \cite{ß} explodiert hingegen:


\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}
Ä \cite{Ä} \cite{ß}
\end{document}


Das Problem existiert übrigens auch, wenn du eine 8-bit-Kodierung wie ansinew benutzt. Auch dort sind die Umlaute Befehle.

Mit xelatex oder luatex ist es möglich, weil dort Umlaute usw einfach normale Buchstaben sind. Aber auch dort würde ich empfehlen auf "komplizierte" Buchstaben als Key zu verzichten. Es kann immer sein, dass ein Buchstabe mit einem Akzent in einer Schrift nicht existiert und dass du dafür einen Ausweichbefehl definieren willst. Dann wäre es blöd, wenn dann deine Zitate sich zerlegen.