[ID CS4-CS6] Форматирование предметного указателя

  • Автор темы Автор темы @diz@
  • Дата начала Дата начала

@diz@

отечеств. про
Топикстартер
20 лет на форуме
Сообщения
4 220
Реакции
1 914
В книге авторы сделали следующее оформление указателя:
upload_2017-9-30_2-10-7.png


Хотел привести его к такому виду (вставить indent to here):
upload_2017-9-30_2-11-6.png


Если в строке поиска набираю (–) ([\l\u])
upload_2017-9-30_2-14-41.png
,
то пропускает почти все строки с одиночным тире.

Если ставлю (\W) ([\l\u]), то вроде всё ОК, но ставит лишний маркер в этом месте:

upload_2017-9-30_2-19-31.png


Вроде всё должно быть очень просто, но не докумекаю :(

Вот текст для теста:

– лечение
– – острый
– – – желтушный вариант
– – – фульминантный
– – – холестатический вариант
– хронический
− аутоиммунный (см. аутоиммунный гепатит)
– – аутоантитела
– – гистология
– – клиническая картина
– – диагностика
– – прогноз и лечение
– – трансплантация
− бактериальный
− вирусный
– – иммунизация
– – острый
– – – постконтактная профилактика
– – – серологические маркеры
– – хронический
– – – классификация
– – – лечение внепеченочных проявлений гепатита В и С
– – – оценка стадии фиброза
– – – степень активности
− инфекционный
– – диагноз
– – клиническое течение
– – острый
– – – мононуклеоз
– – – гистологический, лобулярный
− ишемический
− лекарственный
– – острый
 
В вашем тестовом списке два разных тире.
Unicode 2212 и 2013

В строке поиска "~=" -- это Unicode 2013.
Только их и находит.
 
@@diz@, Дима, а я ведь так и предполагала вчера)))))
 
Ничего себе!
Я когда копировал тире из текстового фрейма в строку поиска, получал одну и ту же картинку. Потому и подумал, что тире одинаковые.
Т.е. чудес не бывает
 
Да я уже попробовал.
Не копировал из стремных мест, прокол ;]]
 
Да уже без разницы. Пришел такой текст, не заметил отличия на экране.

Не по теме:
И зачем столько похожих черточек и закорючек в шрифтах? '))'
 
Моя первая профессия (инженер-программист) с ходу предложила такой простой способ.
0) в первой строке, где стоит одиночное тире, вручную проставить символ.
1) заменить последовательность
конец абзаца - пробел
НА
конец абзаца #- пробел - пробел

2) добавить к двойным тире нужный символ так же, как вы это сделали

3) вернуть одиночные тире на своё место
конец абзаца #- пробел - пробел -> конец абзаца - пробел

4) в самой первой строке вручную удалить ненужное.
 
Зачем все эти сложности, если достаточно просто привести тире к единообразию с помощью всё того же грепа?

Швейк между тем разглядывал номер винтовки и вдруг воскликнул: 
 - Четыре тысячи двести шестьдесят восемь! Такой номер был у одного паровоза в Печках. Этот паровоз стоял на шестнадцатом пути. Его собирались увести на ремонт в депо Лысую-на-Лабе, но не так-то это оказалось просто, господин фельдфебель, потому что у старшего машиниста, которому поручили его туда перегнать, была прескверная память на числа. Тогда начальник дистанции позвал его в свою канцелярию и говорит: "На шестнадцатом пути стоит паровоз номер четыре тысячи двести шестьдесят восемь. Я знаю, у вас плохая память на цифры, а если вам записать номер на бумаге, то вы бумагу эту также потеряете. Если у вас такая плохая память на цифры, послушайте меня повнимательней. Я вам докажу, что очень легко запомнить какой угодно номер. Так слушайте: номер паровоза, который нужно увести в депо в Лысую-на-Лабе,-- четыре тысячи двести шестьдесят восемь. Слушайте внимательно. Первая цифра - четыре, вторая - два. Теперь вы уже помните сорок два, то есть дважды два - четыре, это первая цифра, которая, разделенная на два, равняется двум, и рядом получается четыре и два. Теперь не пугайтесь! Сколько будет дважды четыре^ Восемь, так ведь? Так запомните, что восьмерка в номере четыре тысячи двести шестьдесят восемь будет по порядку последней. После того как вы запомнили, что первая цифра - четыре, вторая - два, четвертая - восемь, нужно ухитриться и запомнить эту самую шестерку, которая стоит перед восьмеркой, а это очень просто. Первая цифра-- четыре, вторая-два. а четыре плюс два - шесть. Теперь вы уже точно знаете, что вторая цифра от конца - шесть; и теперь у вас этот порядок цифр никогда не вылетит из головы. У вас в памяти засел номер четыре тысячи двести шестьдесят восемь. Но вы можете прийти к этому же результату еще проще...
 
плохой был из Валеры программист)))