MetaPost
MetaPost | |
---|---|
Парадигма | імперативне програмування і декларативне програмування |
Дата появи | 1994 |
Система типізації | качина типізація, динамічна типізація[d] і строга типізація |
Під впливом від | Metafont |
Мова реалізації | C |
Ліцензія | GNU Lesser General Public License |
MetaPost — мова програмування, схожа на мову програмування системи METAFONT, та єдина відома система, яка реалізує цю мову програмування. Призначенням мови та системи є створення технічних ілюстрацій для включення в документи. Основною відмінністю від METAFONT є те, що MetaPost видає файли у форматі Encapsulated PostScript, а не растрові зображення.
MetaPost є потужною мовою програмування для підготовки ілюстрацій для документів конвертованих в формат PostScript, або для безпосереднього включення в LaTeX документи. Також, в системі є засоби для включення текстів програм TeX, або математичних виразів у форматі TeX в зображення.
Ще однією можливістю, запозиченою у METAFONT є наявність засобів розв'язання явно (символічно) заданих лінійних рівнянь, що створює умови для написання програм у декларативному стилі.
Хоча, як правило pdfTeX[en] не здатен обробляти графічні файли у форматі PostScript, MetaPost створює настільки прості файли що pdfTeX може обробляти їх без зайвих проблем (використовуючи код, запозичений у ConTeXt[en]).
Як стверджують самі розробники системи, найкраща галузь застосування MetaPost — підготовка різноманітних технічних та наукових ілюстрацій, зображень, які мають відповідати певним математичним рівнянням або правилам. Наприклад, зображення трикутника із наперед заданими кутами, або відображення стану машини Тюрінга.
Після обробки наведеного нижче тексту програми, MetaPost створить EPS файл, назва якого складатиметься із назви вихідного файлу, плюс аргумент макроса beginfig.
beginfig(1); path p; p = (-1 cm,0)..(0,-1 cm)..(1 cm,0); fill p{up}..(0,0){-1,-2}..{up}cycle; draw p..(0,1 cm)..cycle; endfig; end
- UK TeX FAQ — question label MP [Архівовано 13 червня 2006 у Wayback Machine.]
- John D. Hobby, A Users Manual for MetaPost, AT&T Bell laboratories.
- Сторінка MetaPost на сайті [Архівовано 15 червня 2006 у Wayback Machine.] TUG
- Поштова конференція присвячена MetaPost [Архівовано 8 квітня 2005 у Wayback Machine.]
- Українська спільнота користувачів TeX[недоступне посилання]