Исторически сложилось, что для верстки книг, газет и журналов профессионалы используют Quark Xpress и Adobe PageMaker, реже - Corel Ventura и Adobe InDesign. Верстка в офисных пакетах вообще не выдерживает никакой критики, хотя бывает и это. Также традиционен выбор платформы. Обычно это Mac или Windows. А как обстоят дела в Линуксе?
Не так плохо, как может показаться на первый взгляд. Во-первых, существуют системы верстки TeX/LaTeX. Но они более ориентированы на работу с научными текстами, которые переполнены разными формулами, графиками и т.п. Известно, что ученые для публикации своих научных трудов сами подготавливают верстку в TeX/LaTeX и в таком формате отсылают к редактору. Линукс - идеальная среда для TeX.
Но не всем нужен этот формат. Нет ли чего-нибудь более привычного? В первую очередь нас интересует аналог Quark'а или Pagemaker'а. Оказывается, есть и такое. Пару дней назад я поставил себе новый Linux Mandrake 9.1 (см. мою стаью "Ура, поспел наш корнеплод", МК №16 (239)) и обнаружил в его комплекте продукт под названием Scribus (http://web2.altmuehlnet.de/fschmid). На другой день скачал более свежую его версию с разницей в пару недель в виде исходника (http://web2.altmuehlnet.de/fschmid/scribus-0.8.tar.gz, 1.4 Мб) и без проблем установил его столь привычной последовательностью команд:
Чуть не забыл! Для поддержки TIFF надо перед запуском скрипта конфигурации ввести в консоли команду:
Все необходимые для компиляции библиотеки есть в дистрибутиве Mandrake. Думаю, что в ALT Linux и Red Hat - тоже. Только вот перед установкой нового Скрибуса старый лучше деинсталлировать. Для нормального цветоделения надо будет еще скачать и установить littlecms.
Разработчики отмечают, что Скрибус находится еще на ранней стадии разработки. Что, безусловно, влияет на ряд факторов, из-за которых я не буду СЕЙЧАС призывать всех верстальщиков переходить на Скрибус. Основной сдерживающий фактор - странная поддержка кириллицы. С одной стороны, в Скрибусе (в отличие от Кварка!) есть грамотная расстановка переносов. А еще локализация на украинский язык. Но вывести на печать что-нибудь по-русски мне удалось лишь окольными путями - я импортировал TrueType KOI8-R шрифт из Windows (тот шрифт, что входит в поставку редактора Bred), вставил в документ Скрибуса текст и применил к тексту "виндовый" шрифт. Однако редактировать текст в таком режиме нельзя. Верстать - можно, изменять - нельзя, потому что введенные символы диким образом искажаются.
С обычными системными шрифтами было все наоборот - отображались они нормально, текст редактировался, но печатался сплошными запятыми. В более свежей версии Скрибуса, 0.9.8, ситуация еще хуже - символы кириллицы после повторного открытия документа заменяются знаками вопроса, поэтому я вернулся к версии из дистрибутива Mandrake.
Проблема, разумеется, в шрифтах и поддержке кодировок. Скрибус умеет работать с двумя типами шрифтов - TTF и Type 1. Свой эксперимент с TTF я уже описал. Type1 - да, установлена у меня целая туча Type1-шрифтов. Нормальные русские шрифты, ими выводятся на печать документы из под любого офисного пакета, будь то OpenOffice.org или Koffice. А вот у Скрибуса с этим проблемы. Он использует собственный PostScript-драйвер. То есть, и для печати, и для вывода в .pdf- или .eps и .ps-файлы Скрибус пользуется своими средствами. Этот драйвер умеет внедрять шрифты и выводить с высоким разрешением EPS-изображения. Но с русскими Type1-шрифтами у него, вероятно, проблемы.
В директории /usr/lib/scribus лежат, кроме всего прочего, некие таблицы кодировок. Я подозреваю, что возня с ними может помочь, но особой тяги к их редактированию не испытал. Думаю, что по мере развития продукта кириллица будет работать без напряга, а пока... Пока давайте я просто расскажу, что умеет Скрибус. Потому что о шрифтах в Линуксе и вообще можно говорить хоть целый день. Хороших фриварных шрифтов вообще мало (не только в Линуксе). Да и коммерческих тоже. Это адский труд - делать шрифты. Для справки - дизайнер, который создал шрифт Verdana, входящий в состав Windows, трудился над этим шрифтом целый год!!!
Но вернемся к Скрибусу. По ощущению он больше всего похож на Кварк. Тоже очень быстрый и удобный. Однако сначала об основах. Итак, форматы файлов.
Родной формат для Скрибуса - XML. В самом деле, зачем изобретать нечто иное? XML идеально подходит для хранения любых данных, да и проблем с переносимостью на другие платформы не будет. Сейчас много разговоров вокруг XML, но часто люди очень плохо себе представляют, что это такое. В лучшем случае вам скажут, что это нечто вроде HTML. В самом деле, XML смахивает на HTML - в нем тоже есть тэги.
Кратко расскажу, в чем суть XML. Без технических подробностей. Сначала приведу аналогию. Вот есть дерево, у него ветки. На ветках сидят разные птицы и звери - дятлы, вороны, белки. Еще от каждой ветки могут отходить другие ветки. Это и есть модель документа XML. Ветки - узлы в терминологии XML. Каждый узел может хранить в себе информацию разного характера - текст, некие числа, даты (дятлы, вороны, белки :-)). Каждый узел может содержать в себе другие узлы.
Более того, в зависимости от узла можно по-разному трактовать находящуюся в нем информацию. Например, кроме текста в узле могут быть атрибуты шрифта (начертание, цвет и т.д.) Значит, браузер или какая-нибудь другая программа выведет текст этого узла, используя атрибуты шрифта оттуда же. Еще узел может иметь имя. Например, Italic (курсив). И программа будет курсивом выводить текст из этого узла. Или не будет. Все зависит от программы, которая обрабатывает XML-документ.
То есть, XML - это не жестко фиксированный формат, как HTML. В XML набор тэгов определяется использующей его программой. В OpenOffice.org эти тэги свои, в Скрибусе - свои, в TEA - тоже свои. Замечу, что одно из основных новшеств пятого Кварка - экспорт в XML.
Продолжим разговор о Скрибусе. Как и Кварк, в файлах Скрибус хранит текст, но не картинки. Картинки представлены как ссылки на внешние файлы. Это обеспечивает скорость и мобильность. Разумеется, есть и функция Collect for output, которая собирает все используемые в проекте внешние файлы в одну директорию.
При верстке в Скрибусе можно использовать слои. Каждый слой имеет переключатели - отображение/скрытие слоя на экране и печать слоя. Нечто подобное есть и в пятом Кварке. Другая удобная вещь - Scrapbook. Это нечто вроде Избранного для картинок и текста. Можно помещать их туда, а потом перетаскивать в нужное место страницы.
В Скрибусе на профессиональном уровне реализована работа с формой объектов. Текстовые и графические блоки могут иметь какую угодно форму, угол вращения и масштаб. Для векторных примитивов предусмотрена градиентная или обычная заливка с заданной вами степенью прозрачности.
Продолжая сравнивать Скрибус с Кварком, нельзя не отметить интересный факт - масштабирование. В пятом Кварке верхним пределом является 800%, нижним - 10%. В Скрибусе тоже есть инструмент масштабирования с такими же характеристиками. Но. Скрибус еще и оснащен полем в углу экрана, куда можно ввести и больший масштаб, нежели 800%. Предела я не знаю, но 3000% работало.
Разные web-навороты в Скрибусе, которыми изобилует Кварк, полностью исключены. Да и зачем они в программе для верстки? Web-дизайнеры используют совсем другой софт. Но там, где дело касается именно верстки, Скрибус не отстает от Кварка. Тоже умеет экспортировать страницы в формат EPS, поддерживает плагины (на Python). Скрибус делает CMYK-цветоделение для Postscript, может внедрять цветовые профили ICC в PDF для идентичного отображения как на экране, так и при печати.
Для Кварка максимум страниц в одном документе - 2 тыс. штук. Поскольку информации об этой характеристике Скрибуса я не нашел, то решил выяснить ее экспериментальным путем. За один раз Скрибус может добавлять по 99 страниц. Процесс на Athlon 900 несколько затяжной, вдобавок, чем больше страниц уже создано, тем медленнее добавляются новые. Скрибус в это время не реагирует на внешние раздражители, разве что видно, как он работает. Если бы он не прорисовывал каждую новую страницу сразу после ее создания, он был бы намного быстрее. Я дошел до тысячи, дальше мне просто надоело :-) Ясно одно - в Скрибусе вполне реально верстать большие книжки вроде "Война и мир" или "Властелин колец".
По своим возможностям аранжировки текстовых и графических объектов Скрибус тоже стоит примерно вровень с Кварком. Можно ставить объект глубже или ближе в иерархии объектов, можно вращать, фиксировать положение, произвольно изменять форму границы. Чтобы не запутаться во всех хитросплетениях верстки, в Скрибусе есть инструмент под названием Outline. Это окно с иерархичным списком, в котором представлены все страницы и объекты на них. Выбор из списка делает страницу или объект активными. Без Outline трудно представить себе навигацию по сложному документу. Да и по простому - тоже. Намного проще выбирать объекты в Outline, нежели прицельно щелкать по ним на экране. При этом учтем факт, что одни объекты могут быть перекрыты другими, а еще лежать на разных слоях. Нет, только Outline!
Похожую функцию несет инструмент Manage pictures - только с его помощью вы можете не только перейти к выбранной в списке картинке, но и быстро прописать другой путь к файлу изображения, а еще указать, печатать картинку или нет.
Из возможностей Скрибуса, о которых стоит упомянуть, приведу еще такие: гибкий движок шрифтовых стилей, удобное управлением интерлиньяжем (расстояние между строками) и межсимволным интервалом, инструменты для точного позиционирования и аранжировки объектов, функции добавления в PDF интерактивных элементов (кнопок, списков) и ассоциирование с ними JavaScript'ов, которые можно написать сразу же в Скрибусе. К продукту прилагается очень хорошо написанная документация, освещающая не только Скрибус, но и проблемы верстки под Linux в целом.
Подведем итоги. Проект молод и стремительно развивается. Книги на английском в нем можно верстать уже сейчас, на славянских языках - подождем. Но совершенно очевидно, что у проекта большое будущее. Это РЕАЛЬНЫЙ и притом некоммерческий конкурент Кварку. Будем ждать, что из этого получится.