From 27857ca589be3f98c25a2ecda780f1c0984519ae Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 20 Oct 2009 20:51:31 +0000 Subject: asyfig update (20oct09) git-svn-id: svn://tug.org/texlive/trunk@15849 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/asyfig/asyalign.sty | 87 +++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/asyfig/asyalign.sty (limited to 'Master/texmf-dist/tex/latex/asyfig/asyalign.sty') diff --git a/Master/texmf-dist/tex/latex/asyfig/asyalign.sty b/Master/texmf-dist/tex/latex/asyfig/asyalign.sty new file mode 100644 index 00000000000..12660db504f --- /dev/null +++ b/Master/texmf-dist/tex/latex/asyfig/asyalign.sty @@ -0,0 +1,87 @@ +%% LaTeX2e file `asyalign.sty' +%% generated by the `filecontents' environment +%% from source `asyfig' on 2009/06/30. +%% +\ProvidesPackage{asyalign} + +% This package provides code for placing Asymptote labels inline in \LaTeX\ documents. It is adapted from code that is usually included within Aymptote's \|_.pre| file, which provides a \LaTeX\ preamble for |asy| processing; this preamble is skipped with the \pkg{asyfig} package since all figures inherit the preamble from that of the main document. + +\RequirePackage{ifpdf} + +\newbox\ASYbox +\newdimen\ASYdimen + +\long\def\ASYbase#1#2{% + \leavevmode + \setbox\ASYbox\hbox{#1}% + \ASYdimen=\ht\ASYbox + \setbox\ASYbox\hbox{#2}% + \lower\ASYdimen\box\ASYbox +} + +\ifpdf + + \long\def\ASYaligned(#1,#2)(#3,#4)#5#6#7{% + \leavevmode + \setbox\ASYbox\hbox{#7}% + \setbox\ASYbox\hbox{% + \ASYdimen\ht\ASYbox + \advance\ASYdimen\dp\ASYbox + \kern#3\wd\ASYbox + \raise#4\ASYdimen + \box\ASYbox + }% + \put(#1,#2){% + #5\wd\ASYbox 0pt\dp\ASYbox 0pt\ht\ASYbox 0pt\box\ASYbox#6% + }% + } + + \long\def\ASYalignT(#1,#2)(#3,#4)#5#6{% + \ASYaligned(#1,#2)(#3,#4){% + \special{pdf:q #5 0 0 cm}% + }{% + \special{pdf:Q}% + }{#6}% + } + + \long\def\ASYalign(#1,#2)(#3,#4)#5{\ASYaligned(#1,#2)(#3,#4){}{}{#5}} + + \let\ASYraw\@firstofone + +\else + + \long\def\ASYaligned(#1,#2)(#3,#4)#5#6#7{% + \leavevmode + \setbox\ASYbox\hbox{#7}% + \setbox\ASYbox\hbox{% + \ASYdimen\ht\ASYbox% + \advance\ASYdimen\dp\ASYbox + \kern#3\wd\ASYbox + \raise#4\ASYdimen + \box\ASYbox + }% + \put(#1,#2){#5\wd\ASYbox 0pt\dp\ASYbox 0pt\ht\ASYbox 0pt\box\ASYbox#6}% + } + + \long\def\ASYalignT(#1,#2)(#3,#4)#5#6{% + \ASYaligned(#1,#2)(#3,#4){% + \special{% + ps:gsave currentpoint currentpoint translate + [#5 0 0] concat neg exch neg exch translate% + }% + }{% + \special{ps:currentpoint grestore moveto}% + }{#6}% + } + + \long\def\ASYalign(#1,#2)(#3,#4)#5{\ASYaligned(#1,#2)(#3,#4){}{}{#5}} + + \def\ASYraw#1{% + currentpoint currentpoint translate matrix currentmatrix + 100 12 div -100 12 div scale + #1 + setmatrix neg exch neg exch translate% + } + +\fi + -- cgit v1.2.3