Вёрстка должна быть в радость

zastavka ip 2

Подготовка текста к печатной публикации, казалось бы, рутинная и не очень интересная работа.

Тем не менее у меня, автора этой колонки, к ведению которой, согласно договорённости с редакцией сайта «Индустрия печати», я сейчас приступаю, есть иное мнение.

За всё время трудовой деятельности у меня были разные места работы, связанные с вёрсткой, сначала в QuarkXPress, потом в InDesign. Последний порадовал возможностью делать скрипты, решающие частные задачи вёрстки. Самая известная моя программа – это DoTextOK (подготовка к ней текста). Бесплатный скрипт, имеющийся на машинах почти всех верстальщиков.
https://dotextok.ru/allscripts/besplatnye/dotextok-podgotovka-teksta-k-vjorstke

После выхода на пенсию я сделал сайт https://dotextok.ru, на котором собрал почти все свои скрипты. А так как идей пока ещё много, то он пополняется новыми решениями. Да и пользователи делятся описанием проблемных ситуаций, многие из них стали поводом создания программ.

Я считаю, и это, если хотите, моё кредо, что «вёрстка должна быть не в тягость, а в радость». И скрипты помогают в достижении такого подхода к работе. В сети Вконтакте есть сообщество «InDesign Мастерская вёрстки» https://vk.com/longliveindesign, подписывайтесь.

Будут вопросы, пишите на dotextok@gmail.com. Я всегда отвечаю. Также есть возможность оставить непосредственно на сайте «Индустрии печати» свой комментарий.

Эту колонку на сайте «Индустрии печати» хочу посвятить рассказам об истории появления некоторых скриптов и о решаемых ими задачах.

Первой её темой станет проблема деления нижних строк в текстовых таблицах.


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

Но в InDesign это не так, он помещает на полосе ячейку целиком. Если она не помещается, то переносит её на следующую страницу. А если ячейка больше высоты полосы набора, то таблица вообще исчезает.

Эта проблема была обнаружена при появлении в InDesign функции обработки таблиц фактически сразу после появления этой программы. На ресурсе сбора пожеланий пользователей — что требуется улучшить (uservoice), это замечание, наверное, на самом верху. Но так до сих пор ничего и не сделано. Я думаю, что всё останется без изменений. И вот почему.

Описание таблицы — это часть объектной модели документа. И для работы с таблицами в этой модели разработчики сразу добавили много опций: объединение, разделение, управление отступами, толщиной контура ячейки и пр. Но вот опция деления таблицы по каким-то причинам сразу добавлена не была. В итоге всю кропотливую работу по отладке возможностей работы с таблицами сделали без неё.

Чтобы добавить сейчас в функционал такую возможность, надо заново тестировать всё, что могут таблицы. И это добавление не должно влиять на работоспособность сделанных ранее скриптов и плагинов для работы с таблицами. При нынешней направленности индизайна на совершенствование работы в облаке какая-то опция работы с таблицами точно остаётся в стороне.

Результат такой, что когда из Word импортируется сложная таблица, то вся морока, если не сказать мука, деления строк таблицы достаётся верстальщику. И если позже появится какая-то правка, изменяющая высоту какой-то ячейки, то надо будет снова что-то делать с нижними строками.

Вот так, тоже помучившись с такой многостраничной таблицей, я решил сделать необходимый скрипт. И уже третий год как у разных пользователей он успешно делит строки таблиц.

delenie stroki tablitsy

Работает он так: ставишь курсор в ячейку строки, которая не поместилась на предыдущей странице, и программа делит эту строку по горизонтали. В результате часть текста в конце предыдущей страницы, оставшаяся его часть — на текущей, где был установлен курсор при запуске обработки.

Этот результат совсем не такой, как в Word: после обработки мы имеем уже две строки в таблице вместо одной. Но в рамках имеющихся возможностей индизайна это единственное решение. И скрипт обрабатывает выбранную строку за одну-две секунды.

Разделённые скриптом строки можно объединить в исходную строку. Программа работает с любыми таблицами, в которых в проблемных строках нет текста по вертикали или встроенной в ячейку картинки. Если слева есть колонка объединённых ячеек, то это не проблема. Для «полосатой» таблицы цвет заливки полученных разделённых строк будет одинаковый, то есть исходное чередование заливки сохранится.

Решён и такой случай, присланный мне как нерешаемый пример: в учебнике по китайскому языку двухколонник, в котором высота ячеек часто была в полтора-два раза больше полосы набора. В серии из семи демонстрационных видео вторая половина последнего посвящена объяснению, как использовать этот скрипт с такими таблицами.

Вся информация об этой программе тут:
https://t.me/InDesign_Tables
https://dotextok.ru/allscripts/platnye/delenie-stroki-tablitsy-po-gorizontali-cs6

Там есть демоверсия: полнофункциональная программа, работающая с конкретными таблицами. Этого достаточно, чтобы понять возможности данного решения.

Михаил Иванюшин, независимый эксперт-консультант

«Индустрия печати» • PrintIndustry.ru