diff options
Diffstat (limited to 'usergrps/uktug/baskervi/6_2/spqr/textpath.tex')
-rw-r--r-- | usergrps/uktug/baskervi/6_2/spqr/textpath.tex | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/usergrps/uktug/baskervi/6_2/spqr/textpath.tex b/usergrps/uktug/baskervi/6_2/spqr/textpath.tex new file mode 100644 index 0000000000..8a5bd73e47 --- /dev/null +++ b/usergrps/uktug/baskervi/6_2/spqr/textpath.tex @@ -0,0 +1,97 @@ +%% BEGIN textpath.tex/textpath.sty +%% +%% For placing text on a path with PSTricks. +%% +\def\fileversion{0.93b} % For use with PSTricks v0.93a. +\def\filedate{94/04/20} +%% +%% COPYRIGHT 1993, by Timothy Van Zandt, tvz@Princeton.EDU +%% See pstricks.tex or pstricks.doc for copying restrictions. +%% +%% See the PSTricks User's Guide for description. +%% See tp-test.tex for sample input. +%% See tp-test.ps for sample output. +%% +%% This uses the header file textpath.ps. + +\message{ v\fileversion, \filedate} + +\csname PSTextPathLoaded\endcsname +\let\PSTextPathLoaded\endinput + +\ifx\PSTricksLoaded\endinput\else + \def\next{\input pstricks.tex}\expandafter\next +\fi + +\edef\TheAtCode{\the\catcode`\@} +\catcode`\@=11 + +\pstheader{textpath.pro} + +\def\pstextpath{\@ifnextchar[{\pstextpath@}{\pstextpath@[l]}} +\def\pstextpath@[#1]{% + \@ifnextchar({\pstextpath@@[#1]}{\pstextpath@@[#1](0,\TPoffset)}} +\def\pstextpath@@[#1](#2)#3{\pst@makebox{\pstextpath@@@[#1](#2){#3}}} +\def\pstextpath@@@[#1](#2,#3)#4{% + \pst@killglue + \begingroup + \ifx c#1\relax + \def\pst@tempa{.5}% + \else + \ifx r#1\relax + \def\pst@tempa{1}% + \else + \def\pst@tempa{0}% + \fi + \fi + \def\use@pscode{% + \pst@Verb{% + /mtrxc CM def + \tx@STV + CP translate + newpath + \pst@code\space + mtrxc setmatrix + 0 setgray}% + \gdef\pst@code{}}% + \def\psclip#1{\pst@misplaced\psclip}% + \let\endpsclip\relax + \def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}% + \def\nc@object##1##2##3##4{\pst@misplaced{node connection}}% + \def\PSTtoEPS@i##1##2{\pst@misplaced\PSTtoEPS}% + \pssetlength\pst@dima{#2}% + \pssetlength\pst@dimb{#3}% + \setbox\pst@hbox\hbox{% + \hbox to\z@{% + \kern -\wd\pst@hbox + % BoxWidth = CurrX - Hoffset. + \pstVerb{tx@TextPathDict begin + currentpoint pop /Hoffset exch def end}% + \kern\pst@dima + % XOffset = Voffset - Hoffset (extra horizontal skip) + \pstVerb{tx@TextPathDict begin + currentpoint pop /Voffset exch def end}% + \hss + \pstVerb{% + /tx@TextPathSavedShow /show load def + \pst@dict \tx@PathLength end + dup 0 gt + { tx@TextPathDict begin \pst@tempa\space InitTextPath end + /show { tx@TextPathDict begin TextPathShow end } def + } + { pop } + ifelse}}% + \raise\pst@dimb\box\pst@hbox + \pstVerb{% + currentpoint newpath moveto + /show /tx@TextPathSavedShow load def}}% + \wd\pst@hbox=\z@ \dp\pst@hbox=\z@ \ht\pst@hbox=\z@ + \leavevmode + \hbox{{#4}\box\pst@hbox}% + \endgroup\ignorespaces} +\def\TPoffset{-.7ex} + +\catcode`\@=\TheAtCode\relax + +\endinput +%% END textpath.tex/textpath.sty |