Designer.kz: Контроль концевых предлогов - Designer.kz

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Контроль концевых предлогов во врезках и заголовках

#1 Пользователь онлайн   Е. Мерзляков 

  • ветеран
  • PipPipPipPip
  • Перейти к блогу
  • Перейти к галерее
  • Вставить ник в быстрый ответ
  • Раскрыть информацию

Отправлено 09 Март 2008 - 11:15

Есть ли возможность автоматически переносить предлог в следующую строку или втягивать следующее за предлогом слово?
0

#2 Пользователь офлайн   jvk 

  • ветеран
  • PipPipPipPip
  • Вставить ник в быстрый ответ
  • Раскрыть информацию

Отправлено 11 Март 2008 - 07:54

1. Вот скрипт

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 был написан этот скрипт.
Лучше день потерять, потом за пять минут долететь... |Изображение
Изображение
0

#3 Пользователь онлайн   Е. Мерзляков 

  • ветеран
  • PipPipPipPip
  • Перейти к блогу
  • Перейти к галерее
  • Вставить ник в быстрый ответ
  • Раскрыть информацию

Отправлено 11 Март 2008 - 08:02

вот спасибо, попробую
0

#4 Пользователь офлайн   jvk 

  • ветеран
  • PipPipPipPip
  • Вставить ник в быстрый ответ
  • Раскрыть информацию

Отправлено 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) с русским текстом не работает!
Лучше день потерять, потом за пять минут долететь... |Изображение
Изображение
0

#5 Пользователь офлайн   boris kas 

  • Новичок
  • Pip
  • Вставить ник в быстрый ответ
  • Раскрыть информацию

Отправлено 15 Март 2008 - 13:27

Просмотр сообщенияjvk (11.3.2008, 7:54) писал:

1. Вот скрипт

[code]with(app){
........

Будет ли эта конструкция работать в ID CS2? Или только для ID CS3? Сам проверить не могу, так как у меня ID CS2 не установлен, но на днях знакомые, у которых CS2, интересовались этим вопросом.
0

#6 Пользователь онлайн   Е. Мерзляков 

  • ветеран
  • PipPipPipPip
  • Перейти к блогу
  • Перейти к галерее
  • Вставить ник в быстрый ответ
  • Раскрыть информацию

Отправлено 15 Март 2008 - 16:01

Так скрипт и написан под CS2 (хотя наверное и на CS работает).
Но реально GREP - рулез!
0

#7 Пользователь офлайн   jvk 

  • ветеран
  • PipPipPipPip
  • Вставить ник в быстрый ответ
  • Раскрыть информацию

Отправлено 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...

На самом деле это только кусок скрипта.
Функции "полнонго" скриптф:
1. Удаление двойных пробелов
2. Удаление двойных знаков параграфа
3. Нормализация ковычек ("лапки" на «елочки»)
4. Нормализация дефисов
5. Замена трех и более точек на знак "многоточие"
и т.д. …

Лучше день потерять, потом за пять минут долететь... |Изображение
Изображение
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему