* Equivalent of LaTeX \cancel? and Thanks! @ 2008-10-11 19:17 Benjamin R. Haskell 2008-10-12 14:17 ` Hans Hagen 0 siblings, 1 reply; 3+ messages in thread From: Benjamin R. Haskell @ 2008-10-11 19:17 UTC (permalink / raw) To: ConTeXt Users Hi all, I recently transitioned from LaTeX to ConTeXt. There was some particular thing I needed to do (which escapes me at the moment) that was far, far easier to do in ConTeXt than in LaTeX. And, as I've learned, I've found that that's quite often the case. So, a huge thank you to everyone involved. A couple hours ago I was annoyed that I couldn't find an equivalent for the LaTeX 'cancel' environment/command/style(?)[1]. Now, I'm truly amazed that 'cancel' required a whole package. After discovering that 'underline' and 'strikethrough' were implemented as overlays, I quickly coded up the following: \startuseMPgraphic{MyCancel} draw (0,.2*\overlayheight)--(\overlaywidth,\overlayheight); \stopuseMPgraphic \defineoverlay[mycancel][\useMPgraphic{MyCancel}] \def\cancel#1{\framed[background=mycancel,frame=off]{#1}} Now, I'm sure this is not *quite* the right way to do it. The 'cancel'ed items end up being placed too high on the line, and other spacings are slightly off. But, taking a cue from underlining, I kept the MyCancel graphic and tried: \definetextbackground [cancel] [location=text, alternative=1, background=mycancel] % plus boilerplate for setting up \startcancel\stopcancel ...But, while composing this email, I found what I wanted, which still isn't ``right'' in some sense: \def\cancel#1{\framed[background=mycancel,frame=off,width=fit,height=fit,strut=no]{#1}} I found the parameters for \framed. I'm still learning to Read The Fantastic Manuals, but sent this anyway since I wanted to say thanks. Best, Ben [1] e.g. http://www.sosmath.com/CBB/viewtopic.php?t=9412 ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Equivalent of LaTeX \cancel? and Thanks! 2008-10-11 19:17 Equivalent of LaTeX \cancel? and Thanks! Benjamin R. Haskell @ 2008-10-12 14:17 ` Hans Hagen 2008-10-14 8:10 ` Wolfgang Schuster 0 siblings, 1 reply; 3+ messages in thread From: Hans Hagen @ 2008-10-12 14:17 UTC (permalink / raw) To: mailing list for ConTeXt users Benjamin R. Haskell wrote: > Hi all, > > I recently transitioned from LaTeX to ConTeXt. There was some particular > thing I needed to do (which escapes me at the moment) that was far, far > easier to do in ConTeXt than in LaTeX. And, as I've learned, I've found > that that's quite often the case. So, a huge thank you to everyone > involved. > > A couple hours ago I was annoyed that I couldn't find an equivalent for > the LaTeX 'cancel' environment/command/style(?)[1]. Now, I'm truly amazed > that 'cancel' required a whole package. > > After discovering that 'underline' and 'strikethrough' were implemented as > overlays, I quickly coded up the following: > > \startuseMPgraphic{MyCancel} > draw (0,.2*\overlayheight)--(\overlaywidth,\overlayheight); > \stopuseMPgraphic > \defineoverlay[mycancel][\useMPgraphic{MyCancel}] > > \def\cancel#1{\framed[background=mycancel,frame=off]{#1}} > > > Now, I'm sure this is not *quite* the right way to do it. The 'cancel'ed > items end up being placed too high on the line, and other spacings are > slightly off. But, taking a cue from underlining, I kept the MyCancel > graphic and tried: > > \definetextbackground > [cancel] > [location=text, > alternative=1, > background=mycancel] > % plus boilerplate for setting up \startcancel\stopcancel > > ....But, while composing this email, I found what I wanted, which still > isn't ``right'' in some sense: > > \def\cancel#1{\framed[background=mycancel,frame=off,width=fit,height=fit,strut=no]{#1}} > > I found the parameters for \framed. I'm still learning to Read The > Fantastic Manuals, but sent this anyway since I wanted to say thanks. \startuseMPgraphic{mpos:par:cancel} for i=1 upto nofmultipars : draw .2[llcorner multipars[i],ulcorner multipars[i]] -- .2[urcorner multipars[i],lrcorner multipars[i]] ; endfor ; \stopuseMPgraphic \definetextbackground[cancel][location=text,mp=mpos:par:cancel] \def\startcancel{\starttextbackground[cancel]} \def\stopcancel {\stoptextbackground} \def\cancel {\groupedcommand\startcancel\stopcancel} however, this is kind of fuzzy when you cross lines an alternative is to use: \definetextbackground[cancel][location=text,alternative=4,background=,frame=off] \definestartstop [cancel] [before={\starttextbackground[cancel]}, after=\stoptextbackground] however, there is a glitch in the drawing so you need a patch \startMPinclusions def draw_multi_pars = for i=1 upto nofmultipars : do_draw_par(multipars[i]) ; if boxgridtype= 1 : draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up fi,true) ; % withcolor boxgridcolor ; elseif boxgridtype= 2 : draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up fi,false) ; % withcolor boxgridcolor ; elseif boxgridtype= 3 : draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up fi,true) ; % withcolor boxgridcolor ; draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up fi,true) shifted (0,ExHeight) ; % withcolor boxgridcolor ; elseif boxgridtype= 4 : draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up fi,true) shifted (0,ExHeight/2) ; % withcolor boxgridcolor ; elseif boxgridtype=11 : draw graphic_grid(multipars[i],boxgriddistance,boxgriddistance,boxgriddistance/2,boxgriddistance/2) ; elseif boxgridtype=12 : draw graphic_grid(multipars[i],boxgriddistance,boxgriddistance,0,0) ; fi ; endfor ; enddef ; \stopMPinclusions (will be fixed in the next release) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Equivalent of LaTeX \cancel? and Thanks! 2008-10-12 14:17 ` Hans Hagen @ 2008-10-14 8:10 ` Wolfgang Schuster 0 siblings, 0 replies; 3+ messages in thread From: Wolfgang Schuster @ 2008-10-14 8:10 UTC (permalink / raw) To: mailing list for ConTeXt users On Sun, Oct 12, 2008 at 4:17 PM, Hans Hagen <pragma@wxs.nl> wrote: > Benjamin R. Haskell wrote: >> Hi all, >> >> I recently transitioned from LaTeX to ConTeXt. There was some particular >> thing I needed to do (which escapes me at the moment) that was far, far >> easier to do in ConTeXt than in LaTeX. And, as I've learned, I've found >> that that's quite often the case. So, a huge thank you to everyone >> involved. >> >> A couple hours ago I was annoyed that I couldn't find an equivalent for >> the LaTeX 'cancel' environment/command/style(?)[1]. Now, I'm truly amazed >> that 'cancel' required a whole package. >> >> After discovering that 'underline' and 'strikethrough' were implemented as >> overlays, I quickly coded up the following: >> >> \startuseMPgraphic{MyCancel} >> draw (0,.2*\overlayheight)--(\overlaywidth,\overlayheight); >> \stopuseMPgraphic >> \defineoverlay[mycancel][\useMPgraphic{MyCancel}] >> >> \def\cancel#1{\framed[background=mycancel,frame=off]{#1}} >> >> >> Now, I'm sure this is not *quite* the right way to do it. The 'cancel'ed >> items end up being placed too high on the line, and other spacings are >> slightly off. But, taking a cue from underlining, I kept the MyCancel >> graphic and tried: >> >> \definetextbackground >> [cancel] >> [location=text, >> alternative=1, >> background=mycancel] >> % plus boilerplate for setting up \startcancel\stopcancel >> >> ....But, while composing this email, I found what I wanted, which still >> isn't ``right'' in some sense: >> >> \def\cancel#1{\framed[background=mycancel,frame=off,width=fit,height=fit,strut=no]{#1}} >> >> I found the parameters for \framed. I'm still learning to Read The >> Fantastic Manuals, but sent this anyway since I wanted to say thanks. > > > \startuseMPgraphic{mpos:par:cancel} > for i=1 upto nofmultipars : > draw > .2[llcorner multipars[i],ulcorner multipars[i]] -- > .2[urcorner multipars[i],lrcorner multipars[i]] ; > endfor ; > \stopuseMPgraphic > > \definetextbackground[cancel][location=text,mp=mpos:par:cancel] > > \def\startcancel{\starttextbackground[cancel]} > \def\stopcancel {\stoptextbackground} > \def\cancel {\groupedcommand\startcancel\stopcancel} > > however, this is kind of fuzzy when you cross lines > > an alternative is to use: > > \definetextbackground[cancel][location=text,alternative=4,background=,frame=off] > > \definestartstop > [cancel] > [before={\starttextbackground[cancel]}, > after=\stoptextbackground] \definestartstop is not neccessary because \definetextbackground defines \start/\stopcancel and \cancel as shortcuts ;-) > however, there is a glitch in the drawing so you need a patch > > \startMPinclusions > def draw_multi_pars = > for i=1 upto nofmultipars : > do_draw_par(multipars[i]) ; > if boxgridtype= 1 : > draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up > fi,true) ; % withcolor boxgridcolor ; > elseif boxgridtype= 2 : > draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up > fi,false) ; % withcolor boxgridcolor ; > elseif boxgridtype= 3 : > draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up > fi,true) ; % withcolor boxgridcolor ; > draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up > fi,true) shifted (0,ExHeight) ; % withcolor boxgridcolor ; > elseif boxgridtype= 4 : > draw baseline_grid (multipars[i],if multilocs[i]=1: down else: up > fi,true) shifted (0,ExHeight/2) ; % withcolor boxgridcolor ; > elseif boxgridtype=11 : > draw > graphic_grid(multipars[i],boxgriddistance,boxgriddistance,boxgriddistance/2,boxgriddistance/2) > ; > elseif boxgridtype=12 : > draw graphic_grid(multipars[i],boxgriddistance,boxgriddistance,0,0) ; > fi ; > endfor ; > enddef ; > \stopMPinclusions > > (will be fixed in the next release) 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-10-14 8:10 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-10-11 19:17 Equivalent of LaTeX \cancel? and Thanks! Benjamin R. Haskell 2008-10-12 14:17 ` Hans Hagen 2008-10-14 8:10 ` Wolfgang Schuster
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).