* Left frame on a block of text @ 2019-04-20 12:53 Gilles Waeber 2019-04-20 13:46 ` Aditya Mahajan 0 siblings, 1 reply; 4+ messages in thread From: Gilles Waeber @ 2019-04-20 12:53 UTC (permalink / raw) To: ntg-context Hi, I'm trying to create a style with a left border in the margin. I want the border to start and stop with the text. For the bottom I used framedepth but the bar still goes too far on the top? \showframe \showboxes \defineframedtext[leftbartext][ width=broad, frame=off, leftframe=on, rulethickness=.5ex, offset=-\framedparameter{rulethickness}, frameoffset=\dimexpr\leftmargindistance + \framedparameter{rulethickness}\relax, framedepth=-\framedparameter{frameoffset}, ] \starttext \startleftbartext \input knuth \stopleftbartext \stoptext Regards, Gilles ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Left frame on a block of text 2019-04-20 12:53 Left frame on a block of text Gilles Waeber @ 2019-04-20 13:46 ` Aditya Mahajan 2019-04-20 18:53 ` Gilles Waeber 2019-04-21 10:13 ` Otared Kavian 0 siblings, 2 replies; 4+ messages in thread From: Aditya Mahajan @ 2019-04-20 13:46 UTC (permalink / raw) To: mailing list for ConTeXt users On Sat, 20 Apr 2019, Gilles Waeber wrote: > Hi, > I'm trying to create a style with a left border in the margin. > > I want the border to start and stop with the text. For the bottom I used > framedepth but the bar still goes too far on the top? > > \showframe > \showboxes > \defineframedtext[leftbartext][ > width=broad, > frame=off, > leftframe=on, > rulethickness=.5ex, > offset=-\framedparameter{rulethickness}, > frameoffset=\dimexpr\leftmargindistance + > \framedparameter{rulethickness}\relax, > framedepth=-\framedparameter{frameoffset}, > ] > \starttext > \startleftbartext > \input knuth > \stopleftbartext > \stoptext Framed does not provide enough hooks to control the spaces. For something like this, you can also use metapost to draw the background: \showframe \showboxes \defineframedtext[leftbartext][ width=broad, frame=off, rulethickness=.5ex, background=mp:offsetframe, offset=overlay, ] \defineoverlay[mp:offsetframe][\useMPgraphic{mp:offsetframe}] \startuseMPgraphic{mp:offsetframe} draw leftboundary OverlayBox xshifted -(LeftMarginDistance + 0.5OverlayLineWidth) withpen pencircle scaled OverlayLineWidth; setbounds currentpicture to OverlayBox; \stopuseMPgraphic \starttext \startleftbartext \input knuth \stopleftbartext \stoptext Aditya ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Left frame on a block of text 2019-04-20 13:46 ` Aditya Mahajan @ 2019-04-20 18:53 ` Gilles Waeber 2019-04-21 10:13 ` Otared Kavian 1 sibling, 0 replies; 4+ messages in thread From: Gilles Waeber @ 2019-04-20 18:53 UTC (permalink / raw) To: 'mailing list for ConTeXt users' Thanks, that's exactly what I needed. I got inspired by your post at https://adityam.github.io/context-blog/post/frame-with-solid-left-line/ for my original code. I just added linecap:=butt; at the beginning of the metapost code to get squared ends. Gilles > Framed does not provide enough hooks to control the spaces. For something > like this, you can also use metapost to draw the background: > > \showframe > \showboxes > \defineframedtext[leftbartext][ > width=broad, > frame=off, > rulethickness=.5ex, > background=mp:offsetframe, > offset=overlay, > ] > > \defineoverlay[mp:offsetframe][\useMPgraphic{mp:offsetframe}] > \startuseMPgraphic{mp:offsetframe} linecap:=butt; draw leftboundary OverlayBox xshifted -(LeftMarginDistance + 0.5OverlayLineWidth) withpen pencircle scaled OverlayLineWidth; setbounds currentpicture to OverlayBox; \stopuseMPgraphic > > \starttext > \startleftbartext > \input knuth > \stopleftbartext > \stoptext > > > Aditya ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Left frame on a block of text 2019-04-20 13:46 ` Aditya Mahajan 2019-04-20 18:53 ` Gilles Waeber @ 2019-04-21 10:13 ` Otared Kavian 1 sibling, 0 replies; 4+ messages in thread From: Otared Kavian @ 2019-04-21 10:13 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1: Type: text/plain, Size: 1476 bytes --] Hi Aditya and Gilles, It seems to me that adding a bar in the margin either with framedtext or with MetaPost, lacks the ability to continue through a page break. Using the ConTeXt built-in sidebar mechanism has the advantage of continuing through a page break, but it is still not perfetct because in some occasions (but not always…) the sidebar plunges into the footnote area. I don't know if the issue can be solved (adding negative bottomoffset solves partly the problem but when there is no footnote then the sidebar appears to be too short…). Here is an example of how I use the sidebar to enhance \proclaim like texts. Best regards: OK %%%% begin test-sidebar-proclaim.tex %%%%%%% \definesidebar[ProclaimSidebar] \setupsidebar[ProclaimSidebar] [rulecolor=darkred, rulethickness=1pt, alternative=2, distance=5mm, % bottomoffset=-7mm, % topoffset=-2mm ] \defineenumeration[proclaim] [text=, before={\startsidebar[ProclaimSidebar]}, after={\stopsidebar}, style=slanted, title=yes, titleleft=, titleright={.}, % alternative=serried, alternative=hanging, % hang=2, width=fit, right={~}, way=bysection, prefix=yes, prefixsegments={chapter:section}] %%%%%%% \starttext \dorecurse{2}{\input knuth.tex\par} \input tufte.tex \footnote{The sidebar gets into the footnote\dots} \startproclaim{Lemma} \dorecurse{4}{\input ward.tex \par} \stopproclaim \stoptext %%%%%% end test-sidebar-proclaim.tex [-- Attachment #2: test-sidebar-proclaim.pdf --] [-- Type: application/pdf, Size: 25486 bytes --] [-- Attachment #3: Type: text/plain, Size: 2074 bytes --] > On 20 Apr 2019, at 15:46, Aditya Mahajan <adityam@umich.edu> wrote: > > On Sat, 20 Apr 2019, Gilles Waeber wrote: > >> Hi, >> I'm trying to create a style with a left border in the margin. >> >> I want the border to start and stop with the text. For the bottom I used >> framedepth but the bar still goes too far on the top? >> >> \showframe >> \showboxes >> \defineframedtext[leftbartext][ >> width=broad, >> frame=off, >> leftframe=on, >> rulethickness=.5ex, >> offset=-\framedparameter{rulethickness}, >> frameoffset=\dimexpr\leftmargindistance + >> \framedparameter{rulethickness}\relax, >> framedepth=-\framedparameter{frameoffset}, >> ] >> \starttext >> \startleftbartext >> \input knuth >> \stopleftbartext >> \stoptext > > Framed does not provide enough hooks to control the spaces. For something like this, you can also use metapost to draw the background: > > \showframe > \showboxes > \defineframedtext[leftbartext][ > width=broad, > frame=off, > rulethickness=.5ex, > background=mp:offsetframe, > offset=overlay, > ] > > \defineoverlay[mp:offsetframe][\useMPgraphic{mp:offsetframe}] > > \startuseMPgraphic{mp:offsetframe} > draw leftboundary OverlayBox > xshifted -(LeftMarginDistance + 0.5OverlayLineWidth) > withpen pencircle scaled OverlayLineWidth; > setbounds currentpicture to OverlayBox; > \stopuseMPgraphic > > \starttext > \startleftbartext > \input knuth > \stopleftbartext > \stoptext > > > Aditya > ___________________________________________________________________________________ > 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://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ [-- Attachment #4: Type: text/plain, Size: 493 bytes --] ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-04-21 10:13 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-04-20 12:53 Left frame on a block of text Gilles Waeber 2019-04-20 13:46 ` Aditya Mahajan 2019-04-20 18:53 ` Gilles Waeber 2019-04-21 10:13 ` Otared Kavian
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).