summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/asyfig/asyalign.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-10-20 20:51:31 +0000
committerKarl Berry <karl@freefriends.org>2009-10-20 20:51:31 +0000
commit27857ca589be3f98c25a2ecda780f1c0984519ae (patch)
treec0866c6c47ad68fff13fc1240b2e9dd8912585a3 /Master/texmf-dist/tex/latex/asyfig/asyalign.sty
parent648957036106e6e4d004af2952f2b8ce39d6cfcd (diff)
asyfig update (20oct09)
git-svn-id: svn://tug.org/texlive/trunk@15849 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/asyfig/asyalign.sty')
-rw-r--r--Master/texmf-dist/tex/latex/asyfig/asyalign.sty87
1 files changed, 87 insertions, 0 deletions
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
+