Избранное »

22.09.2014 – 07:27 | 2 комментария | 27 207 views

Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com работает канал «InDesign Мастерская вёрстки». Там уже размещены более 70 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …

Читать полностью »
Работа в InDesign

Хитрости и секреты, приемы работы, уроки

Новая версия!

Особенности новой версии Индизайна

Плагины

Описание плагинов, информация о плагинах для работы с Adobe InDesign

Скрипты

Готовые к использованию скрипты для Adobe InDesign

Скриптинг

Описание языка, приёмов и методов программирования для Adobe InDesign

Home » Скрипты

Ударим Тайпфиттингом по висячим строкам

Добавлено на 24.03.2009 – 14:5613 комментариев | 5 152 views

«Висячая строка» в типографской практике — конечная строка абзаца, расположенная в начале полосы или колонки, а также начальная строка абзаца, оказавшаяся в конце полосы или колонки. То есть это строка, которая «оторвана» от своего абзаца и «висит» в одиночестве на предыдущей или последующей странице.

Профессиональное отношение к висячим строкам отрицательно, но полного запрета на висячие строки нет – они допустимы в газетной верстке, в оперативной полиграфии и в тому подобных случаях при условии, что верхняя висячая строка не короче 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

13 комментариев »

  • Anastasia:

    Скачала и опробовала. Отличные скрипты. Работа ускорилась намного. Спасибо! 🙂

  • monoxrom:

    объясните для новичка как им можно воспользоваться,точнее как его вызвать на рабочий стол?(установила все правильно)
    =)))

  • admin:

    На рабочий стол выззывать не надо. Надо в Индизайне нажать Alt+Ctrl+F11, и в появившейся панели Scripts искать в списке эти скрипты и запускать их двойным кликом мыши.

  • Makkonel:

    Удобный скрипт, но работает только с первым выделенным абзацем, возможна ли работа со всем фрэймом или даже документом?

  • jvk:

    2 Makkonel

    Не много не понял зачем это нужно. Скрипт брабытывает тот параграф в котором стит курсор. Писал скрипт для убийства висячих строк. Объясните для чего нужно вгонять/разгонять все параграфы во фрейме, стори или документе?

  • Nuntuco:

    Скрипт отличный, очень помогает. Один только вопрос — для CS4 будет???

  • admin:

    Nuntuco, эта версия прекрасно работает в InDesign CS4, мой более чем полугодовой опыт подтверждение тому.

  • Nuntuco:

    Значит вопрос перехода на Indesign CS4 решён!

  • ya-miheich:

    с верхними «висячками» скрипт борется небезуспешно. только как быть с нижними(первая строка абзаца внизу колонки)?! — к ним скрипт проявляет равнодушие.
    может кто подскажет средство и против них, а то надоело все рученьками, да рученьками…

  • ya-miheich:

    и еще: Makkonel прав! было б лучше если скриптом рассматривались бы все абзацы фрейма, тогда наверно и к низовым висячим строкам у скрипта интерес появился!

    а вобще, БОЛЬШОЕ СПАСИБО автору за работу.

  • admin:

    Мне кажется вы не поняли специфику работы со скриптом. Чтобы укоротить на строку абзац (борясь с висяками) не обязательно применять скрипт именно к этому абзацу с висячей строкой. Можно выбирать любой абзац на странице, стоящий перед абзацем с висящей строкой и втягивать его данным скриптом. Все-равно ведь висяк уйдет.Логичнее выбрать абзац с самым коротким «хвостом». У меня были случаи когда приходилось втягивать абзац на стр. 7, чтобы избавиться от висяка на стр. 10. То же можно сказать и в отношении разгонки абзаца, только желательно выбирать абзац с самым длинным «хвостом». Попробуйте на практике поработать со скриптом и понимание сразу прийдет.

  • P.A.Lych:

    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 изменений (последовательно, конечно, и в разные параметры, но все равно лишние).

    Доделали бы вы его, скрипт-то хороший…

  • irihka1:

    Спасибо большое за скрипт, очень выручает, но вот установки хотелось бы все же подогнать на нормальный вариант, вот что у меня получается
    4 2 1 8 4 1
    0,6 0,4 0,2 0,4 0,4 0,4
    0 0 0 0 0 0

    Но все же шрифт он изменяет, а этого не должно быть

    Очень бы хотелось услышать советы

Оставить комментарий!

Вы должны быть в системе чтобы оставить комментарий.