Google Группы больше не поддерживают новые публикации и подписки в сети Usenet. Опубликованный ранее контент останется доступен.
Закрыть

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

74 просмотра
Перейти к первому непрочитанному сообщению

basilio

не прочитано,
19 нояб. 2011 г., 11:40:0119.11.2011
Постепенно перевожу свое писательство на Latex. Решил перетащить все
свои ссылки на литературу в один файл. Всегда думал, что bibtex
специально под это заточен. Но, оказалось, что он не умеет unicode.
Причем - в простых библиографиях в стиле plain все вроде-бы и ничего. А
вот прикрутить ГОСТовский стиль - постоянно глюки какие-то вылазят.
Вроде нашелся файл utf8gost****, но он, вроде и хороший в остальном
пакет, имена авторов не сокращает до инициалов, т.е. тоже глюк.
В связи с этим вопрос - есть ли альтернатива перекодировке файлов в
CP1251 (кои8/ср866 не предлагать)?

Спасибо заранее.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/ja8lmq$dbk$1...@dough.gmane.org

Иван Лох

не прочитано,
19 нояб. 2011 г., 14:10:0119.11.2011
On Sat, Nov 19, 2011 at 06:32:25PM +0200, basilio wrote:
> Постепенно перевожу свое писательство на Latex. Решил перетащить все
> свои ссылки на литературу в один файл. Всегда думал, что bibtex
> специально под это заточен. Но, оказалось, что он не умеет unicode.

Это не так.

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

Очевидно, просто стиль кривой.

> Вроде нашелся файл utf8gost****, но он, вроде и хороший в остальном
> пакет, имена авторов не сокращает до инициалов, т.е. тоже глюк.

Так исправьте. Вам кто-нибудь мешает это сделать? Это займет 5 минут.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/2011111919...@nano.ioffe.rssi.ru

Maxim Nikulin

не прочитано,
20 нояб. 2011 г., 00:10:0120.11.2011
On 20.11.2011 02:09, Иван Лох wrote:
> On Sat, Nov 19, 2011 at 06:32:25PM +0200, basilio wrote:
>> Постепенно перевожу свое писательство на Latex. Решил перетащить все
>> свои ссылки на литературу в один файл. Всегда думал, что bibtex
>> специально под это заточен. Но, оказалось, что он не умеет unicode.
>
> Это не так.

Вы в этом уверены?

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

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

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

Стиль нормальный, только он предназначен для восьмибитных кодировок и
bibtex8.

>> Вроде нашелся файл utf8gost****, но он, вроде и хороший в остальном
>> пакет, имена авторов не сокращает до инициалов, т.е. тоже глюк.
>
> Так исправьте. Вам кто-нибудь мешает это сделать? Это займет 5 минут.

Уже были товарищи, которые пытались "исправление за 5 минут" пропихнуть
в дистрибутив. Сводилось оно как раз к исправлению формата авторов,
чтобы стиль не пытался сокращать полные имена до инициалов.

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

Лично мне пока проще держать .tex и .bib файлы в cp1251.

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


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/4EC885DB...@gmail.com

basilio

не прочитано,
20 нояб. 2011 г., 04:40:0120.11.2011
20.11.2011 06:45, Maxim Nikulin пишет:
> Лично мне пока проще держать .tex и .bib файлы в cp1251.

Всем спасибо, нашел решение без перекодировки: пакет pybtex, есть в
репозиториях, может встраиваться взамен bybtex (т.е. полностью
сохраняется воркфло), может работать отдельно(т.е. полностью сохраняется
целостность системы). Понимает unicode и стили bybtex, в т.ч. gost*
(т.е. необходимость в utf8gost* и bibtex8 отпадает). Глюков пока не
замечено, может позже, в процессе работы. На оф. сайте написали, что
глюки возможны. Тогда все-таки полностью перекодируюсь в ср1251, ибо
пока преимуществ юникода не вижу - прогресс должен экономить время,
упрощать процедуры и облегчать жизнь, а не наоборот.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/jaahkg$de$1...@dough.gmane.org

Иван Лох

не прочитано,
20 нояб. 2011 г., 06:40:0120.11.2011
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)

> Есть bibtex8, который умеет работать с восьмибитными кодировками.
Он просто работать не будет
> Вроде недавно появился bibtexu (TeX Live 2011?), который должен
> уметь работать с unicode, но в debian, он пока не наблюдается.
Это для излишеств
> Еще есть biblatex/biber, но про стили ГОСТ для него я не слышал.
Совсем другое
> >>Причем - в простых библиографиях в стиле plain все вроде-бы и ничего. А
> >>вот прикрутить ГОСТовский стиль - постоянно глюки какие-то вылазят.
>
> По задумке авторов BiBTeX должен уметь сортировать записи по
> алфавиту и уметь преобразовывать имена и фамилии в нужный формат.
> Как этого добиться в программе, которая ничего не знает про unicode?

rubibtex


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/20111120113...@nano.ioffe.rssi.ru

basilio

не прочитано,
20 нояб. 2011 г., 07:30:0220.11.2011
20.11.2011 13:38, Иван Лох пишет:

>> Как этого добиться в программе, которая ничего не знает про unicode?
>
> rubibtex
>
>
man пишет, что он рассчитывает на KOI-8. И на юникодном файле с ошибками
вываливается. Так что pybtex пока остается приемлемым вариантом решения
проблемы с юникодом, благо в репах он есть. Или перекодироваться в
что-либо более практичное.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/jaarnd$p4q$1...@dough.gmane.org

Maxim Nikulin

не прочитано,
20 нояб. 2011 г., 09:00:0220.11.2011
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 для тех, кто хочет русские буквы в ключах
бибилографии. Разве он делает что-то еще?

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

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

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

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

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



--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/jab0s1$o8c$1...@dough.gmane.org

Maxim Nikulin

не прочитано,
20 нояб. 2011 г., 09:20:0120.11.2011
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, но вдруг...

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


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/4EC9078A...@gmail.com

Иван Лох

не прочитано,
20 нояб. 2011 г., 14:20:0220.11.2011
On Sun, Nov 20, 2011 at 08:55:13PM +0700, Maxim Nikulin wrote:
>
> А в jabref нет граблей с unicode? Он, конечно, на java, но вдруг...

Если явно выставить кодировку базы, то нет.


--
Иван Лох


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/20111120191...@nano.ioffe.rssi.ru

basilio

не прочитано,
20 нояб. 2011 г., 14:50:0220.11.2011

> Вот pybtex - интересная находка. Надо будет проверить ее на чем нибудь
> большом. Пока заметил только, что bibtex8 русские записи поставил до
> английских, а pybtex - после. В общем, спасибо baisilio, что поделился.
>
> А в jabref нет граблей с unicode? Он, конечно, на java, но вдруг...
>
Базу источников веду как раз в jabref и в юникоде. О jabref-е пока могу
отозваться только хорошо. Хотя, если бы нашел что-нибудь аналогичного
функционала не на java, обязательно бы попробовал. База пока небольшая -
100 с небольшим единиц, пока справляется вполне шустро, без глюков и
подвисаний.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/jablho$r6f$1...@dough.gmane.org
0 новых сообщений