ConTeXt ネストされたフレーム: 内側のオフセットによりフレームが縮小されます

ConTeXt ネストされたフレーム: 内側のオフセットによりフレームが縮小されます
\starttext
\framed[strut=no,offset=0pt,rulethickness=1pt]{%
\framed
    [align=normal,
     width=200pt,
     height=50pt,
     offset=0pt,
     frame=off,
     rulethickness=0pt]{%
    \blackrule[color=orange,width=100pt,height=50pt]}}
\stoptext

良い

これまでのところ、すべて問題ありません。 ルールの太さは 0pt に設定する必要があります。そうしないと、フレームがオフの場合でも 0.4pt の間隔が追加されます ( ) \framedwidth。残念ながら、オフセットを追加できないようです。そうすると、両方のボックスが縮小されます。

\starttext
\framed[strut=no,offset=0pt,rulethickness=1pt]{%
\framed
    [align=normal,
     width=200pt,
     height=50pt,
     offset=10pt,
     frame=off,
     rulethickness=0pt]{%
    \blackrule[color=orange,width=100pt,height=50pt]}}
\stoptext

悪い

デフォルトのオフセット 2.5ex は問題なく動作するようです。

\framed[strut=no,offset=0pt,rulethickness=1pt]{%
\framed
    [align=normal,
     width=200pt,
     height=50pt,
     frame=off,
     rulethickness=0pt]{%
    \blackrule[color=orange,width=100pt,height=50pt]}}

デフォルト

フレームがネストされていない場合と同じように、期待される出力は次のようになります。

目標

答え1

を使用するとoffset、コンテンツを縮小することでオフセットが追加されます。必要な効果を得るには、コンテンツを拡大することでオフセットを追加する必要があります。これは、[tblr]offsetキーを使用して行います。

\starttext
\framed[strut=no,rulethickness=1pt]{%
\framed
    [align=normal,
     width=200pt,
     height=50pt,
     toffset=10pt,
     boffset=\framedparameter{toffset},
     loffset=\framedparameter{toffset},
     roffset=\framedparameter{toffset},
     frame=off,
     rulethickness=0pt]{%
    \blackrule[color=orange,width=100pt,height=50pt]}}
\stoptext

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

マクロを使用してすべてのパラメータを一度に設定できますextras

\define[1]\setouteroffset{%
    \setframedparameter{toffset}{#1}%
    \setframedparameter{boffset}{#1}%
    \setframedparameter{loffset}{#1}%
    \setframedparameter{toffset}{#1}%
}
\starttext
\framed[strut=no,rulethickness=1pt]{%
\framed
    [align=normal,
     width=200pt,
     height=50pt,
     extras=\setouteroffset{10pt},
     frame=off,
     rulethickness=0pt]{%
    \blackrule[color=orange,width=100pt,height=50pt]}}
\stoptext

関連情報