%% BEGIN pst-text.tex %% %% Placing text on a path with PSTricks 97. %% See the PSTricks User's Guide for description. %% See tp-test.tex for sample input and tp-test.ps for sample output. %% This uses the header file `pst-text.pro'. %% \def\fileversion{97} \def\filedate{1997/03/25} %% %% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN %% archives in directory macros/latex/base/lppl.txt. %% \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{pst-text.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 pst-text.tex