Есть ли возможность автоматически переносить предлог в следующую строку или втягивать следующее за предлогом слово?
Страница 1 из 1
Контроль концевых предлогов во врезках и заголовках
#2
Отправлено 11 Март 2008 - 07:54
1. Вот скрипт
^S - неразрывный пробел
добовляем предлоги
findPretext: "пробел + предлог + пробел"
replPretext: "пробел + предлог + неразрывный пробел"
2. Можно попробовать поколдовать с GREP. Сам не пробовал т.к. до появления GREP был написан этот скрипт.
with(app){
myDoc = activeDocument
mySel = selection[0].parentStory
var findPretext = new Array (" по "," на "," а "," и "," в "," под "," к "," из "," от "," до "," без "," при "," над "," с "," со "," не "," о "," об "," для "," то "," я "," По "," На "," А "," И "," В "," Под "," К "," Из "," От "," До "," Без "," При "," Над "," С "," Со "," Не "," О "," Об "," Для "," То "," Я ")
var replPretext = new Array (" по^S"," на^S"," а^S"," и^S"," в^S"," под^S"," к^S"," из^S"," от^S"," до^S"," без^S"," при^S"," над^S"," с^S"," со^S"," не^S"," о^S"," об^S"," для^S"," то^S"," я^S"," По^S"," На^S"," А^S"," И^S"," В^S"," Под^S"," К^S"," Из^S"," От^S"," До^S"," Без^S"," При^S"," Над^S"," С^S"," Со^S"," Не^S"," О^S"," Об^S"," Для^S"," То^S"," Я^S")
for (a=0;a<findPretext.length;a++){
findChangeTextOptions.caseSensitive = true;
findTextPreferences.findWhat = findPretext[a];
changeTextPreferences.changeTo = replPretext[a]
mySel.changeText()}}^S - неразрывный пробел
добовляем предлоги
findPretext: "пробел + предлог + пробел"
replPretext: "пробел + предлог + неразрывный пробел"
2. Можно попробовать поколдовать с GREP. Сам не пробовал т.к. до появления GREP был написан этот скрипт.
Лучше день потерять, потом за пять минут долететь... |

#4
Отправлено 11 Март 2008 - 09:43
Поколдовал с GREP
Find what: (?i)(\s)(в|к|с|а|о|у|и|я|по|под|над|для|об|от|до)(\s)
Change to: $1$2~S
(?i) - «Без учета регистра» включен
(\s) - Любой пробел или символ табуляции
| - Or (или)
PS: (?i) на Mac OS X (10.4.11) с русским текстом не работает!
Find what: (?i)(\s)(в|к|с|а|о|у|и|я|по|под|над|для|об|от|до)(\s)
Change to: $1$2~S
(?i) - «Без учета регистра» включен
(\s) - Любой пробел или символ табуляции
| - Or (или)
PS: (?i) на Mac OS X (10.4.11) с русским текстом не работает!
Лучше день потерять, потом за пять минут долететь... |

#6
Отправлено 15 Март 2008 - 16:01
Так скрипт и написан под CS2 (хотя наверное и на CS работает).
Но реально GREP - рулез!
Но реально GREP - рулез!
#7
Отправлено 17 Март 2008 - 07:59
boris kas (15.3.2008, 16:27) писал:
Будет ли эта конструкция работать в ID CS2? Или только для ID CS3? Сам проверить не могу, так как у меня ID CS2 не установлен, но на днях знакомые, у которых CS2, интересовались этим вопросом.
Цитата
Так скрипт и написан под CS2 (хотя наверное и на CS работает)
Скрипт был написан под CS2 работал и под CS, потом, с изменением синтаксиса в CS3 был переписан по CS3 и я очень сильно сомневаюсь что он будет работать под нижними версиями, так как в предыдущих версиях
"…
findChangeTextOptions.caseSensitive = true;
findTextPreferences.findWhat = findPretext[a];
changeTextPreferences.changeTo = replPretext[a]
mySel.changeText()
…"
писалось в однустрочку, что то типа
"…
mySel.search(findPretext[a], true, true, replPretext[a])
…"
Цитата
1. Вот скрипт
with(app){
myDoc...
with(app){
myDoc...
На самом деле это только кусок скрипта.
Функции "полнонго" скриптф:
1. Удаление двойных пробелов
2. Удаление двойных знаков параграфа
3. Нормализация ковычек ("лапки" на «елочки»)
4. Нормализация дефисов
5. Замена трех и более точек на знак "многоточие"
и т.д. …
Лучше день потерять, потом за пять минут долететь... |

Поделиться темой:
Страница 1 из 1

Помощь













