[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bibtex не умеет unicode. Что делать?



On 20.11.2011 18:38, Иван Лох wrote:
On Sun, Nov 20, 2011 at 11:45:15AM +0700, Maxim Nikulin wrote:
On 20.11.2011 02:09, Иван Лох wrote:
On Sat, Nov 19, 2011 at 06:32:25PM +0200, basilio wrote:

Есть просто bibtex, который вообще не особо дружит с русскими буквами.

BibTeX 0.99c (TeX Live 2009/Debian)

Он самый, и именно он не дружит.

Для UTF-8 можете убедиться с

\bibliographystyle{gost71s}

и такой записью

@Book {knuth:ru,
        author = "Дональд Е. Кнут",
        title = "Все про \TeX",
        publisher = "RD\TeX",
        address = "Протвино",
        year = 1993
}

Для восьмибитных кодировок он откажется сортировать и преобразовывать регистр названий.

Есть bibtex8, который умеет работать с восьмибитными кодировками.
Он просто работать не будет

У меня работает. Строго говоря, у меня есть и патченый, но пример проверял на дистрибутивном bibtex8.

Вроде недавно появился bibtexu (TeX Live 2011?), который должен
уметь работать с unicode, но в debian, он пока не наблюдается.
Это для излишеств

Отсутствие необходимости вручную форматировать авторов и заголовки Вы относите к излишествам?

Еще есть biblatex/biber, но про стили ГОСТ для него я не слышал.
Совсем другое

Цель та же - создание и форматирование списка литературы. Исходный формат тот же - .bib. Подход другой. Судя по comp.text.tex, куча народу от него в восторге. У bst файлов оригинального BiBTeX далеко не самый простой язык.

Причем - в простых библиографиях в стиле plain все вроде-бы и ничего. А
вот прикрутить ГОСТовский стиль - постоянно глюки какие-то вылазят.

По задумке авторов BiBTeX должен уметь сортировать записи по
алфавиту и уметь преобразовывать имена и фамилии в нужный формат.
Как этого добиться в программе, которая ничего не знает про unicode?

rubibtex

Всегда думал, что rubibtex для тех, кто хочет русские буквы в ключах бибилографии (которые latex пишет в .aux файл в специфическом виде). Разве он делает что-то еще?

Если преобразование регистра в названиях в обычном bibtex тихо отваливаются (что происходит с сортировкой не помню), то полные имена он урезает до одного(!) байта. Поскольку в UTF-8 русская буква длиннее, latex потом ругается на результат bibtex.

Вообще, по сети давно гуляют стили, которые "работают" с обычным bibtex. Но они умеют только дергать записи из общей базы. Переставлять инициалы до/после фамилий предоставляется пользователям.

Вот pybtex - интересная находка. Надо будет проверить ее на чем нибудь большом. Пока заметил только, что bibtex8 русские записи поставил до английских, а pybtex - после. В общем, спасибо baisilio, что поделился.

А в jabref нет граблей с unicode? Он, конечно, на java, но вдруг...

--
Максим Никулин


Reply to: