Vu la recrudescence excessive et dangereuse d'Emacs sur ce forum, je me joins à la fête avec un quintet : LaTeX, Asymptote, Emacs, Orgmode, Babel.
Certains l'utilisent comme planning, gestionnaire de projet, pour taper des rapports...Org mode permet de prendre des notes, de maintenir des listes TODO, de planifier des projets et de publier des documents, le tout en texte brut.
Pour écrire une doc, un tuto avec export en LaTeX, HTML cela peut être pratique (comme le ResTructuredText et autre markdown...).
Avec quelques efforts (de configuration) Orgmode et Babel s'occupent de tout.
Le fichier .org se présente sous la forme suivante et on obtient le résultat html
chez moi http://olivier.guibe.free.fr/blog/2013/ ... ode/#sec-1
et le pdf chez moi aussi http://olivier.guibe.free.fr/pdf/asytest.pdf
Je suppose que Gigiair connaît aussi Orgmode.
O.G.
Code : Tout sélectionner
* Test asymptote
#+NAME: fig1
#+BEGIN_SRC asymptote :file fig1.png
size(100);
draw(unitsquare);
#+END_SRC
#+begin_src asymptote :file asymptote.png :exports both
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
#+begin_src c++
int a=1;
int b=1;
printf("%d\n", a+b);
#+end_src
#+BEGIN_SRC R
x <- 1:5
square <- function(x) {
x^2
}
square(x)
#+END_SRC
#+begin_src python
int a=1;
int b=1;
printf("%d\n", a+b);
#+end_src