Странное поведение конструкции btex..etex

Странное поведение конструкции btex..etex

У меня есть следующий код:

\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 live (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

введите описание изображения здесь

Связанный контент