ConTeXt は、Lettrine モジュールを使用した LMTX 環境では失敗しますか?

ConTeXt は、Lettrine モジュールを使用した LMTX 環境では失敗しますか?

私はすべてのドキュメントに ConTeXt MkIV をうまく使用してきました。

これまでのところ、Arch LinuxディストリビューションのTeXフレーバーは、コンテキスト最小値AUR からのパッケージのインストール。

数日前にインストールしたルアメタテックスパッケージもAURから入手しました。その後、ctxlmtxConTeXt ドキュメントをコンパイルします。これは、これまでのところ私のワークフローで変更された唯一のものです (私のプリアンブルは同じであり、\inputファイル内でも何も変更する必要はありませんでした)。

私の PDF でも何も変わっていませんが、Lettrine を使用した LMTX の奇妙な動作がいくつか発生しています。以下に示すように、ドロップ キャップ文字がテキストに統合されず、余白内に留まります。

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

しかし、ConTeXt MkIV環境に戻るたびに(ctx) 同じcontext preamble.texコマンドですべてが再び完璧に動作します:

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

このフォーラムで、LMTXとLettrineの間でConTeXtを使用した場合の同様の奇妙な動作を経験した人はいますか?TeXライブ配布またはConTeXt スタンドアロン?

私のLuaMetaTexのバージョンは2.07.10です

また、ここで記述した個別の部分を次々に結合したコードからの抜粋も追加しますが、これは新しい LMTX では気に入らない可能性があります。

\setuplanguage[es][leftquotation=«,rightquotation=»]
    
\mainlanguage[es]
\definepapersize[mybook][width=6in,height=9in]
    
\setuppapersize[mybook]

\usemodule[lettrine]
\def \LettrineStyle
    
  {\definefontsynonym[LettrineFont][Bold]\dropcapitals
\setuplettrine[A][Lines=3,Slope=4pt,Findent=-3pt,Hang=0.04,FontHook={\LettrineStyle}]
\setuplettrine[L][Lines=3,Hang=0.06,Findent=-6pt,Nindent=12pt,
FontHook={\LettrineStyle}]
\setuplettrine[E][Lines=3,Hang=0.10,FontHook={\LettrineStyle}]
\setuplettrine[B][Lines=3,Hang=0.04,Raise=0.00,Oversize=0.00,
FontHook={\LettrineStyle}]
\setuplettrine[R][Lines=3,Oversize=0.04,Hang=0.06,Raise=0.00,
FontHook={\LettrineStyle}]
\setuplettrine[Q][Lines=3,Hang=0.08,
Nindent=1em,Raise=0.16,Oversize=-0.10,
FontHook={\LettrineStyle}]
\setuplettrine[M][Lines=3,Hang=0.06,Raise=0.00,FontHook={\LettrineStyle}]
    
\setuplettrine[W][Lines=3,Hang=0.04,Raise=0.00,Findent=2pt,Slope=-4pt,
Nindent=-4pt,Oversize=0.00,
FontHook={\LettrineStyle}]

\definefontfeature[body]
    
[mode=node,calt=no,itlc=yes,
liga=yes,dlig=no,hlig=no,
rlig=no,tlig=yes,kern=yes,swsh=yes,
    
onum=yes,salt=no,script=latn,pnum=yes,
    
protrusion=quality,expansion=quality]
    
\definefontfamily[mainfont][rm][cochineal][features=body]

\setuplayout % global
 layout
[
grid=yes,
%backspace=52pt,
%width=318pt,
    
width=fit,
    
topspace=36pt,
    
header=12pt,
    
headerdistance=13.50pt,
    
height=569pt,
    
footer=26pt,
    
footerdistance=12pt
]
\definegridsnapping[tolerant]

\definefontsize[t]
    
\definefontsize[u]
    
\definefontsize[v]
    
\definefontsize[w]
    
\definefontsize[y]
    
\definefontsize[z]
\definebodyfontenvironment[12.46pt][t=12.00pt,

u=11.30pt,v=15.20pt,w=8pt,y=30pt,z=10.20pt]
     
    \switchtobodyfont[12.46pt]
        
        
    \setupbodyfont[mainfont]
        
        
    \setupindenting[yes,medium]
        
        
    \setupalign[hz,hanging,height]
    \setupinterlinespace[line=15.45pt]
      

Lettrine の動作に関する私の知識はほとんど役に立たないのですが、このモジュールが段落を処理する方法に何か関係があるのではないかと考えています。これは LMTX で変更された可能性がありますか?

私はあちこちで数時間試してみました。これはテストエピグラフの例です。結果は正しいのですが、混乱しています。MkIVでコンパイルされたのではなく、同じlmtx環境とコマンドは以前の本文と同じです。

LMTXでコンパイル

はい、古いコードを 1 桁も変更せずに LMTX で再度コンパイルしました。もちろん、サンプル エピグラフを作成するために必要なコードのみを追加しました。次に、それを含めるために追加したコードを以下で共有します。

\usemodule[annotation]
\definelayout[epigraph]
    [
      backspace=176pt,
      width=194pt
    ]
    \defineannotation
      [Epigraph]
      [
        alternative=command,
        style=tfa,
        spacebefore=small,
        spaceafter=big,
        command=\PlaceEpigraph,
      ]
    \define[2]\PlaceEpigraph
      {\startalignment[hanging,flushleft,nothyphenated]
    \setupinterlinespace[line=22pt]
    \placeannotationcontent
    \stopalignment}

\startmakeup[standard][doublesided=yes]
  
\setuplayout[epigraph]
    
\startEpigraph
     
\lettrine{A}{hora} \switchtobodyfont[initialtext],rest of my dummy text.
     
\stopEpigraph
    
\startalignment[flushright]
         
    \blank[0.8cm,force]{\tfa\sc Geofrey Chaucer,\hspace[big\blank[0.1cm,force]
    {\switchtobodyfont[initialtext]\tfa\em The Canterbury Tales \hspace[big]}
            
\stopalignment
      
\stopmakeup

この正しい結果については説明が見つかりません。この結果は、LXMT と Letrine が本文で再びまれに出力として示す異常性とは距離を置いています。

この謎は、明らかにすることと関係がある可能性が高い。リンクそれミケップが提供してくれたものです。しかし、そのコードに関する高度な知識が私にはないので、そのコードをそのスレッドの内容に関連付けたり、その解決策が私に抱かせた疑問を解消したりすることはできません。その解決策は、現時点では最善であるだけでなく、唯一のものであるように思われます。

ちなみに、ハンス・ハーゲンの警告に関連して、発表、特に について\forgetparagraphfreezing、段落を固定しておくことがなぜ重要なのか、わかりやすい言葉で説明してくれる人はいませんか? 正直に言うと、 が何を意味するのかわかりません。

...lmtx ではどこでもフリーズが有効になっていることを期待しています。

関連情報