Inspirado porPor que discriminação Metapost?, gostaria de conhecer o Metapostdistantemelhor do que eu agora. Tudo o que realmente sei é que Metapost é uma linguagem para descrever gráficos e Metafont é usado especificamente para descrever fontes.
Então, o que é Metapost/Metafont?
- o Metafont/Metapost tem sintaxe semelhante, como os nomes sugerem?
- as ferramentas para trabalhar e compilá-los estão incluídas nas distribuições populares do TeX?
- existe algo como um 'Hello World' para esses sistemas? (Vários exemplos com Metapost podem ser encontrados em todo o site, mas não tanto com Metafont, ao que parece.)
- o pdfTeX pode usar fontes criadas com Metafont sem muitos problemas?
- (o mesmo para o Metapost, mas parece que os vários exemplos neste site falam por si)
Responder1
METAFONT foi projetado por Knuth para ser um companheiro do TeX. Seu trabalho é produzir fontes a partir de formas “descritas matematicamente”. A saída do METAFONT é uma coleção de glifos em bitmap; definindo parâmetros adequados, se a descrição dos caracteres for cuidadosa, a saída pode ser ajustada para se adequar a qualquer dispositivo de impressão específico (por exemplo, a resolução é muito importante, mas não é o único aspecto a ser cuidado).
Metapost é um programa derivado diretamente do METAFONT; foi originalmente escrito por John Hobby, que fez contribuições valiosas para o METAFONT. Então, sim, a sintaxe deles é semelhante: a linguagem é na verdade a mesma, mas o Metapost adiciona vários primitivos e também tipos de dados (as cores RGB e CMYK são respectivamente triplas e quádruplas que não são usadas no METAFONT). Por outro lado, alguns dos recursos do METAFONT não têm sentido no Metapost
A saída do Metapost é uma forma simples de Postscript, e esta é a principal diferença entre os dois programas: a saída do Metapost são gráficos vetoriais, enquanto o METAFONT produz apenas rasters.
O Metapost pode interagir com o TeX para obter métricas de caracteres e incluir o tipo em sua saída. Isso não é possível no METAFONT (bem, existem alguns artigos do TUGboat descrevendo o uso inteligente do METAFONT).
As fontes criadas por METAFONT podem ser usadas com
pdftex
: tudo o que é possível no Knuth TeX também é possível compdftex
. No entanto, as fontes são bitmap, portanto, versões em alta resolução delas devem ser geradas se alguém quiser um bom resultado;pdftex
tem algumas primitivas para isso:\pdfpkresolution
e\pdfpkmode
que são usadas para gerar bitmaps sob demanda a partir das fontes.A saída do Metapost, sendo Postscript (encapsulado), pode ser incluída diretamente com
latex
; mas, como usa um conjunto restrito de funções Postscript, também pode ser incluído porpdflatex
meio de um conjunto de macros TeX originalmente escritas para ConTeXt.Um "Olá, mundo" para METAFONT pode ser encontrado no METAFONTbook, mas não é tão simples quanto um documento de teste semelhante para (La)TeX.
Um "Olá, mundo" para Metapost pode ser escrito "facilmente". Escreva o seguinte
hello.mp
documento:prologues:=3; % include all fonts outputtemplate:="%j-%c.mps"; % output file will be hello-1.mps beginfig(1); draw(0,0)--(3cm,0)--(3cm,3cm)--(0,3cm)--cycle; label(btex Hello world! etex, (1.5cm,1.5cm)); endfig; end.
Execute
mpost hello
e depoisepstopdf hello-1.mps
obtenhahello-1.pdf
a visualização
A documentação completa do Metapost está disponível nas distribuições TeX (para TeX Live do texdoc metapost
).
Responder2
Uma visão geral intuitiva -http://www.metaflop.com/modulator- certifique-se de ativar a anatomia.
Responder3
Para expandir o comentário de Herbert e como um complemento ao egreg, aqui está um trecho de código que permitirá processar MetaPost
código diretamente dentro do LuaLaTeX, sem necessidade de ferramentas externas, em parte graças aluamplib
, uma interface de pacote/suporte para a mplib
biblioteca Lua, uma versão incorporada do MetaPost:
\documentclass{standalone}
\usepackage{luamplib}
\begin{document}
\begin{mplibcode}
beginfig(1);
label ("Insert MP code here", (10,10));
endfig;
\end{mplibcode}
\end{document}