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

관련 정보