diff options
Diffstat (limited to 'Build/source/utils/asymptote/doc/asymptote.sty')
-rw-r--r-- | Build/source/utils/asymptote/doc/asymptote.sty | 95 |
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% |