Нумерация страниц с указанием номеров текущей и соседней
Коллеги, здравствуйте.
Этим материалом я открываю новый формат обеспечения скриптами пользователей индизайна: «Скрипт по цене чашки кофе в вашем городе».
Ну представьте, мы встретились в вашем городе, разве вы не будете рады угостить меня чашкой хорошего крепкого ароматного кофе? Нам ведь будет о чём поговорить, я уверен.
Вот оплата за скрипт, который вы сперва попробуете и возьмёте себе, это и будет такая виртуальная плата за как будто бы встречу за чашкой кофе. Хорошо?
Сегодня я расскажу о скрипте нумерации страниц. Иногда требуется поместить на одной странице номера текущей и предыдущей страниц, или номера текущей и следующей. Такая необычная задача штатными средствами не решается.
Борис Кащеев показывал вариант решения схожей задачи:
http://adobeindesign/2009/07/04/numeraciya-stranic-s-odnoj-storony-razvorota/
Но в том подходе есть обязательное условие: фрейм с указателем на предыдущую или следующую страницу должен пересекаться с фреймом статьи. Дело в том, что ‘Номер предыдущей страницы’ (Previous Page) и ‘Номер следующей страницы’ (Next Page) — это не номера предыдущей и следующей страниц документа относительно текущей страницы, как это иногда думают.
’Номер предыдущей страницы’ — это номер страницы, где размещен предыдущий фрейм текущей статьи;
’Номер следующей страницы’ — это номер страницы, где эта статья продолжается.
А сегодняшний скрипт именно решения задачи размещения рядом номеров текущей и соседней страницы.
Допустим, нам надо на странице иметь все три номера — предыдущий, текущий и следующий.
Для этой программы надо заранее иметь на мастер-странице отдельный фрейм для указания предыдущей страницы, отдельный фрейм для следующей страницы, и этим фреймам дать уникальные метки (Окно > Утилиты > Ярлык сценария):
— PrevPage — предыдущая страница (previous page)
— NextPage — следующая страница (next page)
Текущий номер страницы прекрасно указывает в фрейме сам индизайн, команда Ctrl+Alt+Shift+N.
А чтобы скомпоновать номера, например, ‘предыдущая — текущая’, достаточно разместить рядом фрейм с меткой PrevPage и фрейм с текущим номером.
Такой же подход для случая ‘текущая — следующая’.
Можно ограничиться и одной парой фреймов для оформления нумерации страниц, например, ‘текущая — следующая’, тогда будет нужен только служебный фрейм с меткой NextPage.
В фреймах для предыдущего/последующего номеров не должно быть никакого текста; при повторном запуске скрипта информация в них будет перезаписана. Поэтому если нужны какие-то слова для этих номеров, помещайте их в отдельные текстовые фреймы.
При запуске скрипта выводятся два поля задания диапазона поиска меток.
В них уже будут числа:
— если выделен текст, то там номера страниц начала и конца выделенного текста
— если ничего не выделено, то номера первой и последней страниц документа.
Программа ищет на страницах указанного диапазона фреймы с метками PrevPage и NextPage, вычисляет и помещает в них соответствующие метке числа. Если номер предыдущей страницы оказался равным нулю, он не ставится в текстовый фрейм. Аналогично с номером следующей страницы, если он оказался больше номера последней страницы.
Поскольку программа в процессе работы отсоединяет от мастер-страницы фреймы с метками PrevPage и NextPage, имеет смысл помещать эти фреймы на отдельный слой. Будет необходимость полностью изменить их оформление — достаточно удалить этот слой, и все эти фреймы из вёрстки исчезнут, так что не придётся их по одному выделять и удалять.
Вот ссылка на видео:
https://youtu.be/VIb8y7xVr3A
Это ссылка на архив:
https://www.dropbox.com/s/5rkk4gq4h4joztd/APN.zip?dl=0
В архиве скрипт и файл с реквизитами «за кофе» :).
Пробуйте, пишите свои комментарии.
Если он годится для коллекции ваших любимых скриптов, то не забудьте про кофе. Хорошо?
Последние комментарии