Котельников И., Чеботаев П. LaTeX2e по-русски (1185906), страница 49
Текст из файла (страница 49)
10.3.1). При сильном увеличениирастровое изображение становится зернистым.10.3.Импортирование графикиИмпортирование изображений, созданных специализированными графическимипрограммами, осуществляется с помощью команды \includegraphics. В простейшем варианте, чтобы включить в печатный документ рисунок, записанныйв графическом файле gr-file, достаточно в нужное место входного файла вставить команду \includegraphics{gr-file}, указав в её аргументе имя файла.---\includegraphics{a.eps}---—A—Однако решение реальной задачи не всегда сводится к столь простым рецептам.В частности, последний пример вызовет ошибку при использовании компилятораpdflatex:? ! LaTeX Error: Unknown graphics extension: .eps.See the LaTeX manual or LaTeX Companion for explanation.
Type<return> for immediate help....H10.3. Импортирование графики237l.532 ---\includegraphics{a.eps}--- \label{a.eps}?Оказывается, что pdflatex не умеет импортировать рисунки в формате EPS(Encapsulated PostScript). Как нетрудно догадаться, для компилятора pdflatexболее всего подходят рисунки в формате PDF. Но они непригодны для компилятора latex.
Если документ PDF получать в два этапа, сначала выполнив компиляцию исходного текста в формат DVI (рис. 1.2), а затем преобразовать полученный dvi-файл в документ PDF с помощью программы dvipdfm (рис. 1.9), топроблема несовместимости графических форматов полностью устраняется.Однако такое решение вряд ли можно признать идеальным хотя бы потому,что рисунки PDF занимают на диске компьютера значительно меньше места,чем рисунки EPS.
Есть и другие причины для постепенного перехода к прямомукомпилированию документов LATEX в формат PDF. Существуют простые рецепты, как подготовить рисунки и исходный текст с разметкой LATEX так, чтобысделать документ одинаково пригодным для обоих компиляторов. Поэтому советуем Читателю набраться немного терпения и вкратце познакомиться с тем,какие графические форматы существуют в настоящее время.
Мы перечислимпреимущественно те форматы, с которыми могут работать программы из библиотеки MiKTeX.10.3.1.Форматы графических файловВсе рисунки можно разделить на две категории: растровые и векторные. Растровое изображение состоит из матрицы пикселов, т. е. точек, упорядоченных порядам и столбцам. Векторное изображение строится из отрезков линий и закрашенных областей; при выводе на экран монитора или принтер оно всё равно преобразуется в растровый вид, но в файле хранится в виде команд, описывающихформу и цвет геометрических объектов, что гарантирует сохранение качестваизображения при изменении разрешения экрана или принтера.Каждый пиксел всегда имеет один определённый цвет, а богатство цветовойпалитры, то есть максимальное количество разных цветов, определяется глубиной цвета.
Например, чёрно-белое изображение состоит из точек всего лишь двухцветов. Оно имеет глубину цвета 1 бит или, как говорят, закодировано в однойцветовой плоскости. Изображение глубиной 32 бита закодировано в 32-х цветовых плоскостях и может иметь до 232 различных цветов.Пример растровых рисунков даёт формат PCX, впервые реализованный впрограмме PC Paintbrush. Продолжая список наиболее распространённых растровых форматов, можно назвать BMP, GIF, JPEG, PNG, TGA и TIFF.BMP Точечные рисунки BMP (Windows Bitmap, файлы с расширением bmp), используется в операционных системах Windows. Они могут содержать изображения с глубиной цвета 1, 2, 4, 8, 16 и 32 бита. Размер рисунка не ограничен.238Глава 10. Графика и цветGIF Формат GIF (Graphics Interchange Format, gif) предназначен для обменаданными через интернет и, соответственно, имеет высокую степень сжатия.
Поддерживает до 256 цветов (28 ): изображение может быть чёрнобелым, 16-цветным, серым глубиной 8 бит, иметь цветовую палитру 8 бит.Отдельные цвета могут быть объявлены прозрачными. Позволяет сохранять несколько изображений в одном файле. Когда изображения быстросменяют друг друга, GIF называется анимированным.JPEG Формат JPEG (Joint Photographic Experts Group, jpg) разработан каксхема сжатия информации для компьютерной графики. JPEG поддерживает цвета глубиной до 32 бит и используется, главным образом, для записифотографических и сканированных изображений.
В зависимости от степени сжатия качество изображения может изменяться от очень низкого доочень высокого.PCX Изображение в формате PCX (PaintBrush, pcx) может быть чёрно-белым,16-цветным, серым глубиной 8 бит, иметь цветовую палитру 8 бит или RGBцвета глубиной 24 бита.
Формат PCX считается устаревшим. Вместо негорекомендуется использовать рисунки PNG.PNG Формат PNG (Portable Network Graphics, png). Предназначен для обменаданными через интернет и, соответственно, имеет высокую степень сжатия.Предназначен для замены форматов GIF и TIFF, по сравнению с которымиимеет улучшенные свойства цветопередачи на различных выходных устройствах. Поддерживает до 32 цветовых плоскостей. Выбранные цвета могутбыть объявлены прозрачными.TGA Формат TGA (Targa, tga) используется для хранения растрового изображения. Может иметь глубину цвета до 24 бит.TIFF Изображения в формате TIFF (Tagged Image File Format, расширение tifили tiff) используется для сохранения и обмена графическими данными различными операционными системами и приложениями. Может иметьглубину цвета 1, 4, 8, 24, 48 бит.
Использует различные алгоритмы сжатия.Недостатком растровых форматов является потеря качества при масштабировании изображения. Например, при увеличении изображения в два раза повысоте и ширине каждая точка делится на 4 (2 точки по горизонтали и 2 точкипо вертикали) того же цвета, если не производится сглаживание резких переходов цвета (anti-aliasing). При сильном увеличении изображение становится зернистым либо же кажется нерезким (при сглаживании цвета). При уменьшенииизображения некоторые линии могут вообще исчезнуть.Векторные изображения лишены подобных недостатков, так как сохраняются в виде геометрического описания объектов, составляющих рисунок.
Эти изображения могут также включать фрагменты растровых рисунков. В векторныхформатах число битовых цветовых плоскостей заранее не определено.10.3. Импортирование графики239Примером векторной графики является язык описания страниц PostScript.Форматы PostScript и EPS, использующие язык PostScript, получили очень широкое распространение. Продолжая список векторных графических форматов,пригодных для импорта в документы LATEX, назовем ещё WMF, PDF и MPS.EPS Формат EPS (Encapsulated PostScript, eps) является усечённой (инкапсулированной) версией PostScript.
Используется для создания иллюстраций внастольных издательских системах. Один eps-файл может содержать изображение только одной страницы, но на ней может быть размещено несколько рисунков. Файлы в форматах PS и EPS занимают много места на дискекомпьютера, однако ряд программ может работать с ps- и eps-файлами,которые сжаты программой gzip. Сжатые файлы могут иметь расширениесоответственно ps.gz и eps.gz.MPS Изображения в формате MPS (MetaPost, mps) создаются программой MetaPost.
Формат MPS является «родным» для системы LATEX, так как он базируется на системе генерации шрифтов для LATEX. Из-за ограниченности сферы применения формата MPS мы не рассматриваем его внашей книге.PDF Изображения в формате PDF (Portable Document Format, pdf) импортируются в документ LATEX при его компиляции с помощью pdflatex. Легкомогут быть получены из рисунков EPS с помощью программы epstopdf.По сравнению с eps-файлами имеют существенно меньший размер.PS Универсальный язык описания печатных страниц PostScript (Interpreted PostScript, ps) широко применяется в профессиональной печати. Один ps-файлможет содержать изображение любого числа страниц, однако в документLATEX можно импортировать только такие ps-файлы, которые содержат одну страницу.
Часто рисунки, записанные в файлах с расширением ps, насамом деле являются рисунками EPS.WMF Формат WMF (Windows Metafile, wmf) разработан Microsoft Corporationкак внутренний формат для Microsoft Windows 3. Используется для хранения как векторной, так и растровой графики. Может иметь глубину цветана 24 бит. В документах LATEX’а полностью уступил место формату EPS, такчто требуются определённые усилия, чтобы импортировать рисунок WMFдаже при работе в операционной системе Windows.Программа pdflatex, которая компилирует исходный текст в разметке LATEXв документ формата PDF, может импортировать рисунки в форматах PDF, PNGи JPEG3 .Набор форматов, пригодных для компилятора latex, не столь однозначен,поскольку latex создаёт на выходе документ в формате DVI, который содержит3Поддержка формата TIFF исключена начиная с pdflatex версии 1.10b.240Глава 10.
Графика и цветне сам рисунок, а всего лишь ссылку на файл с рисунком. Теоретически latexможет «импортировать» любой рисунок — важно, чтобы DVI-обозреватель моготображать рисунки соответствующего формата.На практике реализуется схема с конвертацией рисунков «на лету». Например, DVI-обозреватель YAP из библиотеки MiKTeX всегда показывает рисункиформата BMP, конвертируя при необходимости в этот формат рисунки другихтипов.
Чтобы эта схема действовала, необходимо иметь подходящий набор графических фильтров, т. е. программ конвертации. Например, при установке программы Ghostscript YAP без дополнительных настроек приобретает умение показывать рисунки EPS, а если позаимствовать программу giftopnm из библиотекипрограмм netpbm, то удаётся импортировать рисунки GIF.В составе MiKTeX имеются фильтры для рисунков PCX, PNG, TIFF и TGA.Эти и многие другие фильтры имеются в библиотеки netpbm, которая распространяется свободно.В разделе 10.6 мы покажем, как импортировать рисунки «нестандартных»форматов.10.3.2.EPS, или «В тесных рамках BoundingBox»При вставке рисунка в печатный документ, как правило, необходимо задать размер рисунка.
Проще всего подобрать размер для рисунка, записанного в форматах EPS или PDF. Дело в том, что полный размер рисунков этих форматовзаписывается в текстовом виде непосредственно в графический файл. Поэтомукомпилятор документов LATEX способен прочитать этот размер прямо из файлас рисунком. При работе с другими графическими файлами пользователь, какправило, должен явно указать размер изображения в необязательном аргументекоманды \includegraphics.В заголовке eps-файла содержится строка вида%%BoundingBox: llx lly urx uryкоторая описывает ограничивающий бокс (BoundingBox), т. е. естественный (домасштабирования) размер рисунка и его положение на воображаемом листе бумаги.
Вот что содержит файл a.eps, который был импортирован в виде рисункана стр. 236:%!%%BoundingBox:100 100100 100 moveto36 36 rlineto36 neg 0 rlineto36 36 neg rlinetostroke100 100 moveto/Times-Roman findfont36 scalefont136 136% перейти в точку (100,100)% провести диагональную линию% провести горизонтальную линию% провести другую диагональную линию% нарисовать эти линии% перейти в точку (100,100)% загрузить шрифт Times-Roman% выбрать размер шрифта10.3. Импортирование графики241Рис. 10.2. Внутренняя система координат графического файла в формате EPS. Началокоординат находится на расстоянии 1 дюйм от правого и нижнего краёв воображаемоголиста бумаги.