Обновление скриптов упорядочения верстки
То, как программа размещает текст на полосе, обычно далеко от того, что должно быть. Собственно после размещения текста в полосах и начинается вёрстка. Это достаточно кропотливый процесс, и устав, мы нередко перестаём видеть исполнительские огрехи, глаз, что называется, «замыливается». Чтобы пропущенные ляпы не попали в тираж, сделаны эти скрипты. По сути, это развитие мыслей, обсуждавшихся в опубликованной ранее статье.
Скрипт Widow&Orphans#BadHyphenations#LastLines.jsx выполняет проверку верстки на наличие:
- висячих строк,
- абзацев с одним словом в последней строке,
- абзацев, внутри которых есть строки, начинающиеся с тире, минуса или дефиса,
- переносов в последней строке разворота (или страницы, если опция ‘Facing Pages’ неактивна)
- последних строк на странице, заканчивающихся одно- или двухбуквенным словом. Поиск в пространстве разворота (или страницы, если опция ‘Facing Pages’ неактивна).
После выполнения скрипта на экран выводится сообщение о результатах работы:
Висячие строки. С ними всё ясно. Их в тираже не должно быть. Точка.
Программа найдет все вдовы/сироты и сообщит, на какой странице они обнаружены. Очевидно, что после удаления первой висячей строки и переверстки могут исчезнуть и остальные.
Абзац с одним словом в последней строке. Если в последней строке абзаца только одно слово, или это часть слова, то верстка выглядит плохо:
Наверняка можно попробовать поработать с трекингом абзаца, чтобы вёрстка была аккуратнее.
Тире, дефисы в середине абзаца. Если такой случай имеет место, то скорее всего, текст был передан на вёрстку сырым, без предварительной обработки. Если скрипт обнаружит такой ляп, найденные знаки будут окрашены цветом myInfoColor, и в информационном окне будут указаны номера страниц с этой ошибкой. (Тире диалогов и дефисы списков в первых строках абзацев конечно же не считаются ошибкой и будут пропущены.)
Переносы в последней строке. Надо избавить читателя от случаев, когда на развороте переносится последнее слово нижней строки на правой странице. То же самое можно сказать про случай, когда верстка постраничная. Переносы слов в рамках смежных страниц и разворотов не создают дискомфорта. Чтобы эта проверка работала, надо, чтобы в описании текстовых стилей были установлены флажки Hyphenate Last Word и Hyphenate Across Column. Об этом достаточно сказано в упомянутой выше статье.
В приведенном выше окне скрипт сообщает, что обнаружено семь таких переносов. Что делать дальше? Для решения этой задачи есть скрипт LastWord_NOT_Hyphenated.jsx, о нём будет рассказано дальше.
Одно- и двухбуквенные слова в последней строке разворота. Это, скорее всего, не криминал, но я не люблю эти случаи, и поэтому добавил такую проверку.
Запустив этот скрипт и получив окно с номерами строк с проблемами, не надо переписывать с экрана на бумагу номера страниц. Это окно позволяет вносить правку в верстку, не гася его.
Скрипт LastWord_NOT_Hyphenated.jsx запрещает переносы в последнем слове нижней строки правой страницы разворота. Если для решения этой задачи ставить перед словом дискреционный пробел, то невозможно потом узнать — поставил этот пробел пользователь во время верстки или эта программа. Поэтому скрипт ставит перед словами пару знаков: символ нулевой ширины и дискреционный перенос. Это позволяет при необходимости возврата к исходному состоянию найти все эти пары символов и удалить их. Для такого отката предусмотрен скрипт LastWord_Hyphenated.jsx.
(Эти скрипты — развитие публиковавшегося ранее скрипта LastWordInColumnNotHyphenated.)
Процедура удаления этих переносов вызовет переверстку текста, и в результате могут появиться новые такие переносы.
Например, до запуска скрипта правая полоса выглядела так:
После выполнения скрипта появился новый перенос:
Поэтому скрипт после завершения работы проверяет текст еще раз и в случае обнаружения новых переносов сообщает об этом:
Для устранения новых переносов можно запустить скрипт еще раз, или как-то поработать с трекингом проблемных абзацев.
Не должно смущать то, что возможна ситуация, когда первый обсуждаемый тут скрипт сообщит одно число таких переносов, а этот скрипт отрапортует о меньшем числе обработанных слов. Это обусловлено переверсткой текста после каждого запрета переноса последнего слова на развороте. Так, в первом информационном окне указаны семь страниц с проблемными словами, а этот скрипт сообщил о четырех случаях запрета переносов в процессе своего исполнения. Поэтому важно после этого скрипта проверить еще раз текст — не появились ли там висячие строки, и пр. Собственно, в этом и состоит работа верстальщика — сделать текст приятным глазу.
Работа с неполными последними строками абзаца CorrectionOfSomeLastLinesInParagraph.jsx
Иногда в результате верстки получаются такие абзацы:
Взгляните, на последнюю строку абзаца, на неё указывает курсор — насколько невнятно пустое пространство в конце абзаца, оно намного меньше абзацного отступа!
Надо или трекингом втягивать текст, или доводить абзац до формата полосы. Выбрано второе решение.
Надо поставить курсор в текст и запустить скрипт. Появится окно:
Тут можно задать минимальный размер отступа справа последней абзацной строки. По умолчанию там ставится значение абзацного отступа. Эта установка работает только для параграфов, имеющих ненулевой абзацный отступ и с выключкой ‘Left Justify’, размеры измеряются в миллиметрах. Если фактический отступ справа последней строки меньше введенного значения, выключка этого абзаца изменяется на ‘Full Justify’. На картинке указано, казалось бы, какое-то странное значение абзацного отступа, но это не так — такое значение получено описанным тут скриптом .
Цвета перемен. Эти скрипты маркируют сделанные изменения цветом. По умолчанию это яркий красный цвет 0-100-100-0. После завершения верстки необязательно удалять их, достаточно изменить их формулу на 0-0-0-100, и весть текст станет черным.
Михаил Иванюшин
Скачать скрипты для приведения в порядок верстки.
Обновление скриптов упорядочения верстки
Вот что значит коллективный разум! : )
Благодаря трем пользователям, Татьяне Прокофьевой, Олегу Ященко и Павлу (фамилию не знаю) найдены несколько тонких ошибок в алгоритме работы этих скриптов.
Возникающее в результате работы программы переполнение текстовой цепи раньше не отлавливалось. Просто в голову не приходило, что такое может быть. Теперь эта ситуация контролируется.
Обновленные скрипты в архиве для скачивания. Теперь нет вариантов для разных версий — каждый скрипт работает в программах InDesign CS3-CS5.
И по результатам тестирования можно сформулировать еще такое дополнительное правило работы с этими скриптами: если вы хотите с их помощью контролировать висячие строки, то исключите из описания стилей установки Keep Options. Если они есть, и встретится перенос в последней строке, то избавление от него, как оказалось, может обернуться в книге добавлением страницы. Никогда бы не поверил, если бы сам не увидел, хотя это все легко объяснимо.
И еще маленькое усовершенствование работы со скриптами — в начале каждого из этих скриптов есть оператор //DESCRIPTION, благодаря чему при наведении курсора строку с названием скрипта в панели Scripts на экран выводится его описание.
Скачать обновленный набор скриптов для приведения в порядок верстки.
Спасибо, чудесные скрипты. Но у меня скрипт Widow&Orphans#BadHyphenations#LastLines.jsx выдает такую ошибку:
[URL=http://radikal.ru/F/s51.radikal.ru/i134/1105/a9/8058ef4689ee.png.html][IMG]http://s51.radikal.ru/i134/1105/a9/8058ef4689eet.jpg[/IMG][/URL]
Пришлите мне этот проблемный файл.
День добрый!
также проблема в строке 118
в Widow&Orphans#BadHyphenations#LastLines(CS5)
var myFirstWordInNextColumn = myNextColumn.words[0].contents; // первое слово в следующей колонке
возможно. будет ругаться дальше…
подозреваю что в Widow&Orphans#BadHyphenations#LastLines — то же самое…
вот скриншот http://d.pr/8wMi к Widow&Orphans#BadHyphenations#LastLines
Пришлите на адрес ivanyushin#yandex.ru
файл или ссылку на него в файлообменнике
Таже ошибка в скрипте
Я туплю или на самом деле, только один скрипт в архиве?
ImproveWinSoft.jsx
Ая-яй! Простите, глаз замылился, не туда смотрел.
такая проблема при запуске:
http://s018.radikal.ru/i514/1210/42/0a09bce9381b.jpg
«В текстовой цепочке есть переполнение»
И что с этим делать?
ИнДи ЦС 5
enaj: «В текстовой цепочке есть переполнение»
И что с этим делать?
Избавиться от него. 🙂
спс, кэп)
что есть «переполнение» и где его искать?
Переполнение — это ситуация, когда текст не поместился в отведенный объем. Но это букварь. Странно, что возникают такие вопросы.
Но с другой стороны, раз задались вопросом, обязательно найдете ответ.
Ищите учебник и читайте.
Сэнди Коэн и Дэвид Блатнер Вам в помощь.
ну что ж тут странного? кто-то бордюр поребриком называет)
мне никогда не приходило в голову, что недостаточное количество страниц или фреймов можно так «В текстовой цепочке есть переполнение» обозвать)
и еще, по первому скрипту. заранее прошу извинения, если вдруг опять вопрос из букваря)
есть ли возможность все найденные станицы сделать ссылками или кнопочками чтобы не вбивать руками номера? А так же менять размер окошка с найденными страницами?
Где, модно скачать этот скрипт?
Как скачать? — Над блоком комментариев есть строка «Скачать …», вот в ней щелкните мышкой на первом слове.
Здравствуйте! На мой взгляд, уместным дополнением к этим скриптам был бы автоматический поиск страниц, содержащих строки с нарушением компоновки текста (H&J Violations), которые при отображении на экране могут быть подсвечены градациями жёлтого цвета, что удобно и достаточно при условии, что вёрстка содержит одну–несколько страниц или работа идёт плотно и последовательно, однако на заключительных этапах и/или когда «глаз замыливается» и т.п. неплохо было бы иметь средство контроля опрятности вёрстки, позволяющее сразу переходить к проблемным местам, а не «пропахивать носом» несколько сотен страниц в поисках «жёлтых следов».
Пробовал поразмыслить, как это можно было бы сделать в принципе, и, признаться, не представляю.
Возможно, у кого-нибудь есть какие-нибудь соображения на этот счёт. Поделитесь, пожалуйста!
Да, меня тоже посещала эта идея. Но я так и не докопался, где и как Индизайн красит плотный текст.
Подходом к решению задачи, с другой стороны, могло бы быть нахождение не окрашенного (подсвеченного) текста, а самого критерия «подсветки». Т.е., иначе, возможно ли выяснить (определить) фактические межбуквенные расстояния, возникающие в конкретной строке абзаца с определёнными параметрами выключки/переноса, и, в случае наступления «подсветки», очевидно, выходящие за крайние значения этих параметров?
luninv, напишите мне на ivanyushin@yandex.ru.