From 27857ca589be3f98c25a2ecda780f1c0984519ae Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
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 \<filename>|_.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

