Metapost/Metafont는 무엇이며 어떻게 사용을 시작할 수 있나요?

Metapost/Metafont는 무엇이며 어떻게 사용을 시작할 수 있나요?

에서 영감을 받다Metapost 차별이 필요한 이유는 무엇입니까?, Metapost에 대해 알고 싶습니다멀리지금보다 나아요. 내가 정말로 아는 것은 Metapost가 그래픽을 설명하는 언어이고 Metafont는 글꼴을 설명하는 데 특별히 사용된다는 것입니다.

그렇다면 메타포스트/메타폰트란 무엇입니까?

  • Metafont/Metapost는 이름에서 알 수 있듯이 유사한 구문을 가지고 있습니까?
  • 널리 사용되는 TeX 배포판에 작업하고 컴파일하는 도구가 포함되어 있습니까?
  • 이러한 시스템에 'Hello World'와 같은 것이 있나요? (Metapost를 사용한 다양한 예제는 사이트 전체에서 찾을 수 있지만 Metafont는 그리 많지 않은 것 같습니다.)
  • pdfTeX는 큰 번거로움 없이 Metafont로 만든 글꼴을 사용할 수 있나요?
  • (Metapost의 경우에도 동일하지만 이 사이트의 여러 예제가 스스로를 대변하는 것 같습니다)

답변1

  1. METAFONT는 Knuth가 TeX의 동반자로 설계했습니다. 그 임무는 "수학적으로 설명된" 모양에서 글꼴을 생성하는 것입니다. METAFONT의 출력은 비트맵 문자 집합입니다. 적절한 매개변수를 설정하여 문자 설명을 주의 깊게 살펴보면 특정 인쇄 장치에 맞게 출력을 조정할 수 있습니다(예를 들어 해상도는 매우 중요하지만 처리해야 할 고유한 측면은 아닙니다).

  2. Metapost는 METAFONT에서 직접 파생된 프로그램입니다. 원래는 METAFONT에 귀중한 공헌을 한 John Hobby가 작성했습니다. 그렇습니다. 구문은 비슷합니다. 언어는 실제로 동일하지만 Metapost는 여러 기본 요소와 데이터 유형을 추가합니다(RGB 및 CMYK 색상은 각각 METAFONT에서 사용되지 않는 3색 및 4색입니다). 반대로 METAFONT의 일부 기능은 Metapost에서는 의미가 없습니다.

  3. Metapost의 출력은 Postscript의 간단한 형태이며 이것이 두 프로그램의 주요 차이점입니다. Metapost의 출력은 벡터 그래픽인 반면 METAFONT는 래스터만 출력합니다.

  4. Metapost는 TeX와 인터페이스하여 문자 메트릭을 얻고 출력에 유형을 포함할 수 있습니다. 이는 METAFONT에서는 불가능합니다(메타폰트의 영리한 사용법을 설명하는 TUGboat 논문이 있습니다).

  5. METAFONT로 만든 글꼴은 다음과 함께 사용할 수 있습니다 pdftex. Knuth TeX에서 가능한 모든 것은 에서도 가능합니다 pdftex. 그러나 글꼴은 비트맵이므로 좋은 출력을 원한다면 고해상도 버전을 생성해야 합니다. pdftex이를 위한 몇 가지 기본 요소가 있으며 \pdfpkresolution소스 \pdfpkmode에서 주문형 비트맵을 생성하는 데 사용됩니다.

  6. (캡슐화된) Postscript인 Metapost의 출력은 latex; 그러나 제한된 Postscript 기능 세트를 사용하기 때문에 pdflatex원래 ConTeXt용으로 작성된 TeX 매크로 세트를 통해 포함될 수도 있습니다 .

  7. METAFONT에 대한 "Hello world"는 METAFONTbook에서 찾을 수 있지만 (La)TeX에 대한 유사한 테스트 문서만큼 간단하지는 않습니다.

  8. 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의 부속물로 MetaPostLuaLaTeX 내에서 코드를 직접 처리할 수 있는 코드 조각이 있습니다. 외부 도구가 필요하지 않습니다. 부분적으로 감사드립니다.luamplibmplib, MetaPost의 내장 버전인 Lua 라이브러리 에 대한 패키지/지원 인터페이스 :

\documentclass{standalone}
\usepackage{luamplib}
\begin{document}
\begin{mplibcode}
beginfig(1);
label ("Insert MP code here", (10,10));
endfig;
\end{mplibcode}
\end{document}

관련 정보