MetaPost
MetaPost — мова програмування, схожа на мову програмування системи METAFONT, та єдина відома система, яка реалізує цю мову програмування. Призначенням мови та системи є створення технічних ілюстрацій для включення в документи. Основною відмінністю від METAFONT є те, що MetaPost видає файли у форматі Encapsulated PostScript, а не растрові зображення.
MetaPost | |
---|---|
Парадигма | Імперативне програмування і Декларативне програмування |
Дата появи | 1994 |
Система типізації | качина типізація, динамічна типізація і строга типізаціяd |
Під впливом від | Metafont |
Ліцензія | GNU Lesser General Public License |
MetaPost у Вікісховищі |
Призначення та застосування
MetaPost є потужною мовою програмування для підготовки ілюстрацій для документів конвертованих в формат PostScript, або для безпосереднього включення в LaTeX документи. Також, в системі є засоби для включення текстів програм TeX, або математичних виразів у форматі TeX в зображення.
Ще однією можливістю, запозиченою у METAFONT є наявність засобів розв'язання явно (символічно) заданих лінійних рівнянь, що створює умови для написання програм у декларативному стилі.
Хоча, як правило pdfTeX не здатен обробляти графічні файли у форматі PostScript, MetaPost створює настільки прості файли що pdfTeX може обробляти їх без зайвих проблем (використовуючи код, запозичений у ConTeXt).
Як стверджують самі розробники системи, найкраща галузь застосування 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
- John D. Hobby, A Users Manual for MetaPost, AT&T Bell laboratories.
Посилання
- Сторінка MetaPost на сайті TUG
- Поштова конференція присвячена MetaPost
- Українська спільнота користувачів TeX[недоступне посилання]