[ID CS4-CS6] Стиль для сносок

Leonid A.

Участник
Топикстартер
Сообщения
2
Реакции
0
Здравствуйте!

Пытаюсь сделать grep-стиль, который находит конец абзаца, после которого идет пустая строка и новый абзац с энным количеством слов. В поиске запрос работает (ищет то что нужно), когда забиваю \r{2}.+ в стиль, ничего не происходит.

Подскажите пжста что делаю не так или альтернативный подход.

P.S. Nested-styles не подойдут, т.к. не всегда в наличии есть двоеточие в конце абзаца.

question-grep.jpg
 

vinnik63

Участник
Сообщения
322
Реакции
99
если вам надо выделять только строку "На заметку:", то так и укажите в греп-стиле:

Untitled-1.jpg
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 469
Реакции
1 528

LeonidB

Их бин
10 лет на форуме
Сообщения
2 469
Реакции
1 528
В поиске запрос работает (ищет то что нужно)
Так найдите это поиском и вставьте в конце найденного выражения "Конец вложенного стиля в данной позиции".
А уже затем в
задайте нужное Вам выделение до этого символа конца вложенного стиля.
 

Leonid A.

Участник
Топикстартер
Сообщения
2
Реакции
0
@kstati, @vinnik63, @Skvoznyak, цель была менять стиль не только "На заметку", но и других подобных абзацев перед которыми идет два переноса строки (два раза enter). По сути получилось создать запрос в GREP-поиске, который почему-то не работает в GREP-стилях. Конечно, я могу найти такие абзацы через поиск и заменить им всем стиль, но почему GREP-стили не приводят к такому результату?

Так найдите это поиском и вставьте в конце найденного выражения "Конец вложенного стиля в данной позиции".
Не хотелось бы вручную расставлять такие метки или даже поиском потому что к сожалению это не автоматизирует процесс. Или я неправильно понимаю. Но спасибо!
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 469
Реакции
1 528
но почему GREP-стили не приводят к такому результату?
ГРЕП-стиль (как и nested, о чём Вам уже сказали) "сидит" в свойствах абзаца, то есть относится к тексту, содержащемуся в ОДНОМ абзаце.
 

kstati

иɯɐɯɔʞ
10 лет на форуме
Сообщения
1 138
Реакции
512
@kstati, @vinnik63, @Skvoznyak, цель была менять стиль не только "На заметку", но и других подобных абзацев перед которыми идет два переноса строки (два раза enter). По сути получилось создать запрос в GREP-поиске, который почему-то не работает в GREP-стилях. Конечно, я могу найти такие абзацы через поиск и заменить им всем стиль, но почему GREP-стили не приводят к такому результату?


Не хотелось бы вручную расставлять такие метки или даже поиском потому что к сожалению это не автоматизирует процесс. Или я неправильно понимаю. Но спасибо!
Причину отметили:
ГРЕП-стиль (как и nested, о чём Вам уже сказали) "сидит" в свойствах абзаца, то есть относится к тексту, содержащемуся в ОДНОМ абзаце.

Возможное решение - так или иначе делать правку исходника и применять подходящий nested-style. При этом необходимо учитывать, что nested-style работает именно внутри одного абзаца.
Либо просто проводить автозамену типа:
Поиск: (?=\r\r)[^\r]+:\r
Замена - пусто
Стиль замены - нужный стиль.
 

kstati

иɯɐɯɔʞ
10 лет на форуме
Сообщения
1 138
Реакции
512
Лучше бы поправить, а то вряд ли что-то найдется. :)
Код:
(?<=\r\r).+\:?$

. - поиск любого вхождения
[^\r] - поиск НЕ \r

\:?$ - возможно двоеточие в конце строки. Оно спокойно поглащается .+ . Если двоеточие не обязательно в конце строки, то эта часть шаблона излишняя. При этом неочевидная - конец строки, или конец текста? Да и слеш перед двоеточием излишен.
:\r - точно есть двоеточие в конце строки (возврат коретки)

А вот начало - верное - (?<=... - поиск подстроки, идущей перед основной частью шаблона. Да, здесь угловую скобку упустил.

ptoof.jpg

То бишь предлагаемое мною решение таково:
- поиск:
Код:
(?<=\r\r)[^\r]+:\r
- замена:
[пусто]
- стиль замены:
[нужный стиль]
 
Последнее редактирование модератором:
  • Спасибо
Реакции: LeonidB

LeonidB

Их бин
10 лет на форуме
Сообщения
2 469
Реакции
1 528
Не хотелось бы вручную... или даже поиском потому что к сожалению это не автоматизирует процесс.
Ну вот уж совсем экзотическое решение Вам предложу, если уж так хочется использовать именно греп-стили. Объедините всё в один абзац, используя шифт-таб (табулятор выравнивания по правому краю) и два шифт-энтера (обрывы строки):

gr-1.jpg

В греп-стиле выделяйте символьным стилем выражение
Код:
(?<=~y\n\n).+$

gr-2.jpg

Если хочется имитировать у выделенной строки абзацный отступ, поставьте (и настройте) перед текстом табуляцию. Она войдёт в выражение .+, так что в греп-стиле ничего менять не придётся:
gr-3.jpg