Содержание


Каталог классов и стилей LaTeX. Часть 7. Работа с графическими изображениями

Comments

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

Пакеты для обработки графических изображений

Стандартная функциональность для добавления иллюстраций в документы LaTeX обеспечивается стилем graphicx из пакета graphics, но LaTeX предлагает и другие возможности для самых разных манипуляций с изображениями различных форматов.

  • nccpic из пакета ncctools — расширение возможностей пакета graphicx для работы с растровыми изображениями.
  • adjustbox — предоставляет одноимённую команду для манипуляции с боксами и определяет команду \adjustimage, как замену \includegraphics; в дополнение к стандартным макросам \resizebox, \scalebox, \rotatebox в этом пакете представлены команды \trimbox и \clipbox.
  • autopdf — автоматическая конвертация файлов картинок в графические форматы, которые поддерживает pdfLaTeX.
  • bmpsize из пакета oberdiek предоставляет инструменты для анализа и вычисления размера растрового изображения, благодаря чему при подключении изображения нет необходимости создавать отдельный файл с размерами.
  • cachepic — создание eps/pdf картинок на основе фрагмента документа.
  • combinedgraphics — вставка изображений в "комбинированных" форматах eps/LaTeX или pdf/LaTeX; изображения в таких форматах можно создавать с помощью утилит xfig и gnuplot.
  • easyfig — альтернативный способ вставки изображений с помощью макроса \Figure, который вставляет картинку, добавляет к ней подпись и выравнивает её в зависимости от переданных ему параметров.
  • emp и mfpic — эти пакеты обеспечивают вставку в текст и исполнение команд MetaPost во время компиляции.
  • esk — вставка картинок, созданных с помощью утилиты Sketch.
  • figbib — создание каталога иллюстраций с помощью базы BibTeX.
  • figsize — пакет для автоматического вычисления размеров изображений для размещения их в указанных пределах.
  • flipbook — механизм, позволяющий организовать кинеограф (создание эффекта анимации за счёт быстрого пролистывания изображений).
  • graphicx-psmin — механизм, позволяющий уменьшить размер документа PostScript за счёт одинаковых повторяющихся картинок.
  • gincltex — позволяет команде \includegraphics вставлять файлы LaTeX.
  • grfext из пакета oberdiek — интерфейс для добавления списка поддерживаемых расширений графических файлов и установки порядка их загрузки.
  • grffile — расширяет понятие "имя файла", позволяя использовать в нём несколько точек и пробелов.
  • auto-pst-pdf и epspdfconversion и epstopdf из пакета oberdiek — позволяют подключать eps-файлы при компиляции с помощью pdflatex, вызывая внешнюю программу epstopdf.
  • image-gallery — позволяет сформировать галерею из уменьшенных миниатюр картинок из указанного списка.
  • incgraph — вставка картинок шириной и/или высотой во весь лист.
  • lpic — позволяет вставить графический файл, а сверху добавить LaTeX-текст, например, подписи к осям.
  • overpic — определяет окружение, которое кроме вставки изображения, позволяет тут же выполнить команду picture.
  • pdfpages — вставка и манипуляции с pdf-страницами из внешних pdf-документов.
  • psfrag — позволяет заменить текст (латиница) в eps-файле на текст, определяемый пользователем; для использования с pdflatex необходимо подключить пакет pstool.
  • reflectgraphics — позволяет добавлять картинки с эффектом отражения на поверхности озера.
  • rotating — позволяет поворачивать любые боксы.
  • rviewport — позволяет вставлять только часть картинки; опция rviewport принимает координаты вырезаемого квадрата в относительных единицах.
  • scanpages — сборка картинок, полученных в результате сканирования, в единую книгу.
  • svg — позволяет вставлять svg-файлы; в пакете svg-inkscape описывается процесс вставки svg-изображений, если уже установлен графический редактор Inkscape.
  • watermark из пакета ncctools — создание водяных знаков, иначе говоря, вывод графических объектов или текста на подложке страницы.
  • bophook, eso-pic, wallpaper и xwatermark – пакеты с аналогичной функциональностью для вывода водяных знаков.

Управление цветом

Управление цветом имеет большое значение для правильного отображения информации на экране монитора пользователя или печати документа в цвете.

  • color из пакета graphics — стандартный стиль для управления цветом текстовых элементов.
  • colorinfo — извлечение информации об используемой цветовой модели и значениях цветовой переменной.
  • colorwav — пакет выдаёт цвет световой волны по её длине, указанной в нанометрах.
  • colorweb — определяет 216 "безопасных" цветов, поддерживаемых в любых Web-браузерах.
  • pagecolor — позволяет выбрать цвет фона страницы.
  • spotcolor — поддержка плашечных цветов в палитрах PANTONE и HKS и возможностью создания собственных.
  • svgcolor — предопределяет цвета SVG.
  • xcolor — интерфейс к определению цветов.

Графика средствами LaTeX

Хотя возможности LaTeX в основном ориентированы на вёрстку, тем не менее LaTeX можно использовать и для рисования, правда, с его помощью в основном можно создавать только простые изображения. Однако, появление и развитие таких графических пакетов, как PSTricks, PGF/TikZ, MetaPost и Asymptote, показывает, что существует потребность в создании сложной графики именно средствами LaTeX.

  • pictex — один из первых пакетов для создания графики в LaTeX.
  • autoarea — расширение классического пакета PiCTeX.
  • bez123 — пакет для рисования кривых Безье.
  • crop, crbox — создают угловые метки (cropmark) для обрезки страницы или вклейки фотографий; схожую функциональность предоставляет ncccropmark из пакета ncctools.
  • curve2e — расширение пакета pict2e.
  • curves — расширение для окружения picture для рисования парабол и других кривых.
  • ebezier — расширение для окружения picture для рисования кривых Безье.
  • ecltree — расширение для окружения picture для рисования рекурсивных деревьев.
  • eepic — расширение и улучшение команд из окружения picture.
  • bxeepic этот пакет реализует функционал eepic через механизм pict2e.
  • lapdf — рисование графических примитивов с помощью pdf-команд.
  • pict2e — улучшенная версия окружения picture, лишённая многих его ограничений.
  • xypic — графики и диаграммы средствами TeX.
  • xpicture — ещё один пакет, расширяющий picture.

Символы, иконки и штрих-код

Часто требуется добавить в текст не масштабные иллюстраиции, а только небольшие картинки (специальные символы, иконки и т.д.), для которых существуют отдельные пакеты.

  • bclogo — набор цветных иконок (цветочки, карандашики, смайлики и т.д.).
  • ccicons, cclicenses — пакеты с иконками семейства лицензий Creative Commons.
  • clock — рисует часовой циферблат и показывает заказанное время.
  • ean13isbn — генерация штрихового кода EAN13 с ISBN.
  • fontawesome — доступ к веб-иконкам, определённых в свободном шрифте Font Awesome Дэйва Ганди (Dave Gandy).
  • GS1 — пакет для создания штрихового кода стандартов EAN-8 и EAN-13; схожую функциональность предоставляют пакеты barcodes и pst-barcode.
  • harveyballs — частично заполненные кружочки для иллюстрации степени законченности работы.
  • hologo из oberdiek — набор LaTeX-подобных логотипов.
  • productbox — создание изображения привлекательной коробки, в которой по идее лежит ценный товар.
  • pst-vectorian — набор викторианских орнаментов для украшения страницы.
  • showcharinbox — позволяет увеличить любой символ и напечатать его.
  • tdclock — добавляет в pdf-файл цифровые часы, которые показывают правильное время, если использовать Adobe Reader.
  • tikzsymbols — набор забавных символов и иконок, созданных с помощью TikZ.

PSTricks

Пакет PSTricks предоставляет доступ к инструкциям языка PostScript из LaTeX. Пакет содержит исчерпывающую документацию объёмом более 300 страниц, но функциональность, наиболее интересная для простых пользователей, сосредоточена в сопутствующих самостоятельных пакетах. В базовый пакет входят стилевые файлы pst-node - размещение и соединение вершин, pst-plot - построение диаграмм, pst-tree - построение деревьев.

  • pstricks-add — дополнительные макросы для PSTricks. Это ещё 100+ страниц в дополнение к основной документации.
  • pdftricks, pdftricks2, pst2pdf — поддержка возможностей PSTricks при компиляции файла с помощью pdflatex.
  • pst-3d — псевдо-3D, тени, трёхмерный текст и тому подобное.
  • pst-am — модуляция и демодуляция.
  • pst-bezier — кривые Безье.
  • pst-bspline — кубические би-сплайны.
  • pst-cox — нормальные сложные политопы.
  • pst-blur — создание размытых теней.
  • pst-calendar — пакет для создания различных календарей.
  • pst-coil — витые и зигзагообразные объекты.
  • pst-eps — экспорт объектов непосредственно в eps-файл.
  • pst-fill — заливка областей.
  • pst-geo — отрисовка картографической информации в различных проекциях.
  • pst-gr3d — 3D-решётка.
  • pst-grad — заливка области RGB- и HSB-градиентами.
  • pst-ghsb — HSB градиенты.
  • pst-infixplot — позволяет набирать формулы в привычной инфиксной нотации.
  • pst-intersect — вычисляет точку пересечения кривых.
  • pst-knot — пакет для создания узлов.
  • pst-layout — аналог minipage с фиксированной высотой.
  • pst-lens — эффект линзы на любой картинке или тексте.
  • pst-light3d — 3D-тени для текста, линий и кривых.
  • pst-math — расширение стандартных математических функций, встроенных в PostScript.
  • pst-mirror — 3D-объекты на сфере.
  • pst-ob3d — простые трёхмерные объекты.
  • pst-ode — решение обыкновенных дифференциальных уравнений методом Рунге-Кутта.
  • pst-ovl — поддержка оверлеев.
  • pst-pdf — экспорт объектов в pdf-файл.
  • pst-poly — изображение многоугольников.
  • pst-slpe — разные градиенты.
  • pst-solides3d — 3D-объекты.
  • pst-text — набор текста вдоль траектории.
  • pst-vue3d — простые 3D-объекты в перспективе.
  • pst-xkey из пакета xkey — разбор пар "ключ-значение" для пакета PSTricks.

PGF/TikZ

Пакет PGF/TikZ – это мощный инструмент подготовки встроенной графики в LaTeX с обширной документацией и поддерживающий все популярные TeX-компиляторы. Верхним уровнем пользовательского интерфейса к PGF выступает TikZ. Почти весь элементарный функционал сосредоточен непосредственно в TikZ/PGF, а сторонние пакеты в основном были вынесены в тематические разделы.

  • pgf-blur — пакет для создания не резких, размытых теней.
  • hobby — рисование сглаженных по алгоритму Хобби (Hobby) кривых, заданных через опорные точки.
  • spath3 — набор функций для прорисовки путей, придающих им каллиграфический стиль, и стиль для рисования узловых диаграмм.
  • tikzscale — масштабирование картинки без масштабирования подписей.

MetaPost

MetaPost — это развитие программы METAFONT, созданной Дональдом Кнутом для разработки векторных шрифтов для TeX. По сути дела это интерпретатор полноценного языка программирования, ориентированного на рисование векторной графики. Несмотря на свой возраст, пакет MetaPost вполне активно развивается и сейчас.

  • fmp — поддержка Functional MetaPost.
  • gmp — интеграция LaTeX и MetaPost с возможностью передачи параметров из LaTeX в задание MetaPost, например, чтоб привести размеры объектов MetaPost в соответствии с пространством, доступным для их размещения.
  • mpgraphics — позволяет размещать код MetaPost прямо в LaTeX документе и получать картинку сразу после первой компиляции.

Asymptote

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

  • asyfig — альтернативный механизм включения картинок Asymptote в документ LaTeX.
  • asypictureB — ещё один простой интерфейс для вставки картинок в LaTeX.

Заключение

В этой статье мы рассмотрели возможности LaTeX по обработке готовых изображений и созданию графики своими силами.

Однако после того как иллюстрация была подготовлена, её необходимо разместить в документе и гарантировать, что её местоположение будет / или не будет меняться в зависимости от изменений, вносимых в документ. За это отвечают пакеты для работы с "плавающими объектами", которые будут рассматриваться в следующей статье.


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source
ArticleID=972184
ArticleTitle=Каталог классов и стилей LaTeX. Часть 7. Работа с графическими изображениями
publish-date=05222014