[pstricks] Strikeout macro

Jean-Côme Charpentier jean-come.charpentier at wanadoo.fr
Thu Mar 19 02:18:01 CET 2009


David Arnold a écrit :
> Doesn't seem to work the way I need it to work:
> 
> [...]
> \newlength{\numwid}
> \newlength{\numht}
> 
> \newcommand{\strikeout}[1]{%
>       \settowidth{\numwid}{#1}
>       \settoheight{\numht}{#1}

It's better to say that we work inside math :
  \settowidth{\numwid}{$#1$}
  \settoheight{\numht}{$#1$}

>       \psline[linecolor=darkred](0,0)(\the\numwid,\the\numht)#1}
> [...]
> \frac{\strikeout{(x+1)}(x+2)}{\strikeout{(x+1)}}

It's a joke :-) When #1 is (x+1), actually you say :
  \psline[...](0,0)(\the\numwid,\the\numht)(x+1)
In the other hand, you asked for pstricks-add
(\usepackage{pstricks-add}), then there is an automatic \SpecialCoor,
then PostScript looks for a node 'x+1'... without error even when this
node doesn't exist! Funny isn't it?
  \psline[...](0,0)(\the...)\relax #1
is a possibility. BTW it seems (to me) that the direct use of box is
simplier:

\newcommand*{\strikeout}[1]{%
  \setbox0=\hbox{$#1$}%
  \psline[linecolor=darkred](0,-\dp0)(\wd0,\ht0)\relax#1%
}

does the job... and you could use \mathpalette to improve the quality of
this macro.

  Jean-Côme Charpentier




More information about the PSTricks mailing list