[asymptote/f15/master] update to 2.08 and fix outstanding bugs
Tom Callaway
spot at fedoraproject.org
Tue Mar 8 21:45:22 UTC 2011
commit 049f0032f0f2876807be2257bf6b126c1dfc8ed2
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date: Tue Mar 8 16:46:44 2011 -0500
update to 2.08 and fix outstanding bugs
asymptote-2.08-info-path-fix.patch | 12 ++
asymptote.sty.204 | 313 ++++++++++++++++++++++++++++++++++++
2 files changed, 325 insertions(+), 0 deletions(-)
---
diff --git a/asymptote-2.08-info-path-fix.patch b/asymptote-2.08-info-path-fix.patch
new file mode 100644
index 0000000..934b431
--- /dev/null
+++ b/asymptote-2.08-info-path-fix.patch
@@ -0,0 +1,12 @@
+diff -up asymptote-2.08/doc/asymptote.texi.BAD asymptote-2.08/doc/asymptote.texi
+--- asymptote-2.08/doc/asymptote.texi.BAD 2011-03-08 11:42:17.349734001 -0500
++++ asymptote-2.08/doc/asymptote.texi 2011-03-08 11:42:21.462734066 -0500
+@@ -21,7 +21,7 @@ file LICENSE in the top-level source dir
+
+ @dircategory Languages
+ @direntry
+-* asymptote: (asymptote/asymptote). Vector graphics language.
++* asymptote: (asymptote). Vector graphics language.
+ @end direntry
+
+ @titlepage
diff --git a/asymptote.sty.204 b/asymptote.sty.204
new file mode 100644
index 0000000..3bc7bd6
--- /dev/null
+++ b/asymptote.sty.204
@@ -0,0 +1,313 @@
+%%% Asymptote style file for LaTeX
+%%% Contributed by Tom Prince 14 May 2003
+%%% Modified by John Bowman
+%%% Adapted from comment.sty (Under GPL v2+)
+
+\ProvidesPackage{asymptote}[2010/08/19 v1.19 Asymptote style file for LaTeX]
+\RequirePackage{keyval}
+\RequirePackage{ifthen}
+\newif\ifASYdefaultinline
+\newif\ifASYdefaultattach
+\DeclareOption{inline}{\ASYdefaultinlinetrue}
+\DeclareOption{attach}{\ASYdefaultattachtrue}
+\ProcessOptions*
+
+\def\asydir{}
+\def\ASYprefix{}
+
+\def\unquoteJobname#1"#2"#3\relax{\def\rawJobname{#1}%
+ \ifx\rawJobname\empty\def\rawJobname{#2}\fi}
+\expandafter\unquoteJobname\jobname""\relax
+% Work around jobname bug in MiKTeX 2.5 and 2.6:
+% Turn stars in file names (resulting from spaces, etc.) into minus signs
+\def\fixstar#1*#2\relax{\def\argtwo{#2}\ifx\argtwo\empty\gdef\Jobname{#1}\else
+\fixstar#1-#2\relax\fi}
+\expandafter\fixstar\rawJobname*\relax
+
+\RequirePackage{color,graphicx}
+
+\def\makeinnocent#1{\catcode`#1=12 }
+\def\csarg#1#2{\expandafter#1\csname#2\endcsname}
+\newwrite\AsyStream
+\newwrite\AsyPreStream
+\newread\AsyTestStream
+
+\def\AsyInput#1{\openin\AsyTestStream=#1
+\ifeof\AsyTestStream
+\else
+ \input #1
+\fi
+\closein\AsyTestStream%
+}
+
+\AsyInput{\jobname.pre}
+
+\immediate\openout\AsyPreStream=\jobname.pre
+
+\newif\ifASYinline
+\newif\ifASYattach
+\newif\ifASYPDF
+
+\ifx\pdfoutput\undefined
+\else
+\ifcase\pdfoutput
+\else
+\ASYPDFtrue
+\fi
+\fi
+\ifx\XeTeXversion\undefined
+\else
+\ASYPDFtrue
+\fi
+
+\newbox\ASYbox
+\newcounter{asy}
+
+\def\ProcessAsymptote#1% start it all off
+{\begingroup
+ \def\CurrentAsymptote{#1}%
+ \let\do\makeinnocent \dospecials
+ \makeinnocent\^^L% and whatever other special cases
+ \endlinechar`\^^M \catcode`\^^M=12 \xAsymptote}
+{\catcode`\^^M=12 \endlinechar=-1 %
+ \gdef\xAsymptote{%
+ \expandafter\ProcessAsymptoteLine}
+ \gdef\ProcessAsymptoteLine#1^^M{\def\test{#1}
+ \csarg\ifx{End\CurrentAsymptote Test}\test
+ \edef\next{\noexpand\EndOfAsymptote{\CurrentAsymptote}}%
+ \else \ThisAsymptote{#1}\let\next\ProcessAsymptoteLine
+ \fi \next}
+}
+
+\def\ASYstringmeaning#1{\expandafter\ASYgobblearrow\meaning#1}
+\def\ASYstringcsnoescape#1{\expandafter\ASYgobbleescape\string#1}
+{\escapechar-1
+ \expandafter\expandafter\expandafter\gdef
+ \expandafter\expandafter\expandafter\ASYgobblearrow
+ \expandafter\string\csname macro:->\endcsname{}
+}
+\def\ASYgobbleescape#1{\ifnum`\\=`#1 \else #1\fi}
+
+\def\WriteAsyLine#1{\def\ASYtmp{#1}%
+ \immediate\write\AsyStream{\ASYstringmeaning\ASYtmp}}
+
+\def\gedefappend#1#2{%
+ \toks@ = \expandafter{#1}%
+ \global\edef#1{\the\toks@ #2}%
+}%
+\def\globalASYdefs{}
+\def\WriteGlobalAsyLine#1{\def\ASYtmp{#1^^J}%
+\gedefappend\globalASYdefs{\ASYstringmeaning\ASYtmp}}
+
+\def\EndOfAsymptote#1{\endgroup\end{#1}%
+ \csname After#1Asymptote\endcsname}
+\def\AsymptoteEndDef#1{{\escapechar=-1\relax
+ \csarg\xdef{End#1Test}{\string\\end\string\{#1\string\}}%
+ }}
+
+\def\AfterasyAsymptote{%
+ \ifx\ASYwidth\empty
+ \ifx\ASYheight\empty
+ \else
+ \immediate\write\AsyStream{size(0,\ASYheight);}%
+ \fi
+ \else
+ \ifx\ASYheight\empty
+ \immediate\write\AsyStream{size(\ASYwidth,0);}%
+ \else
+ \immediate\write\AsyStream{size(\ASYwidth,\ASYheight);}%
+ \fi
+ \fi
+ \ifASYattach
+ \def\ASYdefaultviewportwidth{0}%
+ \else
+ \def\ASYdefaultviewportwidth{\the\linewidth}%
+ \fi
+ \ifx\ASYviewportwidth\empty
+ \ifx\ASYviewportheight\empty
+ \else
+ \immediate\write\AsyStream{viewportsize=(0,\ASYviewportheight);}%
+ \fi
+ \else
+ \ifx\ASYviewportheight\empty
+ \immediate\write\AsyStream{viewportsize=(\ASYviewportwidth,0);}%
+ \else
+ \immediate\write%
+ \AsyStream{viewportsize=(\ASYviewportwidth,\ASYviewportheight);}%
+ \fi
+ \fi
+ \gdef\ASYwidth{}%
+ \gdef\ASYheight{}%
+ \gdef\ASYviewportwidth{\ASYdefaultviewportwidth}%
+ \gdef\ASYviewportheight{}%
+ \immediate\closeout\AsyStream
+ \ifASYinline
+ \openin\AsyTestStream=\AsyFile.tex
+ \else
+ \ifASYPDF
+ \openin\AsyTestStream=\AsyFile.pdf
+ \else
+ \openin\AsyTestStream=\AsyFile.eps
+ \fi
+ \fi
+ \ifeof\AsyTestStream
+ \ifASYinline
+ \PackageWarning{asymptote}{file `\AsyFile.tex' not found}%
+ \closein\AsyTestStream%
+ \else
+ \closein\AsyTestStream%
+ \openin\AsyTestStream=\AsyFile.tex
+ \ifeof\AsyTestStream
+ \ifASYPDF
+ \PackageWarning{asymptote}{file `\AsyFile.pdf' not found}%
+ \else
+ \PackageWarning{asymptote}{file `\AsyFile.eps' not found}%
+ \fi
+ \else
+ \catcode`:=12
+ \input \AsyFile.tex%
+ \fi
+ \closein\AsyTestStream%
+ \fi
+ \else
+ \closein\AsyTestStream%
+ \ifASYinline
+ \catcode`:=12
+ \input \AsyFile.tex%
+ \else
+ \ifASYattach
+ \ifASYPDF
+ \openin\AsyTestStream=\AsyFile+0.pdf
+ \fi
+ \ifeof\AsyTestStream
+ \setbox\ASYbox=\hbox{\includegraphics[hiresbb]{\AsyFile}}%
+ \else
+ \setbox\ASYbox=\hbox{\includegraphics[hiresbb]{\AsyFile+0}}%
+ \fi
+ \textattachfile{\AsyFile.pdf}{\phantom{\copy\ASYbox}}%
+ \vskip-\ht\ASYbox%
+ \indent%
+ \box\ASYbox%
+ \closein\AsyTestStream%
+ \else
+ \includegraphics[hiresbb]{\AsyFile}%
+ \fi
+ \fi
+ \fi
+ \relax%
+ \endgroup}
+\gdef\ASYwidth{}%
+\define at key{ASYkeys}{width}{%
+ \gdef\ASYwidth{#1}%
+}
+\gdef\ASYheight{}%
+\define at key{ASYkeys}{height}{%
+ \gdef\ASYheight{#1}%
+}
+\gdef\ASYviewportwidth{\ASYdefaultviewportwidth}%
+\define at key{ASYkeys}{viewportwidth}{%
+ \gdef\ASYviewportwidth{#1}%
+}
+\gdef\ASYviewportheight{}%
+\define at key{ASYkeys}{viewportheight}{%
+ \gdef\ASYviewportheight{#1}%
+}
+\define at key{ASYkeys}{attach}[true]{%
+ \ifthenelse{\equal{#1}{true}}{\global\ASYattachtrue}{\global\ASYattachfalse}%
+}
+\define at 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}%
+ \ifASYattach
+ \global\ASYinlinefalse
+ \fi
+ \ifx\asydir\empty
+ \else
+ \gdef\ASYprefix{\asydir/}
+ \fi
+ \immediate\write\AsyPreStream{\@backslashchar%
+ AsyInput{\ASYprefix\@backslashchar jobname-\the\c at asy.pre}}
+ \immediate\openout\AsyStream=\ASYprefix\jobname-\the\c at asy.asy
+ \gdef\AsyFile{\ASYprefix\Jobname-\the\c at asy}%
+ \immediate\write\AsyStream{if(!settings.multipleView)}%
+ \immediate\write\AsyStream{ settings.batchView=false;}%
+ \ifx\XeTeXversion\undefined
+ \ifASYPDF
+ \immediate\write\AsyStream{settings.tex="pdflatex";}%
+ \fi
+ \else
+ \immediate\write\AsyStream{settings.tex="xelatex";}%
+ \ASYPDFtrue
+ \fi
+ \ifASYinline
+ \immediate\write\AsyStream{settings.inlinetex=true;}%
+ \immediate\write\AsyStream{deletepreamble();}%
+ \fi
+ \immediate\write\AsyStream{defaultfilename="\Jobname-\the\c at asy";}%
+ \immediate\write\AsyStream{if(settings.render < 0) settings.render=4;}%
+ \ifASYattach
+ \immediate\write\AsyStream{settings.inlineimage=false;}%
+ \immediate\write\AsyStream{settings.embed=false;}%
+ \immediate\write\AsyStream{settings.outformat="pdf";}%
+ \immediate\write\AsyStream{settings.toolbar=true;}%
+ \else
+ \immediate\write\AsyStream{settings.inlineimage=true;}%
+ \immediate\write\AsyStream{settings.embed=true;}%
+ \immediate\write\AsyStream{settings.outformat="";}%
+ \immediate\write\AsyStream{settings.toolbar=false;}%
+ \immediate\write\AsyStream{viewportmargin=(2,2);}%
+ \fi
+ \immediate\write\AsyStream{\globalASYdefs}%
+ \let\ThisAsymptote\WriteAsyLine%
+ \ProcessAsymptote{asy}%
+}
+\AsymptoteEndDef{asy}
+\def\asydef{%
+ \let\ThisAsymptote\WriteGlobalAsyLine%
+ \ProcessAsymptote{asydef}}
+\AsymptoteEndDef{asydef}
+\def\AfterasydefAsymptote{}
+
+\AtEndDocument{\immediate\closeout\AsyPreStream}
+
+\newcommand{\ASYanimategraphics}[5][]{%
+\openin\AsyTestStream=_#3.pdf
+\ifeof\AsyTestStream%
+\else%
+\animategraphics[{#1}]{#2}{_#3}{#4}{#5}%
+\fi%
+}
+
+% Work around bug in dvips.def: allow spaces in file names.
+\def\Ginclude at eps#1{%
+ \message{<#1>}%
+ \bgroup
+ \def\@tempa{!}%
+ \dimen@\Gin at req@width
+ \dimen at ii.1bp%
+ \divide\dimen@\dimen at ii
+ \@tempdima\Gin at req@height
+ \divide\@tempdima\dimen at ii
+ \special{PSfile=#1\space
+ llx=\Gin at llx\space
+ lly=\Gin at lly\space
+ urx=\Gin at urx\space
+ ury=\Gin at ury\space
+ \ifx\Gin at scalex\@tempa\else rwi=\number\dimen@\space\fi
+ \ifx\Gin at scaley\@tempa\else rhi=\number\@tempdima\space\fi
+ \ifGin at clip clip\fi}%
+ \egroup}
+
+\def\Asymptote{{\tt Asymptote}}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "shared"
+%%% End:
More information about the scm-commits
mailing list