Mobdification de Courbe en CourbeDat dans gdd.mp, ajout des variable gddXlabel et...
[mp-gdd.git] / gdd-lbl.mp
1 string lblPreambule, lblLocal;
2 lblPreambule := "\usepackage[frenchb]{babel}\usepackage[garamond]{mathdesign}\usepackage{amsmath}\usepackage{mflogo}";
3 lblLocal     := "";
4
5 string lblS[];
6 lblS[0] = "alpha";
7 lblS[1] = "beta";
8 lblS[2] = "gamma";
9 lblS[3] = "delta";
10 lblN    = 3;
11
12 vardef scanchaine_label(expr s) =
13   save d,m,f,c,l,flag,i; string d,m,f,c;
14   d := ""; m := ""; f := "";
15   l = length(s); flag := 0;
16   for i:=0 upto l:
17     c := substring (i,i+1) of s;
18     if c = "'":
19       f := f & c; flag := 2;
20     elseif c = "_":
21       flag := 1;
22     else:
23       if flag = 0:
24         d := d & c
25       else:
26         m := m & c
27       fi;
28     fi
29   endfor;
30   for i:=0 upto lblN:
31     if d = lblS[i]: d := "\" & d fi
32   endfor;
33   d := d & "_{" & m & "}" & f; d
34 enddef;
35
36 vardef lTEX primary s =
37   write "verbatimtex" to "mptextmp.mp";
38   write "%&latex" to "mptextmp.mp";
39   write "\documentclass{article}" to "mptextmp.mp";
40   write lblPreambule to "mptextmp.mp";
41   write lblLocal to "mptextmp.mp";
42   write "\begin{document}" to "mptextmp.mp";
43   write "etex" to "mptextmp.mp";
44   write "btex $"& scanchaine_label(s) &"$ etex" to "mptextmp.mp";
45   write EOF to "mptextmp.mp";
46   scantokens "input mptextmp"
47 enddef;
48
49 vardef TEX primary s =
50   write "verbatimtex" to "mptextmp.mp";
51   write "%&latex" to "mptextmp.mp";
52   write "\documentclass{article}" to "mptextmp.mp";
53   write lblPreambule to "mptextmp.mp";
54   write lblLocal to "mptextmp.mp";
55   write "\begin{document}" to "mptextmp.mp";
56   write "etex" to "mptextmp.mp";
57   write "btex "& s &" etex" to "mptextmp.mp";
58   write EOF to "mptextmp.mp";
59   scantokens "input mptextmp"
60 enddef;
61
62
63 vardef Etiquette.@#(expr s,t,p) = label.@#(TEX(s) scaled t,p gddEnPlace) enddef;
64
65 vardef EtiquetteChemin.@#(expr s,p,pos) = % label, chemin, position
66   save chemin;
67   path chemin;
68   if path p:
69     chemin:=p;
70   else:
71     chemin:=gddP[p]; % fonction pour chemin et courbe
72   fi;
73   label.@#(TEX(s), _milieuChemin(chemin,pos) gddEnPlace)
74 enddef;
75
76 vardef _milieuChemin(expr p,pos) =  % p est du type path
77   save midtime;
78   midtime = arctime (pos*(arclength(p))) of p;
79   point infinity of (subpath (0,midtime) of p)
80 enddef;
81
82 vardef FICHIER primary s =
83     save _s; string _s; _s = "input " & s;
84     scantokens _s
85 enddef;
86
87 endinput

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.