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