Thomas Fehige <mailto:tho...@fehige.de>
6. Juni 2016 um 10:11
I'm trying to put a piece of text in a partial frame that's meant to
look like square brackets aligned with the left and right edges of the
textblock.
I tried to use two \framed constructions inside each other, the outer
one with width=textwidth and negative toffset and boffset, the inner
one with a smaller width, a fat rulethickness and the color of the
background, expecting it to erase the outer frame where it's not needed:
\color[zier]{%
\framed[%
align=middle,
width=\textwidth,
toffset=-4mm,
boffset=-4mm,
strut=no,
]{%
\color[paper]{\framed[%
align=middle,
width=222mm, % i.e. \textwidth-4mm
toffset=6mm,
boffset=5mm,
rulethickness=5mm
]{%
\color[zier]{\tfd \strut Here's the text that is menat to look
important; its length/number of lines is undetermined.\strut}
}}%
}%
}%
... but it doesn't work. Apparently the inner frame is drawn before
the outer one. Putting the wider frame inside the narrower results in
alignment problems -- due to the overfull hbox, I presume.
Your example is of not much use because it can’t be converted to a PDF
(missing \starttext and empty lines).
Is there a simple solution in ConTeXt that I haven't found yet, or
will I have to try some plain TeX box magic myself?
You can use MetaPost to draw the frame/lines for the left and right borders.
\startuseMPgraphic{leftbracket}
z[0] = (EmWidth,OverlayHeight) ;
z[1] = (0,OverlayHeight) ;
z[2] = (0,0) ;
z[3] = (EmWidth,0) ;
draw z[0]--z[1]--z[2]--z[3] withcolor \MPcolor{\overlaylinecolor} ;
\stopuseMPgraphic
\startuseMPgraphic{rightbracket}
z[0] = (-EmWidth,OverlayHeight) ;
z[1] = (0,OverlayHeight) ;
z[2] = (0,0) ;
z[3] = (-EmWidth,0) ;
draw z[0]--z[1]--z[2]--z[3] withcolor \MPcolor{\overlaylinecolor} ;
\stopuseMPgraphic
\installleftframerenderer {bracket}{\useMPgraphic {leftbracket}}
\installrightframerenderer{bracket}{\useMPgraphic{rightbracket}}
\defineframed
[bracketframed]
[frame=off,
offset=1ex,
leftframe=bracket,
rightframe=bracket,
framecolor=red,
foregroundstyle=\ssx,
foregroundcolor=darkgray,
align=normal,
width=max]
\starttext
\bracketframed{\input knuth }
\stoptext
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________