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[недоступне посилання]
  • п
  • о
  • р
Гарнітури операційних систем
Інші гарнітури
  • Allerta
  • Anonymous Pro
  • Asana-Math
  • Bitstream Vera
  • Caslon Roman
  • Chandas
  • Clear Sans
  • Computer Modern
  • Croscore
  • DejaVu
  • Doulos SIL
  • Fira
  • Fixedsys Excelsior
  • Gentium
  • IBM Plex
  • Inconsolata
  • Junicode
  • Kochi
  • Lato
  • Liberation
  • Linux Libertine
  • Literata
  • M+
  • Nimbus Mono
  • Nimbus Roman
  • Nimbus Sans
  • Noto
  • Open Sans
  • ProFont
  • Source Sans Pro
  • Source Serif Pro
  • Spectral
  • Terminus
  • Tinos
  • Tiresias
  • Ubuntu, Ubuntu-Title
  • PT
  • Charis SIL
Програмні засоби
Ліцензії
Групи і люди
  • Вільні шрифти
  • Список вільних гарнітур
  • Список вільних гарнітур Unicode