在 Context 中有没有 tcolorbox 的替代品?

在 Context 中有没有 tcolorbox 的替代品?

我计划转向 Context,但是,我会怀念一些 LaTeX 软件包(尤其是 tcolorbox),这让我感到很难过。这就是我问这个问题的原因。

答案1

您可以使用、和 MetaFun 覆盖机制进行tcolorbox很好的模拟。framedframedtext

\startuseMPgraphic{mp:tcolorbox}
  path p ; numeric w, h, o ;
  w := OverlayWidth ; h := OverlayHeight ; o := BodyFontSize ;
  p := ((0,0) -- (0,h+2o) -- (w,h+2o) -- (w,0) -- cycle) cornered (o) ;
  fill p withcolor OverlayColor ;
  draw p withcolor OverlayLineColor withpen pencircle scaled OverlayLineWidth ;
  p := ((0,h) -- (0,h+2o) -- (w,h+2o) -- (w,h) -- cycle) cornered (o) ;
  filldraw p -- cycle withcolor OverlayLineColor ;
  draw textext.rt(\MPstring{tcolorbox}) shifted (o,h+o) withcolor white ;
  setbounds currentpicture to OverlayBox ;
\stopuseMPgraphic

\defineoverlay[tcolorbox][\useMPgraphic{mp:tcolorbox}]

\define\setframetitle
  {\setMPtext{tcolorbox}{\strut\framedparameter{title}}}

\defineframedtext
  [tcolorbox]
  [frame=off,
   background=tcolorbox,
   backgroundcolor=white,
   framecolor=darkred,
   rulethickness=2pt,
   extras=\setframetitle]

\starttext

\starttcolorbox
  [title={Knuth},
   backgroundcolor=lightgray]

  \samplefile{knuth}

\stoptcolorbox

\stoptext

在此处输入图片描述

相关内容