summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/doc/asymptote.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/doc/asymptote.sty')
-rw-r--r--Build/source/utils/asymptote/doc/asymptote.sty95
1 files changed, 52 insertions, 43 deletions
diff --git a/Build/source/utils/asymptote/doc/asymptote.sty b/Build/source/utils/asymptote/doc/asymptote.sty
index 4b0cda55ee1..4db253d4095 100644
--- a/Build/source/utils/asymptote/doc/asymptote.sty
+++ b/Build/source/utils/asymptote/doc/asymptote.sty
@@ -3,11 +3,13 @@
%%% Modified by John Bowman
%%% Adapted from comment.sty (Under GPL v2+)
-\ProvidesPackage{asymptote}[2010/07/05 v1.13 Asymptote style file for LaTeX]
+\ProvidesPackage{asymptote}[2010/07/10 v1.15 Asymptote style file for LaTeX]
\RequirePackage{keyval}
\RequirePackage{ifthen}
-\newif\ifASYinline
-\DeclareOption{inline}{\ASYinlinetrue}
+\newif\ifASYdefaultinline
+\newif\ifASYdefaultattach
+\DeclareOption{inline}{\ASYdefaultinlinetrue}
+\DeclareOption{attach}{\ASYdefaultattachtrue}
\ProcessOptions*
\def\unquoteJobname#1"#2"#3\relax{\def\rawJobname{#1}%
@@ -24,20 +26,23 @@
\def\makeinnocent#1{\catcode`#1=12 }
\def\csarg#1#2{\expandafter#1\csname#2\endcsname}
\newwrite\AsyStream
-\newwrite\AsyAllStream
-\newread\AsyTestTeXStream
+\newwrite\AsyPreStream
+\newread\AsyTestStream
-\openin\AsyStream=\jobname_.pre
-\ifeof\AsyStream
+\def\AsyInput#1{\openin\AsyTestStream=#1
+\ifeof\AsyTestStream
\else
-\input \jobname_.pre
+ \input #1
\fi
-\closein\AsyStream%
+\closein\AsyTestStream%
+}
+
+\AsyInput{\jobname.pre}
-\immediate\openout\AsyAllStream=\jobname.asy
+\immediate\openout\AsyPreStream=\jobname.pre
+\newif\ifASYinline
\newif\ifASYattach
-\newif\ifASYtex
\newif\ifASYPDF
\ifx\pdfoutput\undefined
@@ -106,14 +111,10 @@
\immediate\write\AsyStream{size(\ASYwidth,\ASYheight);}%
\fi
\fi
- \ASYtexfalse%
\ifASYattach
\def\ASYdefaultviewportwidth{0}%
\else
\def\ASYdefaultviewportwidth{\the\linewidth}%
- \ifASYinline
- \ASYtextrue%
- \fi
\fi
\ifx\ASYviewportwidth\empty
\ifx\ASYviewportheight\empty
@@ -134,44 +135,45 @@
\gdef\ASYviewportheight{}%
\immediate\closeout\AsyStream
- \ifASYtex
- \openin\AsyStream=\AsyFile_.tex
+ \ifASYinline
+ \openin\AsyTestStream=\AsyFile.tex
\else
\ifASYPDF
- \openin\AsyStream=\AsyFile.pdf
+ \openin\AsyTestStream=\AsyFile.pdf
\else
- \openin\AsyStream=\AsyFile.eps
+ \openin\AsyTestStream=\AsyFile.eps
\fi
\fi
- \ifeof\AsyStream
- \ifASYtex
- \PackageWarning{asymptote}{file \AsyFile_.tex does not exist}%
+ \ifeof\AsyTestStream
+ \ifASYinline
+ \PackageWarning{asymptote}{file `\AsyFile.tex' not found}%
+ \closein\AsyTestStream%
\else
- \openin\AsyTestTeXStream=\AsyFile_.tex
- \ifeof\AsyTestTeXStream
+ \closein\AsyTestStream%
+ \openin\AsyTestStream=\AsyFile.tex
+ \ifeof\AsyTestStream
\ifASYPDF
- \PackageWarning{asymptote}{file \AsyFile.pdf does not exist}%
+ \PackageWarning{asymptote}{file `\AsyFile.pdf' not found}%
\else
- \PackageWarning{asymptote}{file \AsyFile.eps does not exist}%
+ \PackageWarning{asymptote}{file `\AsyFile.eps' not found}%
\fi
\else
\catcode`:=12
- \input \AsyFile_.tex%
+ \input \AsyFile.tex%
\fi
- \closein\AsyTestTeXStream%
+ \closein\AsyTestStream%
\fi
- \closein\AsyStream%
\else
- \closein\AsyStream%
- \ifASYtex
+ \closein\AsyTestStream%
+ \ifASYinline
\catcode`:=12
- \input \AsyFile_.tex%
+ \input \AsyFile.tex%
\else
\ifASYattach
\ifASYPDF
- \openin\AsyStream=\AsyFile+0.pdf
+ \openin\AsyTestStream=\AsyFile+0.pdf
\fi
- \ifeof\AsyStream
+ \ifeof\AsyTestStream
\setbox\ASYbox=\hbox{\includegraphics[hiresbb]{\AsyFile}}%
\else
\setbox\ASYbox=\hbox{\includegraphics[hiresbb]{\AsyFile+0}}%
@@ -180,13 +182,12 @@
\vskip-\ht\ASYbox%
\indent%
\box\ASYbox%
- \closein\AsyStream%
+ \closein\AsyTestStream%
\else
\includegraphics[hiresbb]{\AsyFile}%
\fi
\fi
\fi
- \global\ASYattachfalse
\relax%
\endgroup}
\gdef\ASYwidth{}%
@@ -208,15 +209,23 @@
\define@key{ASYkeys}{attach}[true]{%
\ifthenelse{\equal{#1}{true}}{\global\ASYattachtrue}{\global\ASYattachfalse}%
}
+\define@key{ASYkeys}{inline}[true]{%
+ \ifthenelse{\equal{#1}{true}}{\global\ASYinlinetrue}{\global\ASYinlinefalse}%
+}
\newcommand\asy[1][]{%
\begingroup
\let\par\empty
\stepcounter{asy}%
+ \global\let\ifASYinline\ifASYdefaultinline
+ \global\let\ifASYattach\ifASYdefaultattach
\setkeys{ASYkeys}{#1}%
- \immediate\write\AsyAllStream%
- {eval(quote\@charlb include "\jobname-\the\c@asy";\@charrb);}%
- \immediate\openout\AsyStream=\jobname-\the\c@asy.asy
- \gdef\AsyFile{\Jobname-\the\c@asy}
+ \ifASYattach
+ \global\ASYinlinefalse
+ \fi
+ \immediate\write\AsyPreStream%
+ {\@backslashchar AsyInput{\jobname-\the\c@asy.pre}}
+ \immediate\openout\AsyStream=\jobname-\the\c@asy.asy
+ \gdef\AsyFile{\Jobname-\the\c@asy}%
\immediate\write\AsyStream{if(!settings.multipleView)}%
\immediate\write\AsyStream{ settings.batchView=false;}%
\ifx\XeTeXversion\undefined
@@ -257,11 +266,11 @@
\AsymptoteEndDef{asydef}
\def\AfterasydefAsymptote{}
-\AtEndDocument{\immediate\closeout\AsyAllStream}
+\AtEndDocument{\immediate\closeout\AsyPreStream}
\newcommand{\ASYanimategraphics}[5][]{%
-\openin\AsyStream=_#3.pdf
-\ifeof\AsyStream%
+\openin\AsyTestStream=_#3.pdf
+\ifeof\AsyTestStream%
\else%
\animategraphics[{#1}]{#2}{_#3}{#4}{#5}%
\fi%