2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: xindy
Сообщение13.07.2014, 21:24 


05/11/11
12
Здравствуйте!
Решал проблемы с русскими буквами в makeindex. Помогло подключение пакета index вместо makeidx. За что спасибо данной ветке. Однако есть еще одна незадача. У меня не группируются термины по буквал алфавита. В связи с этим строчки расположены сплошняком, а нужно чтобы между группами был отступ. Какие могут быть варианты решения проблемы?

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


31/01/14
11064
Hogtown
Если в терминале прогонять не makeindex foo, a
Код:
xindy -M texindy -L russian -C utf8 foo.ind

то все будет как надо, но к тому же появятся "заголовки" групп
Цитата:
В
вразумительный
выглядит
Г
гарнир
градус

(предполагается, что у Вас кодировка utf8)

Если хочется подавить "заголовки", то в преамбулу добавьте

Используется синтаксис LaTeX
\newcommand{\lettergroup}[1]{}


Но можно не подавлять, а изменить, например так

Используется синтаксис LaTeX
\newcommand{\lettergroup}{\item\textbf}


Можно отрегулировать вертикальный пробел между группами

Используется синтаксис LaTeX
\renewcommand{\indexspace}{\bigskip\bigskip}




Когда я разберусь с xindy стилями, и как работать с индексами на нескольких языках (русский, английский), я напишу рецепт

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


05/11/11
12
Red_Herring, благодарю за отклик.
Действительно xindy делает все корректно и других рецептов по части группировки не требуется. Однако указанная вами команда не срабоватала. Сработала немного другая

xindy -M texindy -L russian -C utf8 -o main.ind main.idx

Ваш интерес к стилям заставляет меня задать животрепещущий вопрос. Как оформить предметный указатель в русском стиле, например, как в томах Ландау, Лифшица (естественно без ручного форматирования файла *.ind, которое я могу сделать легко).

C помощью makeindex не получается сделать самое главное - автоматически делать первую букву в группе жирной. Попытки что-то найти в latex увенчались лишь ссылками на пакет droping или lettrine. Данная особенности называется dropcaps на английский манер (по понятным причинам). Это замена первой буквы абзаца на стилизованную картинку этой буквы. Так вот требуется лишь сделать первую букву в группе жирной. Подчеркиваю, что это не заголовок к группе. Его быть не должно.

Возможности makeindex в этом плане ограничены. Думаю, что xindy более гибок для такой задачи.

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


31/01/14
11064
Hogtown
brewer в сообщении #887484 писал(а):
Однако указанная вами команда не срабоватала

Потому что foo.idx нет? Но в компах foo и bar это заменители реальных имен.
brewer в сообщении #887484 писал(а):
C помощью makeindex не получается сделать самое главное - автоматически делать первую букву в группе жирной.

Приведите пример (как я сделал) чего Вы хотите

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


05/11/11
12
Конечно же я заменил foo на нужный мне файл ))) Не сработало по простой причине, потому что ind-файл уже существовал. Если его удалить, то Ваша команда верна. Что касается стиля предметного указателя, то он выглядит как-то так

Цитата:
Вразумительный
Выглядит
- хорошо
- плохо
-- черезчур

Гарнир
Градус

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


05/11/11
12
Длинные тире можно поставить переопределяя команды \item, \subitem и т.д. Также в makeindex можно задать соответствующий стиль. А вот написать первую букву жирным шрифтом в первом слове группы мне видится возможным пока только вручную.

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


31/01/14
11064
Hogtown
С английским работает следующий метод:

Вначале в .ind мы капитализируем все слова заменяя регекс \\item \([^ ]\) на \\item \U\1\E с помощью любой программы, позволяющей это сделать.

Затем вставляем в преамбулу
Используется синтаксис LaTeX
\long\def\lettergroup#1\item{\item\textbf}
\let\lettergroupDefault\lettergroup


К сожалению ни одна из частей не работает с русским

 Профиль  
                  
 
 Re: xindy
Сообщение23.08.2023, 14:29 


27/01/17
35
Здравствуйте!

Подниму эту давнюю тему. Скажите, пожалуйста, у кого-нибудь есть хороший пример предметного указателя? Хотя бы такого, какой присутствует в книге Львовского? Уже несколько дней пытаюсь найти способ поставить большую жирную букву русского алфавита (латинского получилось) перед каждой группой слов, начинающихся на одну букву.

Совсем было бы здорово, если будет пример с гиперссылками в этом указателе.

Заранее благодарен за ответ!

 Профиль  
                  
 
 Re: xindy
Сообщение25.08.2023, 15:08 


27/01/17
35
К сожалению, мне никто не ответил, но я кажется разобрался сам. Если кому-то это было бы интересно, пишите в личку!

 Профиль  
                  
 
 Re: xindy
Сообщение25.08.2023, 23:05 


03/06/12
2763
_Y_
я в свое время заморачивался с этим вопросом и мне даже удалось добиться вот чего:
Изображение
безо всякого там хинди. Правда, буквы перед каждой группой никакой: ни жирной, ни даже простой, и гиперссылок там у меня нет, но я и не ставил целью это там получить. И я и думал это показать вам, но только попозже: сейчас который уже день сижу с одной и той же задачей. Если вам это интересно, скажите, я постараюсь ответить в ближайшее время.

-- 26.08.2023, 00:23 --

Red_Herring в сообщении #888858 писал(а):
Вначале в .ind мы капитализируем все слова заменяя регекс \\item \([^ ]\) на \\item \U\1\E с помощью любой программы, позволяющей это сделать.

Red_Herring, это же вы ставите одно тире перед нужным словом, как у меня на фото?

 Профиль  
                  
 
 Re: xindy
Сообщение26.08.2023, 10:14 


27/01/17
35
Sinoid, большое спасибо за ответ!

Такой предметный указатель у меня получалось сделать ещё лет 7 назад. Тут у Вас нет ни больших букв, разделяющих слова, ни гиперссылок. А очерёдность стоит по очерёдности транслита ("з" = "z" -- самая последняя). ИМХО, это не очень здорово.

 Профиль  
                  
 
 Re: xindy
Сообщение27.08.2023, 00:24 


03/06/12
2763
_Y_ в сообщении #1606614 писал(а):
А очерёдность стоит по очерёдности транслита ("з" = "z" -- самая последняя). ИМХО, это не очень здорово.

если я правильно понял суть вашей проблемы, то, как мне кажется, вот один из вариантов ее решения:
Изображение
это - отрывок из хрестоматийной книги по $\LaTeX$ С. М. Львовского "Набор и верстка в системе $\LaTeX$", стр. 181. Посмотрите там сами более развернуто.

-- 27.08.2023, 02:06 --

_Y_ в сообщении #1606614 писал(а):
Тут у Вас нет ни больших букв, разделяющих слова, ни гиперссылок.

А вот и то, что вам нужно:
Изображение
я же помню, что, когда я это все раскрутил, вставка буквы перед каждой группой слов показалась мне настолько простой, что я даже пробовать не стал. Я вот сейчас смотрю, да, в том файле .ist, с которым я делал пдф с продемонстрированным выше указателем, установлено
Используется синтаксис LaTeX
headings_flag 0

, потому и буквы перед каждой группой нет: в полном соответствии с написанным у Львовского, при этом значении флага буквы и не должно быть. Если попробовать установить значение этого флага в 1, то, мне кажется, буква должна появиться. Во всяком случае, я так чувствую: практически все, что мне было нужно изменить в указателе из того, что я нашел в книгах, мне удалось получить в реале. Не удалось из того, что я пробовал, только с пакетом, мне кажется, splitidx, но он мне нужен был для программы LyX и это совершенно отдельная тема.

-- 27.08.2023, 02:15 --

С гиперссылками не знаю, нужно бы помудрить. Скорее всего, можно что-то придумать. Мне просто было без надобности.

 Профиль  
                  
 
 Re: xindy
Сообщение27.08.2023, 09:37 


27/01/17
35
Спасибо! Попробую :)

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

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



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

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


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

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