[ID CC-CC2021] Посоветуйте как разрешить проблему с оглавлением

sashamo

Топикстартер
12 лет на форуме
Сообщения
533
Реакции
10
Здравствуйте! Верстается большой медицинский каталог. В конце генерируется оглавление по фамилиях докторов и их специализации. Проблема в том, что по каталогу один и тот же доктор встречается в разных рубриках специализаций + еще встречается дублирование одного и того же доктора по одной специальности (к примеру работает сразу в нескольких клиниках). Короче сейчас мы это оглавление затаскиваем в Эксель и там сортируем по алфавиту и ручками чистим дублирующиеся специализаци и тд. Это нагляднее видно в прикрепленном файле что есть чего надо на выходе каталога. Есть ли способ в Индизайне все это дело почистить и привести в порядок или это только в Экселе надо пробовать автоматизировать?
 

Вложения

  • 1.jpg
    1.jpg
    114.9 КБ · Просм.: 219

xenOnn

15 лет на форуме
Сообщения
287
Реакции
45
Да, это называется Index.
Window -> Type & Tables -> Index
 
  • Спасибо
Реакции: izrukvruki

izrukvruki

15 лет на форуме
Сообщения
1 833
Реакции
302
А можно текст, например в ворде, каким-то образом разметить, чтоб указатели/индексы подцепились? Чтоб на верстке их не расставлять...
 

sashamo

Топикстартер
12 лет на форуме
Сообщения
533
Реакции
10
Про термин Index я в курсе :). Дело в том что изначально приходит здоровенный файл эксель из какой то базы видно генерируют его, потом мы его переформатируем чистим и только после куча манипуляций засовываем в верстку в Индизайн. Вопрос звучит: можно ли средствами самого Индизайн (greep или еще что то) сформированый Index довести до ума (я выкладывал скрин что именно от нас требуется) или тут все же нужно Индекс засовывать обратно в эксель и там воротить какие то скрипты-замены. Может кто есть кто может помочь (не за бесплатно) за такое дело?
 

К.Т.

Участник
Сообщения
323
Реакции
337
Я как-то сталкивался с подобной задачей и решал последовательностью греп-замен.
Для запуска сохранённой последовательности замен существуют разные скрипты, тут дело вкуса.
Абзацы оглавления перед этим должны быть отсортированы, для этого тоже есть готовые скрипты.
 

sashamo

Топикстартер
12 лет на форуме
Сообщения
533
Реакции
10
К.Т. а разве греп может взять строчку вырезать ее и вставить в нужное место? Если можно поподробнее как вам удалось привести оглавление в порядок с помощью греп.
 
Последнее редактирование модератором:

К.Т.

Участник
Сообщения
323
Реакции
337
Греп может удалить лишнее и перекомпоновать оставшееся.
В данном случае удалить повторы фамилий и специализаций и скомпоновать номера страниц через запятую.
Посмотрите idml, такой ли результат нужен.
 

Вложения

  • Иванов Петров Сидоров.idml.zip
    36.5 КБ · Просм.: 195

sashamo

Топикстартер
12 лет на форуме
Сообщения
533
Реакции
10
А грепом поделиться можете?
 

К.Т.

Участник
Сообщения
323
Реакции
337
0. Сортировка абзацев.
1. (\<\w+\>)([^\r]+)\r\1 — повторить несколько раз.
2. (\t\w+\t)([\d ,]+)\n\1 — повторить несколько раз.

Выражения рассчитаны на пример в файле "Иванов Петров Сидоров.idml"
 

xenOnn

15 лет на форуме
Сообщения
287
Реакции
45
Про термин Index я в курсе :). Дело в том что изначально приходит здоровенный файл эксель из какой то базы видно генерируют его, потом мы его переформатируем чистим и только после куча манипуляций засовываем в верстку в Индизайн. Вопрос звучит: можно ли средствами самого Индизайн (greep или еще что то) сформированый Index довести до ума (я выкладывал скрин что именно от нас требуется) или тут все же нужно Индекс засовывать обратно в эксель и там воротить какие то скрипты-замены. Может кто есть кто может помочь (не за бесплатно) за такое дело?
Я же ответил. Индекс. С его помощью можно сделать то, что вы хотите, буквально в пару кликов (если основываться на вашем примере, где десяток фамилий всего.
 
  • Спасибо
Реакции: sashamo

sashamo

Топикстартер
12 лет на форуме
Сообщения
533
Реакции
10

0. Сортировка абзацев.
1. (\<\w+\>)([^\r]+)\r\1 — повторить несколько раз.
2. (\t\w+\t)([\d ,]+)\n\1 — повторить несколько раз.

Выражения рассчитаны на пример в файле "Иванов Петров Сидоров.idml"
У меня по первому грепу неправильно отрабатывает список. По второму грепу вообще ничего не находит. Не пойму почему.
 

sashamo

Топикстартер
12 лет на форуме
Сообщения
533
Реакции
10
Как я понял инструментом Index в Индизайне можно только ручкамы это дело сделать но для большого каталога где тысячи записей оно наверное не подойдет. А стандартный инстумент оглавление такого не может сделать в принципе. Значит вариант или делать оглавление и потом греп-замены или искать специализированый софт для построения даного индекса.
 

К.Т.

Участник
Сообщения
323
Реакции
337
У меня по первому грепу неправильно отрабатывает список. По второму грепу вообще ничего не находит. Не пойму почему.
Я тупанул и забыл указать выражения для замен.

0. Сортировка абзацев.

1.
Поиск (\<\w+\>)([^\r]+)\r\1
Замена $1$2\n
Повторить несколько раз.

2.
Поиск (\t\w+\t)([\d ,]+)\n\1
Замена $1$2,
Повторить несколько раз.

Выражения рассчитаны на пример в файле "Иванов Петров Сидоров.idml"
 

xenOnn

15 лет на форуме
Сообщения
287
Реакции
45
Как я понял инструментом Index в Индизайне можно только ручкамы это дело сделать но для большого каталога где тысячи записей оно наверное не подойдет. А стандартный инстумент оглавление такого не может сделать в принципе. Значит вариант или делать оглавление и потом греп-замены или искать специализированый софт для построения даного индекса.
Если у вас там 1000 фамилий, то да, руками это делать малореально. Но я видел скрипт, или целый плагин, который берёт списком всё что вам надо и заносит в индекс, сорри не помню ни где видел, ни названия не запомнил.
Хотя в вашем примере не 1000 фамилий. ИНдиз же сам будет искать, к примеру, "Иванова", даже у вас 1000 полос.