From 08effedb200aa797fc9b305658372af1e7667412 Mon Sep 17 00:00:00 2001 From: Thomas Dye Date: Tue, 2 Oct 2012 21:22:40 -1000 Subject: [PATCH] Documentation of Asymptote source code blocks --- org-contrib/babel/languages/images/asy-tile.png | Bin 0 -> 32179 bytes org-contrib/babel/languages/images/asymptote.png | Bin 0 -> 20903 bytes org-contrib/babel/languages/ob-doc-asymptote.org | 251 ++++++++++++++++++++++ 3 files changed, 251 insertions(+), 0 deletions(-) create mode 100644 org-contrib/babel/languages/images/asy-tile.png create mode 100644 org-contrib/babel/languages/images/asymptote.png create mode 100644 org-contrib/babel/languages/ob-doc-asymptote.org diff --git a/org-contrib/babel/languages/images/asy-tile.png b/org-contrib/babel/languages/images/asy-tile.png new file mode 100644 index 0000000000000000000000000000000000000000..acd03d3dcd1886831fca514315d1399af98eda09 GIT binary patch literal 32179 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

U9KazY>e(piR0@j@ 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 clear:both; } +#+LINK_UP: ../languages.html +#+LINK_HOME: http://orgmode.org/worg/ +#+EXPORT_EXCLUDE_TAGS: noexport + +#+name: banner +#+begin_html +
+

+ Org Mode support for Asymptote +

+

+ + + +

+
+#+end_html + +* Template Checklist [12/12] :noexport: + - [X] Revise #+TITLE: + - [X] Indicate #+AUTHOR: + - [X] Add #+EMAIL: + - [X] Revise banner source block [3/3] + - [X] Add link to a useful language web site + - [X] Replace "Language" with language name + - [X] Find a suitable graphic and use it to link to the language + web site + - [X] Write an [[Introduction]] + - [X] Describe [[Requirements%20and%20Setup][Requirements and Setup]] + - [X] Replace "Language" with language name in [[Org%20Mode%20Features%20for%20Language%20Source%20Code%20Blocks][Org Mode Features for Language Source Code Blocks]] + - [X] Describe [[Header%20Arguments][Header Arguments]] + - [X] Describe support for [[Sessions]] + - [X] Describe [[Result%20Types][Result Types]] + - [X] Describe [[Other]] differences from supported languages + - [X] Provide brief [[Examples%20of%20Use][Examples of Use]] +* Introduction + +Asymptote is a powerful descriptive vector graphics language with a +coordinate-based framework for technical drawing. Labels and equations +are typeset with LaTeX. It is distributed with the GNU Lesser +General Public License. + +Asymptote can produce graphics in any format supported by [[http://www.imagemagick.org/script/index.php][ImageMagick]], +but it excels at producing PostScript files suited for typesetting +with LaTeX. + +* Requirements and Setup + +Asymptote is distributed as source code at [[http://sourceforge.net/projects/asymptote/][SourceForge]]. Binary files +are available for Linux and Windows. OS X users can install +Asymptote with =brew= or MacPorts. + +There is an Emacs mode, [[http://asymptote.sourceforge.net/doc/Editing-modes.html][asy-mode]], for editing Asymptote files. The +file asy-mode.el is distributed with Asymptote. Instructions for +enabling asy-mode are [[http://asymptote.sourceforge.net/doc/Editing-modes.html][here]]. + +To configure Asymptote source code blocks in Org mode, add the + appropriate dotted pair to =org-babel-load-languages= + +#+begin_src emacs-lisp :exports code + (org-babel-do-load-languages + 'org-babel-load-languages + '((asymptote . t))) +#+end_src + +* Org Mode Features for Asymptote Source Code Blocks +** Header Arguments + +Asymptote is a language designed to produce graphics files. The +default =:results= header argument is "file". The default =:exports= +header argument is "results". + +The =:file= header argument is required. The extension of the file +name passed to =:file= determines the graphics format produced by the +Asymptote source code block. The default output file format is =pdf=. + +The language-specific header argument, =:cmdline=, can be used to pass +options to Asymptote. The full set of options are described in =info +asy=. + +** Sessions +Asymptote does not support sessions. + +** Result Types +Asymptote produces graphic files. + +* Examples of Use + +The following source code block produced the Asymptote logo used at +the top of this page. + +#+begin_example +,#+begin_src asymptote :file images/asymptote.png +import three; + +size(560,320,IgnoreAspect); +size3(140,80,15); +currentprojection=perspective(-2,20,10,up=Y); +currentlight=White; + +real a=-0.4; +real b=0.95; +real y1=-5; +real y2=-3y1/2; +path A=(a,0){dir(10)}::{dir(89.5)}(0,y2); +path B=(0,y1){dir(88.3)}::{dir(20)}(b,0); +real c=0.5*a; +pair z=(0,2.5); +transform t=scale(1,15); +transform T=inverse(scale(t.yy,t.xx)); +path[] g=shift(0,1.979)*scale(0.01)*t* + texpath(Label("{\it symptote}",z,0.25*E+0.169S,fontsize(24pt))); +pair w=(0,1.7); +pair u=intersectionpoint(A,w-1--w); + +real h=0.25*linewidth(); +real hy=(T*(h,h)).x; +g.push(t*((a,hy)--(b,hy)..(b+hy,0)..(b,-hy)--(a,-hy)..(a-hy,0)..cycle)); +g.push(T*((h,y1)--(h,y2)..(0,y2+h)..(-h,y2)--(-h,y1)..(0,y1-h)..cycle)); +g.push(shift(0,w.y)*t*((u.x,hy)--(w.x,hy)..(w.x+hy,0)..(w.x,-hy)--(u.x,-hy)..(u.x-hy,0)..cycle)); +real f=0.75; +g.push(point(A,0)--shift(-f*hy,f*h)*A--point(A,1)--shift(f*hy,-f*h)*reverse(A)--cycle); +g.push(point(B,0)--shift(f*hy,-f*h)*B--point(B,1)--shift(-f*hy,f*h)*reverse(B)--cycle); + +triple H=-0.1Z; +material m=material(lightgray,shininess=1.0); + +for(path p : g) + draw(extrude(p,H),m); + +surface s=surface(g); +draw(s,red,nolight); +draw(shift(H)*s,m); +,#+end_src +#+end_example + +#+begin_src asymptote :file images/asymptote.png +import three; + +size(560,320,IgnoreAspect); +size3(140,80,15); +currentprojection=perspective(-2,20,10,up=Y); +currentlight=White; + +real a=-0.4; +real b=0.95; +real y1=-5; +real y2=-3y1/2; +path A=(a,0){dir(10)}::{dir(89.5)}(0,y2); +path B=(0,y1){dir(88.3)}::{dir(20)}(b,0); +real c=0.5*a; +pair z=(0,2.5); +transform t=scale(1,15); +transform T=inverse(scale(t.yy,t.xx)); +path[] g=shift(0,1.979)*scale(0.01)*t* + texpath(Label("{\it symptote}",z,0.25*E+0.169S,fontsize(24pt))); +pair w=(0,1.7); +pair u=intersectionpoint(A,w-1--w); + +real h=0.25*linewidth(); +real hy=(T*(h,h)).x; +g.push(t*((a,hy)--(b,hy)..(b+hy,0)..(b,-hy)--(a,-hy)..(a-hy,0)..cycle)); +g.push(T*((h,y1)--(h,y2)..(0,y2+h)..(-h,y2)--(-h,y1)..(0,y1-h)..cycle)); +g.push(shift(0,w.y)*t*((u.x,hy)--(w.x,hy)..(w.x+hy,0)..(w.x,-hy)--(u.x,-hy)..(u.x-hy,0)..cycle)); +real f=0.75; +g.push(point(A,0)--shift(-f*hy,f*h)*A--point(A,1)--shift(f*hy,-f*h)*reverse(A)--cycle); +g.push(point(B,0)--shift(f*hy,-f*h)*B--point(B,1)--shift(-f*hy,f*h)*reverse(B)--cycle); + +triple H=-0.1Z; +material m=material(lightgray,shininess=1.0); + +for(path p : g) + draw(extrude(p,H),m); + +surface s=surface(g); +draw(s,red,nolight); +draw(shift(H)*s,m); +#+end_src + +#+results: +[[file:images/asymptote.png]] + +The following source code block was adapted from code found in +[[http://marris.org/asymptote/][the gallery of Asymptote examples by Gaétan Marris]]. + +#+begin_example +,#+header: :var n=8 +,#+begin_src asymptote :file images/asy-tile.png +import geometry; + +size(7cm,0); + +picture pic; +// on définit une courbe reliant les points (0,1) et (1,0) +path c=(0,1){dir(-5)}..{dir(-5)}(1,0); +// à l'aide de trois rotations, on définit +// le motif (dans un carré de 2 sur 2) ... +path motif=buildcycle(c,rotate(90)*c, + rotate(180)*c,rotate(-90)*c); +filldraw(pic,motif,lightred+white,black); +// ... et une double boucle pour "paver" +// suivant (Ox) et suivant (Oy) +for(int i=0; i