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を使用することで解決できると思います。 (dd
ありがとう、アラン!

\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

ここに画像の説明を入力してください

関連情報