Ударим Тайпфиттингом по висячим строкам
«Висячая строка» в типографской практике — конечная строка абзаца, расположенная в начале полосы или колонки, а также начальная строка абзаца, оказавшаяся в конце полосы или колонки. То есть это строка, которая «оторвана» от своего абзаца и «висит» в одиночестве на предыдущей или последующей странице.
Профессиональное отношение к висячим строкам отрицательно, но полного запрета на висячие строки нет – они допустимы в газетной верстке, в оперативной полиграфии и в тому подобных случаях при условии, что верхняя висячая строка не короче 2/3 формата набора (то есть ширины текста), а строка перед нижней висячей строкой также не меньше 2/3 формата набора. То есть, висячая строка не должна быть слишком короткой.
Причины неприязни к «висячим» строкам отчасти эстетические (они искажают внешний вид полосы набора, лишая ее традиционной прямоугольной формы), отчасти же технические – они ухудшают удобочитаемость текста, перенося начальную или конечную строку абзаца на другую страницу. Ян Чихольд писал, что они «способны оскорбить и глаз, и разум».
Современные правила лишь допускают оканчивать полосу концевой строкой, начинать полосу абзацной строкой, а также размещать в конце или начале полосы абзац из одной строки (например, в прямой речи, когда строка является одновременно и концевой и абзацной).
Кроме того, допускается начинать полосу короткими строками в математических рассуждениях (например, между формулами часто встречаются строки типа «и», «или», «здесь» и другие).
Обнаружить висячие строки, как и другие проблемы с размещением текста на полосах издания, можно легко при помощи скрипта М. Иванюшина DoMakeupOK (приведение вёрстки в порядок). Ознакомиться с ним можно здесь.
Проблему висячих строк можно решить следующими способами:
✅ можно, по совету С. М. Львовского, «немного отредактировать абзац… ». Это возможно при верстке собственного сочинения, и может быть затруднено или невозможно при верстке произведений других авторов, и невозможно с произведениями авторов, которых уже нет в живых; в общем, так себе способ.
✅ можно увеличить интервал между абзацами (что тоже не очень хорошо, но иногда в безвыходных случаях им приходится пользоваться. Чихольд говорит об этом: «такой подход противоречит нормам хорошего книгопечатания»);
✅ можно увеличить предыдущую полосу на одну строку или уменьшить текущую полосу на одну строку: во втором случае возникнет «слепая» строка, но зато «не возникает разнобоя в числе строк». В применении этого приема Чихольд ссылается на практику XVIII–XIX веков. Однако это радикальные методы; предполагается, что прежде, чем прибегнуть к ним, верстальщик попытается решить проблему конкретного абзаца частными средствами.
✅ можно прибегнуть к выгонке и вгонке – манипуляциям с межсловными и межбуквенными интервалами, чтобы втянуть или выгнать текст; этот способ реализован в бесплатном наборе скриптов TypeFitting.
TypeFitting — набор скриптов Евгения Карева для «борьбы» с висячими строками. Набор состоит из двух скриптов, один из которых делает «вгонку», а второй — «выгонку» строк.
Для этого скрипты пошагово уменьшают или увеличивают значения Justification, проверяя количество строк абзаца. Если это количество изменилось – скрипты прекращают работу. Максимальное число шагов (Cycle), которое делают скрипты, равно четырем. Увеличение этого параметра до 5 и более нецелесообразно, так как текст будет слишком «зажат» или «разряжен». Если вгонка/выгонка не произошла, то скрипты возвращают первоначальные значения Justification. В этом случае следует попытаться обработать скриптом другой абзац.
Максимальное число итераций Cycle а также шаги изменения параметров Justification заданы в файле TypeFittingParams.ini и равны:
WordSpacing = 1;
LetterSpacing = 0.1;
GlyphScaling = 1
Cycle = 4
Файл TypeFittingParams.ini должен находиться в той же папке, что и скрипты.
Перед запуском того или иного скрипта из набора нужно поставить курсор в обрабатываемый абзац. При выделении текстового фрейма инструментом Selection Tool (черная стрелка) обработке будет подвергаться первый абзац.
An InDesign CS3 JavaScript
OS: Mac OS X, Windows XP
© 2007 Е. Карев (karev_e@mail.ru, e.v.karev@gmail.com).
Скачать скрипты TypeFitting
Скачала и опробовала. Отличные скрипты. Работа ускорилась намного. Спасибо! 🙂
объясните для новичка как им можно воспользоваться,точнее как его вызвать на рабочий стол?(установила все правильно)
=)))
На рабочий стол выззывать не надо. Надо в Индизайне нажать Alt+Ctrl+F11, и в появившейся панели Scripts искать в списке эти скрипты и запускать их двойным кликом мыши.
Удобный скрипт, но работает только с первым выделенным абзацем, возможна ли работа со всем фрэймом или даже документом?
2 Makkonel
Не много не понял зачем это нужно. Скрипт брабытывает тот параграф в котором стит курсор. Писал скрипт для убийства висячих строк. Объясните для чего нужно вгонять/разгонять все параграфы во фрейме, стори или документе?
Скрипт отличный, очень помогает. Один только вопрос — для CS4 будет???
Nuntuco, эта версия прекрасно работает в InDesign CS4, мой более чем полугодовой опыт подтверждение тому.
Значит вопрос перехода на Indesign CS4 решён!
с верхними «висячками» скрипт борется небезуспешно. только как быть с нижними(первая строка абзаца внизу колонки)?! — к ним скрипт проявляет равнодушие.
может кто подскажет средство и против них, а то надоело все рученьками, да рученьками…
и еще: Makkonel прав! было б лучше если скриптом рассматривались бы все абзацы фрейма, тогда наверно и к низовым висячим строкам у скрипта интерес появился!
а вобще, БОЛЬШОЕ СПАСИБО автору за работу.
Мне кажется вы не поняли специфику работы со скриптом. Чтобы укоротить на строку абзац (борясь с висяками) не обязательно применять скрипт именно к этому абзацу с висячей строкой. Можно выбирать любой абзац на странице, стоящий перед абзацем с висящей строкой и втягивать его данным скриптом. Все-равно ведь висяк уйдет.Логичнее выбрать абзац с самым коротким «хвостом». У меня были случаи когда приходилось втягивать абзац на стр. 7, чтобы избавиться от висяка на стр. 10. То же можно сказать и в отношении разгонки абзаца, только желательно выбирать абзац с самым длинным «хвостом». Попробуйте на практике поработать со скриптом и понимание сразу прийдет.
CS4.
Содержимое файла TypeFittingParams.ini:
var MYmaximumWordSpacing = 10;
var MYmaximumLetterSpacing = 0;
var MYmaximumGlyphScaling = 0;
var MYdesiredWordSpacing = 3;
var MYdesiredLetterSpacing = 0;
var MYdesiredGlyphScaling = 0;
var MYminimumWordSpacing = 1;
var MYminimumLetterSpacing = 0;
var MYminimumGlyphScaling = 0;
var myCycle = 2
Пошаговый (через Cmd+Z) анализ выключки показывает, что изменения все равно происходят с вашими параметрами (например Glyph Scaling вообще не должен был меняться, а он уменьшился на 2%). И после втяжки строки скрипт прекратил работу не сразу, а закончил цикл внеся еще 6 изменений (последовательно, конечно, и в разные параметры, но все равно лишние).
Доделали бы вы его, скрипт-то хороший…
Спасибо большое за скрипт, очень выручает, но вот установки хотелось бы все же подогнать на нормальный вариант, вот что у меня получается
4 2 1 8 4 1
0,6 0,4 0,2 0,4 0,4 0,4
0 0 0 0 0 0
Но все же шрифт он изменяет, а этого не должно быть
Очень бы хотелось услышать советы