setMPtext를 사용하지 않고 MetaFun에서 기준선에 텍스트를 정렬하는 방법은 무엇입니까?

setMPtext를 사용하지 않고 MetaFun에서 기준선에 텍스트를 정렬하는 방법은 무엇입니까?

나는 그림을 그리고 싶다여러 개의 텍스트그게 정렬되어야 하니까 내가 할 수 있어야 해기준선에 따라 이 텍스트를 배치하세요..

MetaFun 매뉴얼(143-144페이지)을 보면 여러 가지 방법을 통해 기준선 정렬을 달성할 수 있다고 설명되어 있습니다.

  • 로 텍스트를 정의 \setMPtext하고 draw에서 반환된 객체를 호출합니다 \MPbetex.
  • draw에 의해 반환된 객체 textext.origin,
  • draw에서 반환한 개체입니다 thelabel.origin.

그러나 다음 코드로 이 세 가지 방법을 테스트해 보면 첫 번째 방법만 제대로 작동합니다.

\starttext
\setMPtext {1} {Foo}
\setMPtext {2} {Bap}

\startMPpage
draw \MPbetex{1} shifted (0,0);
draw \MPbetex{2} shifted (0.5cm,0);

draw textext.origin("Foo") shifted (0,-1cm);
draw textext.origin("Bap") shifted (0.5cm,-1cm);

draw thelabel.origin("Foo",(0,-2cm));
draw thelabel.origin("Bap",(0.5cm,-2cm));
\stopMPpage

\stoptext

예시 결과

그들의 방법은 무엇입니까?모든 부분을 "사전 선언"할 필요 없이 기준선에 텍스트 정렬와 함께 \setMPtext?

답변1

본질적 으로 정의는 \MPbetex다음과 같습니다.

\def\MPbetex #1{btex \begincsname\??mptext#1\endcsname\space etex}

즉, 를 사용하여 저장된 문자열을 \MPtext받아서 btex ... etex. 물론 손으로 할 수도 있습니다.

\startMPpage
draw btex Foo etex shifted (0,0);
draw btex Bap etex shifted (0.5cm,0);
\stopMPpage

여기에 이미지 설명을 입력하세요

관련 정보