Скрипт для нумерации строк

Статус
Закрыто для дальнейших ответов.

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31
Не возьмется ли кто из уважаемых скриптописателей создать скрипт (или доработать существующий), позволяющий нумеровать строки?
ТЗ такое:
1. Нумероваться должны строки в заданном интервале (например, в пределах главы или в выделенном фрагменте, но обязательно многостраничном).
2. Желательна возможность выбора местарасположения нумерации: по внешнему, левому или правому полю.
3. Очень желательна опция нумерации только каждой пятой строки.
4. Возможность задавать стиль цифрам нумерации.
 

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31

dhead

Участник
Сообщения
48
Реакции
0
Ответ: Скрипт для нумерации строк

"доработать" не выйдет, по ссылке - скомпилированный скрипт.
 

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31
Ответ: Скрипт для нумерации строк

Еще вариант нашел, кажется, поинтереснее:
http://www.freelancebookdesign.com/?page_id=232
Правда, платный, но $20 за такое добро, право, не жалко отдать.
Не понял только, в какой версии он работает: демка в CS3 у меня не запустилась почему-то.
 

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31
Ответ: Скрипт для нумерации строк

Работает в CS4, но все равно не то, что нужно: заново начинает нумерацию на каждой странице и не позволяет выбрать стиль абзаца для нумерации.
А мне нужно, чтобы нумеровал строки с первой по последнюю в рамках главы, включая заголовок.
 

dhead

Участник
Сообщения
48
Реакции
0
Ответ: Скрипт для нумерации строк

а чем интереснее ?
в описании не нашел соответствия 2, 3 и 4 пунктам ваших требований.
и да, демка под CS3 вылетает с ошибкой.
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Скрипт для нумерации строк

Пункты 2 и 4 решаются путем редактирования объектного стиля.

Пункт 3 можно (временно, пока не будет программного решения) решить грепом:
ищем [1-4] , включая абзацный стиль нумерации; в замене пусто.

Стоп. Или там каждая пятая строка должна нумероваться последовательно (1,2,3...)?

По первому пункту пока мыслей нет.

ЗЫ. Нет. Греп не сработает, это я недодумал, извиняюсь
 

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31
Ответ: Скрипт для нумерации строк

Пункт 3 можно (временно, пока не будет программного решения) решить грепом:
ищем [1-4] , включая абзацный стиль нумерации; в замене пусто.
Это действительно решается поиском-заменой, но несколько сложнее. Сперва нужно пометить все цифры, заканчивающиеся на 0 и на 5, а потом удалить остальные.
По первому пункту пока мыслей нет.
А вот этот пункт самый важный.
 

dhead

Участник
Сообщения
48
Реакции
0
Ответ: Скрипт для нумерации строк

Пункты 2 и 4 решаются путем редактирования объектного стиля.
не совсем понял - к чему объектный стиль советуете применять?

Пункт 3 можно (временно, пока не будет программного решения) решить грепом:
ищем [1-4] , включая абзацный стиль нумерации; в замене пусто.
Стоп. Или там каждая пятая строка должна нумероваться последовательно (1,2,3...)?
Я понял, что нужно так:
1 text
text
text
text
5 text
text
text
text
text
10 text
...
Вообще, как я понял, SergHos ищет решение для регулярного использования.
Я бы взялся, но не за 20$, конечно :)
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Скрипт для нумерации строк

к чему объектный стиль советуете применять?
Скрипт создает объектый стиль для фреймов, в которые загоняется нумерация. Эти фреймы заякорены к строкам. Для нумерации этот скрипт создает абзацный стиль, который записывает в объектный стиль. Пара несложных движений в параметрах стиля - и у Вас нумерация хоть справа, хоть с внешней стороны...

Я понял, что нужно так:
Я тоже уже понял и дописал извинений в своем посте :)
 

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31
Ответ: Скрипт для нумерации строк

Если совсем конкретно, то нужно так, как на странице во вложении.
Обратите внимание, что заголовок "Глава XXX" идет без номера, счет в новой главе идет с первой строки заглавия, минуя номер главы.

Я бы взялся, но не за 20$, конечно :)

Конечно, это коммерческое использование, поскольку скрипт нужен мне для работы. С другой стороны, это разовый заказ с такими требованиями, и встретится ли аналогичная работа в будущем - я не знаю.
В общем, обсуждаемо.
 

Вложения

  • mvc.pdf
    36.9 КБ · Просм.: 596

dhead

Участник
Сообщения
48
Реакции
0
Ответ: Скрипт для нумерации строк

Скрипт создает объектый стиль для фреймов, в которые загоняется нумерация.
не заметил сразу, вижу уже )
кстати заменами наверное можно так, без всяких предвварительных пометок:
\d*[12346789]\Z менять на "пусто"
 

dhead

Участник
Сообщения
48
Реакции
0
Ответ: Скрипт для нумерации строк

Обратите внимание, что заголовок "Глава XXX" идет без номера, счет в новой главе идет с первой строки заглавия, минуя номер главы.

и у заглавия свой стиль. так?
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Скрипт для нумерации строк

В общем так. Делать универсальный скрипт - песня довольно долгая, поэтому пока накидал под Ваш случай.
Надеюсь тем скриптом Вы уже воспользовались, а значит нужный объектный стиль в Вашей работе уже создан. Теперь надо выделить кусок текста с первой строки, которая должна участвовать в нумерации, до конца главы или где Вам надо нумерацию остановить.
Скрипт пронумерует каждую пятую строку.

Не по теме:
В файловый архив не выкладываю, т.к. случай сильно уж частный.

Пробуйте на копии файла.
 

Вложения

  • нумерация строк temp.rar
    507 байт · Просм.: 406

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31
Ответ: Скрипт для нумерации строк

Пробуйте на копии файла.

А под какую он версию?
У меня в CS3 и 4 при выделенном тексте или фрейме выскакивает error 45, недопустимый объект, а без выделений error 21.
 

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Скрипт для нумерации строк

error 45, недопустимый объект
Значит у Вас не создан нужный объектный стиль. Создайте какой-нибудь "левый" текстовый фрейм, залейте Placeholder Text, прогоните скриптом, который Вы просили доработать в первом посте — у Вас будет создан этот объектный стиль. После этого всё должно заработать.
 

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31
Ответ: Скрипт для нумерации строк

Спасибо огромное, Eugenyus, все классно работает, кроме одного: трехзначные цифры не помещаются в создаваемом фрейме.

Собственно, в моем случае действительно вовсе необязательно, чтобы скрипт распознавал стили. Достаточно просто выделять необходимый фрагмент текста.

Еще раз, спасибо!!!
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Скрипт для нумерации строк

трехзначные цифры не помещаются
В тексте скрипта найдите строку:
Код:
var myTF = app.activeDocument.textFrames.add({geometricBounds:[0,0,String(myPonitSize)+" pt",String(myPonitSize)+" pt"],label:"StrNum",appliedObjectStyle:myObjStyle});
geometricBounds задается в формате [Y1, X1, Y2, X2].
Собственно, длина и высота фрейма там сейчас равны кеглю абзацного стиля.
Можно отрегулирувать под себя, задав значение, вместо последнего значения String(myPonitSize)+" pt", например "16 pt" (в кавычках!) или сколько там реально нужно.
 

SergHos

Топикстартер
15 лет на форуме
Сообщения
219
Реакции
31
Ответ: Скрипт для нумерации строк

А редактировать можно просто в блокноте?
 
Статус
Закрыто для дальнейших ответов.