WikiDer > MetaPost
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Парадигма | императив, наборный |
---|---|
Разработано | Джон Д. Хобби |
Разработчик | Тако Хуквотер, Луиджи Скарсо |
Впервые появился | 1994 |
Стабильный выпуск | 1.8 / 17 июня 2013 |
Предварительный выпуск | 2.0rc2 / 19 февраля 2018 |
Печатная дисциплина | утка, динамичный, сильный |
Операционные системы | Кроссплатформенность |
Лицензия | LGPL |
Интернет сайт | буксир |
Под влиянием | |
Метафонт |
MetaPost относится как к язык программирования и устный переводчик языка программирования MetaPost. Оба получены из Дональд Кнутс Метафонт язык и переводчик. MetaPost создает векторные графические диаграммы из геометрического / алгебраического описания. Язык разделяет Метафонтдекларативный синтаксис для управления линиями, кривыми, точками и геометрическими преобразованиями. Тем не мение,
- Метафонт настроен для создания шрифтов в виде файлов изображений (в формате .gf) с соответствующими файлами метрик шрифтов (в формате .tfm), тогда как MetaPost производит EPS, SVG, или же PNG файлы
- Выход Метафонт состоит из шрифтов с фиксированным разрешением в растровом формате, тогда как вывод MetaPost представляет собой векторную графику (линии, Кривые Безье)
- Метафонт вывод монохромный, тогда как MetaPost использует RGB или же CMYK цвета.
- Язык MetaPost может включать в себя текстовые метки на диаграммах, либо строки из указанного шрифта, либо что-либо еще, что можно набрать с помощью TeX.
- Начиная с версии 1.8, Metapost поддерживает 64-битную арифметику с плавающей запятой (по умолчанию: 32-битная арифметика с фиксированной запятой)
Многие ограничения MetaPost проистекают из функций Metafont. Например, MetaPost не поддерживает все функции PostScript. В частности, пути могут иметь только один сегмент (так что регионы односвязный), а области можно заливать только однородными цветами. PostScript уровня 1 поддерживает мозаичные узоры, а PostScript 3 поддерживает Затенение по Гуро.
Доступность и использование
MetaPost распространяется со многими дистрибутивами TeX и Метафонт framework, например, он включен в MiKTeX и TeX Live раздачи.
Инкапсулированный постскриптум, созданный Metapost, может быть включен в Латекс, КОНТЕКСТ, и TeX документы с помощью стандартных команд включения графики. Инкапсулированный вывод PostScript также можно использовать с PDFTeX двигатель, таким образом непосредственно давая PDF. Эта возможность реализована в КОНТЕКСТ и в Латекс графический пакет и может использоваться из обычного TeX через файл макроса supp-pdf.tex.
ConTeXt и LuaTeX поддерживает включение кода MetaPost во входной файл. Включение кода MetaPost в LaTeX возможно также с помощью LaTeX-пакетов, например gmp или же mpgraphics.
Примеры
Это один файл example.mp который при обработке интерпретатором MetaPost (через команду mpost
на Linux) создает три файла eps пример.1, пример 2, пример 3. Они изображены справа.
преобразовать pagecoords;pagecoords:=личность масштабированный 10мм сдвинут (100мм,150мм);beginfig (1) наполнять ((0,0)--(2,0)--(2,1)--(1,1)--(1,2)--(0,2)--цикл) преобразованный pagecoords с цветом зеленый; рисовать ((2,0)..(2,1)..(1,1)..(1,2)..(0,2)) преобразованный pagecoords; стрелка ((0,0)--(2,2)) преобразованный pagecoords;конец;beginfig (2) рисовать (за я=0 вплоть до 7: реж (135я)-- конец цикл) преобразованный pagecoords;конец;pagecoords:=личность масштабированный 15мм сдвинут (100мм,150мм);beginfig (3); % объявить пути, которые будут использоваться дорожка п[],п[]т; % установить точки путем определения отношений z1=(0,0); z2=z1+2вверх; z3=z1+что бы ни*реж (60)=z2+что бы ни*реж (-50); z4=z3+(-1.5,-.5); z5=z1+реж (135); z0=что бы ни[z1,z2]=что бы ни[z3,z4]; % настроить пути p0=полный круг масштабированный .5 повернутый 45 сдвинут z0 ; p1=z2---z4..z0..z3---z1; p2=p1 отрезать перед p0 отрезанный p0; p3=p0 отрезать перед p1 отрезанный p1; p4=p2---p3---цикл; % определить преобразованные версии путей и точек за я=0 вплоть до 4: п[я]т=п[я] преобразованный pagecoords; конец за я=0 вплоть до 5: z[я]т=z[я] преобразованный pagecoords; конец % рисовать наполнять p4t с цветом (1,1,0.2); рисовать z1t---z2t с цветом .5белый; рисовать z3t---z4t с цветом .5белый; подбирать карандаш; рисовать p0t пунктирная с точками масштабированный .3; рисовать p1t пунктирная равномерно; рисовать p2t с цветом синий; рисовать p3t с цветом красный; метка.lrt (btex $z_0$ etex, z0t); метка.llft (btex $z_1$ etex, z1t); метка.верх (btex $z_2$ etex, z2t); метка.rt (btex $z_3$ etex, z3t); метка.llft (btex $z_4$ etex, z4t); за я=0 вплоть до 4: розыгрыш z[я]т закрытый карандаш масштабированный 2; конецконец;до свидания
Полученные три файла eps можно использовать в TeX через Латексс includegraphics
команда КОНТЕКСТс externalfigure
, Обычный TeX's epsfbox
команда или (в обычном pdftex) convertMPtoPDF
команда от supp-pdf.tex. Чтобы просмотреть или распечатать третью диаграмму, это включение необходимо, поскольку шрифты TeX (Компьютер Модерн) по умолчанию не включаются в файлы eps, создаваемые MetaPost.
Смотрите также
Рекомендации
- Хаген, Ганс. «МетаФан» (модули для Metapost).
- Кнут, Дональд (1986). В МЕТАФОНТбук. Компьютеры и набор текста. C. Эддисон-Уэсли. ISBN 0-201-13444-6.
- "Комплексный ТEX Archive Network " (CTAN). Репозиторий TEX, а также сотни надстроек и файлов стилей.
- "(La) TeX Navigator предоставляет 305 простых примеров MetaPost". Архивировано из оригинал на 2013-07-27. Получено 2006-11-17.
- Хукуотер, Тако (2006). «События MetaPost - осень 2006» (PDF). ТУГбоат. 27 (1).
внешняя ссылка
- Группа пользователей TeX (Буксир) http://www.tug.org/ есть страница, посвященная MetaPost: http://www.tug.org/metapost.html
- Активное развитие MetaPost продолжается на https://web.archive.org/web/20070929092912/http://foundry.supelec.fr/projects/metapost/
- Функциональный MetaPost позволяет использовать MetaPost из функционального языка программирования Haskell
- Домашняя страница John D. Hobby: https://web.archive.org/web/20131003040005/http://ect.bell-labs.com/who/hobby/index.shtml и некоторые другие страницы и публикации, посвященные MetaPost, хотя сейчас они немного устарели.
- Историческая домашняя страница MetaPost: https://web.archive.org/web/20081212090123/http://ect.bell-labs.com/who/hobby/MetaPost.shtml
- Руководство пользователя для MetaPost Джон Д. Хобби. Доступен в виде файла mpman.ps, распространяемого с MetaPost, или из Веб-сайт Bell Labs. Также доступно в Формат PDF из CTAN.
- Троя Хендерсона Онлайн-просмотрщик MetaPost