2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 xindy
Сообщение24.06.2010, 09:05 
Аватара пользователя


03/12/08
351
Букачача
Добрый день.

Хочу воспользваться возможностями xindy для построения алфавитного указателя. Но не могу до конца разобраться. Есть ли документация на русском?
Использую вот так:
Код:
xindy -v -o my.ind -t my.ilg -L russian -C cp1251 -M makeindex.xdy my.idx

При этом
1. my.idx содержит буквы русские в кодировке \IeC {\cyr... };
2. в makeindex.xdy добавлена замена символов: (require "tex/inputenc/cp1251.xdy")
3. добавлены дополнительные правила и стили в makeindex.xdy - например замена для textit и т.п. (хотя пробовал и стандартный файл makeindex.xdy)

Возможно не нужно в данном случае использовать опции -L и -С, т.к. файл my.idx всё равно в кодировке utf8, и с этими опциями файл выходной my.ind получается пустой.
Без этих опций на выходе файл my.ind также с \IeC {\cyr... } и при получении выходного файла из tex (pdflatex'ом) получается нормальный индек с русскими буквами, но не очень правильно отсортированный.

Хочется разобраться до конца с xindy. Заранее благодарен.

 Профиль  
                  
 
 Re: xindy
Сообщение24.06.2010, 11:09 
Заслуженный участник
Аватара пользователя


14/02/07
2648
Не нужны никакие xindy! Пользуйтесь пакетом index и все будет в порядке.

-- Чт июн 24, 2010 12:17:24 --

(Если только Вы не пишете на украинском: в этом случае замечательные украинские буквы є,і,ї окажутся в конце указателя.)

 Профиль  
                  
 
 Re: xindy
Сообщение24.06.2010, 11:37 
Аватара пользователя


03/12/08
351
Букачача
Хорхе в сообщении #334476 писал(а):
Не нужны никакие xindy! Пользуйтесь пакетом index и все будет в порядке.

-- Чт июн 24, 2010 12:17:24 --

(Если только Вы не пишете на украинском: в этом случае замечательные украинские буквы є,і,ї окажутся в конце указателя.)



Я до этого пользовался в винде makeindex, но сейчас в linux и ни он, ни rumakeindex не подходят - проблемы с кодировками: сам скрипт rumakeindex должен быть в кодировке utf8 (иначе не работает), но тогда и файлы выходной .ind получается не в той кодировке при получении выходного документа.

Ну вообщем вопрос не стоит чтобы просто сделать указатель, а сделать его именно с помощью xindy.

 Профиль  
                  
 
 Re: xindy
Сообщение24.06.2010, 14:21 
Заслуженный участник
Аватара пользователя


14/02/07
2648
У меня в OpenSuse 11.2 с TeXLive 2008 (версия 13.18.1) все без проблем работает через makeindex (если пользоваться пакетом index).

Пруфпикча (можно увидеть, что украинскую і забили ногами и засунули в конец):
Изображение

 Профиль  
                  
 
 Re: xindy
Сообщение24.06.2010, 15:43 
Аватара пользователя


03/12/08
351
Букачача
Это конечно хорошо. У меня тоже работал rumakeindex в TeX Live 2008. Сейчас 2009 и Ubuntu 10.04 amd64. И при использовании rumakeindex ругается sed, что незавершённая строка s. Сохранив скрипт rumakeindex в кодировке utf-8 - всё заработило, но на выходе .ind-файл с кракозябрами - и соответсвенно в выходном документе. Если можете, тогда помогите в этом. Заранее спасибо.

 Профиль  
                  
 
 Re: xindy
Сообщение24.06.2010, 22:05 
Заслуженный участник
Аватара пользователя


14/02/07
2648
А Вы пробовали использовать просто makeindex в связке с пакетом index без всяких потусторонних скриптов вроде rumakeindex?

 Профиль  
                  
 
 Re: xindy
Сообщение25.06.2010, 08:04 
Аватара пользователя


03/12/08
351
Букачача
Хорхе в сообщении #334763 писал(а):
А Вы пробовали использовать просто makeindex в связке с пакетом index без всяких потусторонних скриптов вроде rumakeindex?

Как бы это ни прозвучало странно, но это я пробовал и в итоге - нет группировки алфавитного указателя, т.е. сплошняком идут указатели, а разбиение по группам (буквам русского алфавита) нет и не подхватываются настройки из файла .ist. Ибо файл содержит кодированные символы \IeC {\cyr..} и какая либо сортировка в этом случае отсутствует - ведь для того он и называется АЛФАВИТНЫМ УКАЗАТЕЛЕМ, чтобы по алфавиту было. Так что вы не правы - сначало надо перекодировать в русские буквы и уж затем применять makeindex для правильной сортировки и группировки!

 Профиль  
                  
 
 Re: xindy
Сообщение25.06.2010, 10:14 
Заслуженный участник
Аватара пользователя


14/02/07
2648
Это Вы в каком-то месте не правы. Так не должно быть. Проверьте внимательно, действительно ли у Вас в преамбуле написано \usepackage{index}. У меня при его использовании файл idx выглядит так:
Используется синтаксис LaTeX
\indexentry {ура}{1}
\indexentry {никаких кодированных символов}{1}
\indexentry {замечательные русские буковки}{1}
 

а файл .ind -- так:
Используется синтаксис LaTeX
\begin{theindex}

  \item замечательные русские буковки, 1

  \indexspace

  \item никаких кодированных символов, 1

  \indexspace

  \item ура, 1

\end{theindex}
 

 Профиль  
                  
 
 Re: xindy
Сообщение25.06.2010, 12:19 
Аватара пользователя


03/12/08
351
Букачача
Вообщем расположение пакета index пришлось подвигать относительно других пакетов в преамбуле, чтобы получилось. Большое спасибо. Но всё равно хочется разобраться и с xindy.

 Профиль  
                  
 
 Re: xindy
Сообщение25.06.2010, 12:52 
Заслуженный участник
Аватара пользователя


14/02/07
2648
Мне кажется, овчинка совершенно не стоит выделки, особенно если речь идет только о русском языке. Все эти рюшечки и оборочки, которые дает xindy, можно сделать и по-другому. Я в свое время им пользовался (и вскоре придется пользоваться вновь), потому что писал на украинском. Не могу сказать, чтобы мне понравилось с ним работать, и никакого желания снова с ним работать нет: сначала проблемы при инсталляции, потом морока с тем, чтобы заставить его работать правильно. Да и кнопочки в Kile (думаю, и в других редакторах), посвященной texindy, нету, то есть его приходится запускать из консоли. Кстати, использовать пакет index при этом тоже необходимо (хотя в руководстве к xindy пишут, что это только желательно).

 Профиль  
                  
 
 Re: xindy
Сообщение26.06.2010, 16:18 


26/06/10
71
Правильно ли я понимаю, что при подготовке украинского текста вTeХ'е, единственный вариант, при котором индексация будет в алфавитном порядке, это использование xindy?
В таком случае, можно ли с помощью xindy сделать в одном одном документе и предметный, и именной указатели?

P.S. Если есть у кого-нибудь файлик с примером, будьте добры, выложите в сеть, чтобы долго не мучаться и посмотреть как оно выглядит.

 Профиль  
                  
 
 Re: xindy
Сообщение26.06.2010, 17:24 
Заслуженный участник
Аватара пользователя


14/02/07
2648
Пакет index как раз позволяет делать несколько указателей. Для украинского текста можно, в принципе, выкрутиться и без xindy. Проблему представляют только буквы і,є,ї (ну и буква г "с чубом", но, я думаю, можно обойтись и без неё). Её можно решить по-хакерски, вставляя перед ними предыдущую букву украинского алфавита: \index{иізоморфізм@ізоморфізм}, \index{иїжак@їжак}, \index{еєвропа@Європа}. Тогда сортировка будет правильной.

 Профиль  
                  
 
 Re: xindy
Сообщение26.06.2010, 17:50 


10/09/06
172
Vinnitsa
Ну или переделать rumakeindex с использованием утилиты sed. Я для себя это дело переделал под украинский язык, могу поделиться.

 Профиль  
                  
 
 Re: xindy
Сообщение26.06.2010, 19:17 


26/06/10
71
Delpiero в сообщении #335394 писал(а):
Ну или переделать rumakeindex с использованием утилиты sed. Я для себя это дело переделал под украинский язык, могу поделиться.

Было бы здорово! Выложите куда-нибудь, пожалуйста.

-- Сб июн 26, 2010 19:18:21 --

Хорхе в сообщении #335389 писал(а):
Пакет index как раз позволяет делать несколько указателей.

А каким образом, не подскажите?

 Профиль  
                  
 
 Re: xindy
Сообщение27.06.2010, 11:38 
Заслуженный участник
Аватара пользователя


14/02/07
2648
anatoliy_kiev в сообщении #335414 писал(а):
Хорхе в сообщении #335389 писал(а):
Пакет index как раз позволяет делать несколько указателей.

А каким образом, не подскажите?

Не подскажю. Читайте руководство к пакету index.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group