* 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).