Журнал LinuxFormat - перейти на главную

LXF95:Препринт

Материал из Linuxformat
Перейти к: навигация, поиск
Препринт

Содержание

Готовим иллюстрации

ЧАСТЬ 1 Сверстать текст и формулы — это только половина пути к настоящей печатной книге или брошюре. В новой серии из трех частей Александр Чернышов покажет, как произвести допечатную подготовку в домашних условиях.

Однажды мне захотелось сделать большую книгу. Такую, чтобы не стыдно было показать её кому угодно. Чтобы её было приятно взять в руки, листать и читать. Короче, чтобы выглядела она профессионально.

TeX позволил мне выполнить практически идеальную вёрстку текста (собственно, именно для вёрстки больших книг он и предназначен.). Но оказалось, что на этом путь к высокому качеству напечатанной книги только начинается.

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

Для подготовки и выполнения печати профессиональные полиграфисты используют дорогие проприетарные программы, работающие в Windows либо в MacOS. Между тем оказывается, что если только вы не собираетесь печатать суперспециализированное издание типа альбома картинной галереи, то получение профессионального результата вполне возможно с применением свободно распространяемых программ… И в Linux. Причём, вероятнее всего, все необходимые программы уже включены в ваш любимый дистрибутив.

Поговорим об иллюстрациях

Сколь аккуратно ни была бы выполнена вёрстка текста и математики, некачественно воспроизведённые иллюстрации, если они есть в тексте, способны испортить впечатление о любой блестящей работе. Помните, что TeX (как и другие системы) обработкой иллюстраций не занимается — он просто размещает в вёрстке заранее подготовленные материалы. И воспроизведением их он тоже не занимается — это дело сторонних программ просмотра и печати результатов вёрстки.

Мне доводилось видеть великолепно задуманные по идее и содержанию книги, содержащие уникальную информацию, напечатанные на высококачественной бумаге на офсете и имеющие дорогие переплёты. Но откровенные ошибки в подготовке иллюстраций (а точнее, игнорирование самой необходимости этой работы) портили впечатление так, что показывать книгу «в приличном обществе» становилось невозможно.

Специалисты по так называемой допечатной подготовке иллюстраций в профессиональной полиграфии недаром получают большие зарплаты. Но некоторые их «секреты» вполне доступны и непрофессионалам.

На сегодняшний день для подготовки вёрстки к качественной печати существует только один магистральный путь.

Смысл этого пути сводится к тому, что в мировой полиграфии уже давно в качестве стандарта де-факто используется язык PostScript (далее будет использоваться сокращение PS). А в составе практически всех распространённых сегодня дистрибутивов TeX’а имеется утилита (dvi-драйвер) dvips, которая позволяет преобразовать в формат PS весь DVI-документ, обеспечив тем самым возможность работы с документом на уровне международного стандарта.

Формат PS характеризуется двумя интересными свойствами:

  • PS — это язык программирования. Документы PS содержат только текст и могут быть отредактированы в любом текстовым редакторе;
  • формат прекрасно подходит для сохранения векторных иллюстраций.

Программировать непосредственно в PS вы вряд ли будете (хотя и это возможно) — для создания векторных иллюстраций существует большое число хороших векторных редакторов (мы поговорим о них чуть позже), а вот последнее свойство для нас весьма интересно. Векторные иллюстрации легко масштабировать без потери качества. Они не привязаны к разрешению печатающего устройства — следовательно, дают вам возможность отложить поиск типографии до окончания всей вёрстки.

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

Рисунок можно нарисовать

Делается это в векторном графическом редакторе.

При этом, выбирая редактор, надо сразу проверить две вещи:

  • возможность качественного сохранения результата в формате PS.

Не все даже профессиональные редакторы, позволяющие сохранять в PS, делают это правильно. Например, знаменитый AutoCAD, по крайней мере в версиях для Windows, при сохранении в PS игнорирует толщины линий и создаёт ряд других проблем;

  • возможность получить в PS-картинке русский текст (эта проблема долгие годы англоговорящим и англопишущим сообществом просто игнорировалась).

Проверка сводится к рисованию нескольких разных примитивов, вводу нескольких строк текста и сохранению рисунка в формате PS. При сохранении необходимо преобразовать текст в кривые (если редактор этого не позволяет, он вряд ли годится для работы).

После этого просмотрите картинку утилитой gv. Убедитесь, что в меню программы включено сглаживание (antialiasing), увеличьте масштаб до максимального и рассмотрите картинку по частям. Если видны все элементы рисунка (пусть даже с погрешностью на растр экрана), редактор использовать можно. Для полного счастья найдите лазерный принтер (не менее 600 dpi) и распечатайте эту картинку. Все вопросы должны исчезнуть.

Чтобы было меньше проблем при поиске принтера, конвертируйте картинку в PDF:

ps2pdf file.ps file.pdf

Теперь её можно распечатать из любого Acrobat Reader’а.

Лично я рекомендую для рисования Inkscape. Версия 0.43 уже вполне пригодна для серьёзной работы. Версию 0.44 на своём Debian 3.1 я запустить не могу — в его составе нет некоторых библиотек, без которых 0.44 жить уже не может.

Рисовать лучше в размере, близком к реальному размеру вставляемой в страницу картинки. Небольшие отклонения не страшны — картинка легко масштабируется.

Обязательно сохраните картинку в собственном формате Inkscape (SVG). И не забудьте записать этот SVG-файл в архив вместе с вёрсткой. Это даст возможность в будущем корректировать изображение или получать на её базе производные картинки. Сам формат PS не редактируется ни одним из свободно распространяемых инструментов.

Сохраняя картинку в формате PS (точнее, нас интересует EPS - encapsulated postscript, — специальный вариант PS для вставляемых картинок), не забудьте преобразовать текст в кривые. Это заметно увеличит объём файла PS-картинки, но обеспечит отображение в ней русских букв на любой системе (что нам и требуется!).

Если исходная картинка всё-таки потерялась, а откорректировать PS-картинку необходимо, можно попытаться воспользоваться утилитой pstoedit. К сожалению, несмотря на огромное количество форматов, которые может создать утилита, большинство из них по разным причинам для нас бесполезны.

Имеет смысл попытаться получить картинку лишь в формате SVG:

pstoedit -f plot-svg file.ps >file.svg

Предварительно проверьте, что в вашей сборке программы этот формат поддерживается:

pstoedit -f help

но не надейтесь на удобство редактирования — картинка по составляющим её элементам уже не та, что в первоначальном файле, да и все текстовые строки — это уже рисунки.

Так что не теряйте первоначальные рисунки!

Рисунок как копия экрана

Такой рисунок по определению является растровым. И работа с ним в общем случае требует особого подхода. Однако в некоторых случаях, затратив немного усилий, можно получить вполне приличный результат в векторной форме.

Прежде всего, запомните, что для полиграфии можно использовать только форматы, сжимающие без потерь. Стандартом здесь является TIFF, но можно использовать и PNG. Про JPEG забудьте и не вздумайте использовать его даже для промежуточного хранения ваших изображений!

Вообще говоря, существует примитивный, грубый и… неверный способ — использовать утилиту convert из состава ImageMagick:

convert file.png file.eps

считая, что файл с копией экрана имеет имя file.png. В результате будет получен настоящий PS, но содержащий немасштабируемую матрицу.

Устройство вывода не обманешь. Поэтому нам этот способ (пока) не подходит.

Во многих случаях копии с экрана содержат различные окна с меню, текстом и т. п., то есть с объектами, имеющими вполне чёткие границы на однородном фоне. Следовательно, имеет смысл попытаться их трассировать (векторизовать) и получить нормально масштабируемую картинку.

Строго говоря, проблема качественной трассировки произвольных изображений до сих пор нигде в мире не решена и надеяться на чудо здесь не стоит. Однако, копии с экранов различных окон и меню — тот случай, когда можно получить хороший результат практически бесплатно.

В арсенале современных дистрибутивов Linux имеется две программы для трассировки: potrace и autotrace. Если в вашем дистрибутиве их не оказалось, их легко найти в Интернете (http://potrace.sourceforge.net и http://autotrace.sourceforge.net, соответственно) и собрать из исходных текстов. Potrace трассирует только двухцветные (чёрно-белые) изображения, autotrace позволяет трассировать и цветные изображения.

Трюк здесь заключается в том, что изображение нужно правильно подготовить к трассировке.

Возьмём GIMP и с его помощью увеличим изображение вчетверо (пункт Масштабировать). Важно при этом сказать Интерполяция: Нет. Мы получим каждую точку, увеличенную по площади ровно в 16 раз. Возможно, то же самое можно сделать с помощью утилиты convert из ImageMagick, но я этого не пробовал.

Теперь запускаем:

autotrace file.png >file.eps

И проверяем, что получилось:

gv file.eps

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

Рисунок-диаграмма или график

Его получают как результат расчёта в другой программе.

В этом случае вне конкуренции, конечно, gnuplot. Эта программа позволяет не только строить графики на экране, но и сохранять их в формате PS. Об этом уже довольно много написано (см., например, LXF71:Gnuplot), поэтому от дальнейших комментариев воздержусь. Замечу только, что не надо забывать об общей проблеме комментирования графика русским текстом.

Если такая проблема возникла, то вот её решение.

Программу построения диаграммы запишите в отдельный файл. Комментируйте шкалы так, как вам надо, и не обращайте внимание на экранный предпросмотр. Когда всё будет отлажено, укажите выводить результат в формат SVG (!). Далее перекодируйте полученный SVG-файл в кодировку UTF8:

recode ..UTF8 <file1.svg >file2.svg

и загрузите file2.svg в Inkscape. Вы должны увидеть диаграмму с нормальными русскими комментариями. Теперь просто сохраните её в формате EPS.

Наконец, рисунок можно обвести по контуру

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

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

Для получения рисунков в PS можно, конечно, использовать и другие инструменты. Так, «гурманы» наверняка оценят MetaPost (см. LXF76:MetaPost).

Вставка иллюстраций в документ

Ладно, иллюстрации в формате PS (точнее, EPS) получены. Как их вставить в документ?

Прежде всего надо проверить каждую иллюстрацию на границы (так называемый BoundingBox). Просмотрите каждую иллюстрацию через gv:

gv file.eps

Проверьте в меню gv, что стоит режим B.Box. Теперь оцените вид иллюстрации. Не должно быть больших белых полей (если только вы специально их не заказывали при получении EPS), линии рисунка не должны выскакивать за границы листа. Именно так, как вы видите картинку в gv, её будет воспринимать при вёрстке и TeX. Поэтому, если с полями что-то неправильно и «игра с параметрами сохранения EPS» в инструменте, которым получена иллюстрация, не даёт результата (что, к сожалению, бывает), то смело берите любой текстовый редактор, открывайте в нём наш EPS, ищите в первых его строках параметр

%BoundingBox xxx yyy xxx yyy

(xxx и yyy — числа в особых единицах, равных 1/72 дюйма, называемых «пунктами») и правьте эти числа, проверяя результат через gv.

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

После окончательной проверки иллюстрации можно вставлять в документ.

Для plain TeX существует простой макропакет epsf, который обеспечивает всю эту работу. Вот простой пример вставки иллюстрации img.eps:

\input epsf
% Какая-то часть документа
\midinsert
\epsfbox{img.eps}
\smallskip
Здесь подрисуночная подпись
\endinsert
% Продолжение документа
\bye

Изображение будет вставлено в своём размере «по умолчанию» и прижато влево. Текст подрисуночной подписи также будет прижат влево. Отцентрировать их командами \centerline{} проблемы не представляет.

Если надо подогнать размер иллюстрации под размер страницы, имеются команды \epsfxsize и \epsfysize. (И ещё несколько. Файл epsf.tex документирует сам себя. Загляните в него — узнаете много интересного.)

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

Для просмотра результата после получения DVI-файла надо обязательно перегнать его в формат PS. Простейшая команда (только для предпросмотра!) выглядит так:

dvips -o file.ps file.dvi

Теперь file.ps можно просмотреть программой gv. При просмотре обязательно обращайте внимание на расположение иллюстраций на страницах и на их границы. Если что-то не так, это ошибки вставки. Качество самих изображений может вас не удовлетворить, но это следствие растеризации на мониторе. При печати на принтере качество должно быть максимальным (об этом мы ещё поговорим, когда доберёмся до печати).

Растровые иллюстрации

Это самый тяжёлый вопрос для полиграфии вообще. А уж для непрофессиональной — и подавно.

Прежде всего запомните — на допечатной подготовке растровых иллюстраций нельзя экономить время. Это огромный труд! Но результат обычно того стоит. Помните, что все случайные царапины и пыль, присутствующие на иллюстрациях, будут очень хорошо видны на итоговых оттисках!

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

Для собственно вставки таких иллюстраций в документ существует единственный и уже упоминавшийся путь:

convert file.tiff file.eps

и далее — по уже описанной схеме. (Вместо convert подойдёт любая программа, позволяющая выполнить эту работу.) Поэтому наибольшее внимание должно быть уделено подготовке этого самого file.tiff (или file.png).

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

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

  • О’Квин, Д. Допечатная подготовка. Руководство дизайнера: Пер. с англ. — М.: Вильямс, 2003.
  • Миронов, Д. Ретушь на компьютере. — СПб.: Питер, 2004.

Везде, где в этих книгах упоминается Photoshop, подставляйте GIMP. Однозначного соответствия друг другу возможностей этих программ нет. Однако, понимая суть процессов, вы без труда сможете выполнить (почти) все рекомендации в GIMP. И приготовьтесь к большим объёмам файлов иллюстраций. Маленькими объёмами высокого полиграфического качества в растре не добиться!

И ещё. Лично я пришёл к выводу, что имеет смысл самостоятельно готовить для вёрстки только чёрно-белые и полутоновые иллюстрации. Этот процесс вполне по силам любителям. И в большинстве случаев даже для очень хорошей книги чёрно-белых иллюстраций вполне достаточно. (Кроме всего прочего, чёрно-белая печать ещё и значительно дешевле!)

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

Персональные инструменты
купить
подписаться
Яндекс.Метрика