summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/asyfig/asyalign.sty
blob: 1bc05a30f7d8c059a4e317364fbf5da1b70b366c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
%% LaTeX2e file `asyalign.sty'
%% generated by the `filecontents' environment
%% from source `asyfig' on 2009/06/24.
%%
\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

\def\ASYbase#1#2{%
  \setbox\ASYbox=\hbox{#1}%
  \ASYdimen=\ht\ASYbox
  \setbox\ASYbox=\hbox{#2}%
  \lower\ASYdimen\box\ASYbox}

\ifpdf
  \def\ASYalign(#1,#2)(#3,#4)#5#6{%
    \leavevmode
    \setbox\ASYbox=\hbox{#6}%
    \setbox\ASYbox\hbox{%
      \kern#3\wd\ASYbox
      \raise#4\dimexpr\ht\ASYbox+\dp\ASYbox\relax\box\ASYbox}%
    \put(#1,#2){%
      \special{pdf:q #5 0 0 cm}%
      \wd\ASYbox\z@\dp\ASYbox\z@\ht\ASYbox\z@
      \box\ASYbox
      \special{pdf:Q}%
    }}
  \let\ASYraw\@firstofone

\else
  \def\ASYalign(#1,#2)(#3,#4)#5#6{%
    \leavevmode
    \setbox\ASYbox=\hbox{#6}%
    \setbox\ASYbox\hbox{%
      \kern#3\wd\ASYbox
      \raise#4\dimexpr\ht\ASYbox+\dp\ASYbox\relax\box\ASYbox}%
    \put(#1,#2){%
      \special{%
        ps:gsave currentpoint currentpoint translate
        [#5 0 0] concat neg exch neg exch translate}%
      \box\ASYbox
      \special{ps:currentpoint grestore moveto}%
    }}
  \def\ASYraw#1{%
    currentpoint currentpoint translate matrix currentmatrix
    100 12 div -100 12 div scale
    #1
    setmatrix neg exch neg exch translate}
\fi