다음 코드가 있습니다.
\starttext
\startMPpage
def drawtest(expr i) = %i is not used here
draw btex dummy etex shifted (0,0);
draw btex foo etex shifted (1.5cm,0);
draw btex bar etex shifted (3cm,0);
enddef;
drawtest(5);
\stopMPpage
\stoptext
그리고 다음을 그립니다.
여기서 무슨 일이 일어나고 있나요?
으로 코드를 실행합니다 context thefile.tex
. 버전은 다음과 같습니다:
mtx-context | ConTeXt Process Management 1.03
mtx-context |
mtx-context | main context file: /home/xxx/context/tex/texmf-context/tex/context/base/mkiv/context.mkiv
mtx-context | current version: 2019.07.16 18:23
ConTeXt 라이브로 이것을 실행하는 프로브를 재현합니다(https://live.contextgarden.net/).
답변1
문제는 btex ... etex
이러한 요소가 ConTeXt에서 비동기적으로 처리된다는 것입니다. 메일링 리스트의 평결 textext
은 btex ... etex
. 기준선의 문제는 깊이를 나타내는 d
접미사를 사용하면 해결될 수 있을 d
것으로 추정됩니다.
(고마워요 앨런!)
\starttext
\startMPpage
def drawtest(expr i) = %i is not used here
draw textext.d("dummy") shifted (0,0);
draw textext.d("foo") shifted (1.5cm,0);
draw textext.d("bar") shifted (3cm,0);
enddef;
drawtest(5);
\stopMPpage
\stoptext