에서 영감을 받다Metapost 차별이 필요한 이유는 무엇입니까?, Metapost에 대해 알고 싶습니다멀리지금보다 나아요. 내가 정말로 아는 것은 Metapost가 그래픽을 설명하는 언어이고 Metafont는 글꼴을 설명하는 데 특별히 사용된다는 것입니다.
그렇다면 메타포스트/메타폰트란 무엇입니까?
- Metafont/Metapost는 이름에서 알 수 있듯이 유사한 구문을 가지고 있습니까?
- 널리 사용되는 TeX 배포판에 작업하고 컴파일하는 도구가 포함되어 있습니까?
- 이러한 시스템에 'Hello World'와 같은 것이 있나요? (Metapost를 사용한 다양한 예제는 사이트 전체에서 찾을 수 있지만 Metafont는 그리 많지 않은 것 같습니다.)
- pdfTeX는 큰 번거로움 없이 Metafont로 만든 글꼴을 사용할 수 있나요?
- (Metapost의 경우에도 동일하지만 이 사이트의 여러 예제가 스스로를 대변하는 것 같습니다)
답변1
METAFONT는 Knuth가 TeX의 동반자로 설계했습니다. 그 임무는 "수학적으로 설명된" 모양에서 글꼴을 생성하는 것입니다. METAFONT의 출력은 비트맵 문자 집합입니다. 적절한 매개변수를 설정하여 문자 설명을 주의 깊게 살펴보면 특정 인쇄 장치에 맞게 출력을 조정할 수 있습니다(예를 들어 해상도는 매우 중요하지만 처리해야 할 고유한 측면은 아닙니다).
Metapost는 METAFONT에서 직접 파생된 프로그램입니다. 원래는 METAFONT에 귀중한 공헌을 한 John Hobby가 작성했습니다. 그렇습니다. 구문은 비슷합니다. 언어는 실제로 동일하지만 Metapost는 여러 기본 요소와 데이터 유형을 추가합니다(RGB 및 CMYK 색상은 각각 METAFONT에서 사용되지 않는 3색 및 4색입니다). 반대로 METAFONT의 일부 기능은 Metapost에서는 의미가 없습니다.
Metapost의 출력은 Postscript의 간단한 형태이며 이것이 두 프로그램의 주요 차이점입니다. Metapost의 출력은 벡터 그래픽인 반면 METAFONT는 래스터만 출력합니다.
Metapost는 TeX와 인터페이스하여 문자 메트릭을 얻고 출력에 유형을 포함할 수 있습니다. 이는 METAFONT에서는 불가능합니다(메타폰트의 영리한 사용법을 설명하는 TUGboat 논문이 있습니다).
METAFONT로 만든 글꼴은 다음과 함께 사용할 수 있습니다
pdftex
. Knuth TeX에서 가능한 모든 것은 에서도 가능합니다pdftex
. 그러나 글꼴은 비트맵이므로 좋은 출력을 원한다면 고해상도 버전을 생성해야 합니다.pdftex
이를 위한 몇 가지 기본 요소가 있으며\pdfpkresolution
소스\pdfpkmode
에서 주문형 비트맵을 생성하는 데 사용됩니다.(캡슐화된) Postscript인 Metapost의 출력은
latex
; 그러나 제한된 Postscript 기능 세트를 사용하기 때문에pdflatex
원래 ConTeXt용으로 작성된 TeX 매크로 세트를 통해 포함될 수도 있습니다 .METAFONT에 대한 "Hello world"는 METAFONTbook에서 찾을 수 있지만 (La)TeX에 대한 유사한 테스트 문서만큼 간단하지는 않습니다.
Metapost의 "Hello world"는 "쉽게" 작성할 수 있습니다. 다음
hello.mp
문서를 작성하세요.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.
실행
mpost hello
한 다음 미리보기를 위해epstopdf hello-1.mps
가져옵니다.hello-1.pdf
Metapost의 전체 문서는 TeX 배포판(TeX Live do의 경우 texdoc metapost
)에서 사용할 수 있습니다.
답변2
직관적인 시각적 개요 -http://www.metaflop.com/modulator- 해부학을 꼭 켜주세요.
답변3
Herbert의 의견을 확장하고 egreg의 부속물로 MetaPost
LuaLaTeX 내에서 코드를 직접 처리할 수 있는 코드 조각이 있습니다. 외부 도구가 필요하지 않습니다. 부분적으로 감사드립니다.luamplib
mplib
, MetaPost의 내장 버전인 Lua 라이브러리 에 대한 패키지/지원 인터페이스 :
\documentclass{standalone}
\usepackage{luamplib}
\begin{document}
\begin{mplibcode}
beginfig(1);
label ("Insert MP code here", (10,10));
endfig;
\end{mplibcode}
\end{document}