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[недоступне посилання]