2014 dxdy logo

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

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




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

Хочу воспользваться возможностями 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 
Аватара пользователя
Не нужны никакие xindy! Пользуйтесь пакетом index и все будет в порядке.

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

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

 
 
 
 Re: xindy
Сообщение24.06.2010, 11:37 
Аватара пользователя
Хорхе в сообщении #334476 писал(а):
Не нужны никакие xindy! Пользуйтесь пакетом index и все будет в порядке.

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

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



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

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

 
 
 
 Re: xindy
Сообщение24.06.2010, 14:21 
Аватара пользователя
У меня в OpenSuse 11.2 с TeXLive 2008 (версия 13.18.1) все без проблем работает через makeindex (если пользоваться пакетом index).

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

 
 
 
 Re: xindy
Сообщение24.06.2010, 15:43 
Аватара пользователя
Это конечно хорошо. У меня тоже работал rumakeindex в TeX Live 2008. Сейчас 2009 и Ubuntu 10.04 amd64. И при использовании rumakeindex ругается sed, что незавершённая строка s. Сохранив скрипт rumakeindex в кодировке utf-8 - всё заработило, но на выходе .ind-файл с кракозябрами - и соответсвенно в выходном документе. Если можете, тогда помогите в этом. Заранее спасибо.

 
 
 
 Re: xindy
Сообщение24.06.2010, 22:05 
Аватара пользователя
А Вы пробовали использовать просто makeindex в связке с пакетом index без всяких потусторонних скриптов вроде rumakeindex?

 
 
 
 Re: xindy
Сообщение25.06.2010, 08:04 
Аватара пользователя
Хорхе в сообщении #334763 писал(а):
А Вы пробовали использовать просто makeindex в связке с пакетом index без всяких потусторонних скриптов вроде rumakeindex?

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

 
 
 
 Re: xindy
Сообщение25.06.2010, 10:14 
Аватара пользователя
Это Вы в каком-то месте не правы. Так не должно быть. Проверьте внимательно, действительно ли у Вас в преамбуле написано \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 
Аватара пользователя
Вообщем расположение пакета index пришлось подвигать относительно других пакетов в преамбуле, чтобы получилось. Большое спасибо. Но всё равно хочется разобраться и с xindy.

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

 
 
 
 Re: xindy
Сообщение26.06.2010, 16:18 
Правильно ли я понимаю, что при подготовке украинского текста вTeХ'е, единственный вариант, при котором индексация будет в алфавитном порядке, это использование xindy?
В таком случае, можно ли с помощью xindy сделать в одном одном документе и предметный, и именной указатели?

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

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

 
 
 
 Re: xindy
Сообщение26.06.2010, 17:50 
Ну или переделать rumakeindex с использованием утилиты sed. Я для себя это дело переделал под украинский язык, могу поделиться.

 
 
 
 Re: xindy
Сообщение26.06.2010, 19:17 
Delpiero в сообщении #335394 писал(а):
Ну или переделать rumakeindex с использованием утилиты sed. Я для себя это дело переделал под украинский язык, могу поделиться.

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

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

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

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

 
 
 
 Re: xindy
Сообщение27.06.2010, 11:38 
Аватара пользователя
anatoliy_kiev в сообщении #335414 писал(а):
Хорхе в сообщении #335389 писал(а):
Пакет index как раз позволяет делать несколько указателей.

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

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

 
 
 [ Сообщений: 28 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group