texlive[42293] Master/texmf-dist: repere (17oct16)

commits+karl at tug.org commits+karl at tug.org
Mon Oct 17 23:24:04 CEST 2016


Revision: 42293
          http://tug.org/svn/texlive?view=revision&revision=42293
Author:   karl
Date:     2016-10-17 23:24:04 +0200 (Mon, 17 Oct 2016)
Log Message:
-----------
repere (17oct16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/metapost/repere/repere-doc.pdf
    trunk/Master/texmf-dist/doc/metapost/repere/repere-doc.tex
    trunk/Master/texmf-dist/metapost/repere/repere.mp

Modified: trunk/Master/texmf-dist/doc/metapost/repere/repere-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/metapost/repere/repere-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/repere/repere-doc.tex	2016-10-17 21:23:41 UTC (rev 42292)
+++ trunk/Master/texmf-dist/doc/metapost/repere/repere-doc.tex	2016-10-17 21:24:04 UTC (rev 42293)
@@ -1141,6 +1141,8 @@
 \item[equilateral(A,B)] Cas particulier du précédent. Triangle équilatéral de sens direct de côté $[AB]$.
 
 \item[carre(A,B)] Autre cas particulier. Carré de sens direct de côté $[AB]$.
+
+\item[sommetpolygoneregulier(A,B,n,i)] Sommet numéro $i$ du polygone régulier à $n$ côtés dont un des côtés est $[AB]$. $A$ est le sommet numéro 1 et $B$ est le sommet numéro 2.
 \end{description}
 
 \begin{exemple}[0.51]
@@ -1160,11 +1162,13 @@
 \begin{exemple}[0.53]
 repere(-1,5,1cm,-1,4,1cm);
 draw axes(1,1);
-pair A,B;
+pair A,B,M;
 A=(1,1);B=(3,0.5);
 fill polygoneregulier(A,B,5) withcolor bleu;
 fill equilateral(A,B) withcolor cyan;
 draw polygoneregulier(A,B,5);
+M=sommetpolygoneregulier(A,B,5,3);
+nomme.rt(M);
 draw equilateral(A,B);
 fin;
 \end{exemple}
@@ -1175,7 +1179,7 @@
 \item[cercle(A,B,C)] Cercle circonscrit au triangle $ABC$.
 \item[cercle(O,A)] Cercle de centre $O$ passant par $A$.
 \item[cercle(O,r)] Cercle de centre $O$ et de rayon $r$. L'unité de longueur est l'unité de l'axe des abscisses.
-\item[arccercle(A,O,B)] Arc de cercle de sens direct de centre $O$, passant par $A$ et s'appuyant sur la demi-droite $[OA)]$.
+\item[arccercle(A,O,B)] Arc de cercle de sens direct de centre $O$, passant par $A$ et s'appuyant sur la demi-droite $[OB)$.
 \end{description}
 
 

Modified: trunk/Master/texmf-dist/metapost/repere/repere.mp
===================================================================
--- trunk/Master/texmf-dist/metapost/repere/repere.mp	2016-10-17 21:23:41 UTC (rev 42292)
+++ trunk/Master/texmf-dist/metapost/repere/repere.mp	2016-10-17 21:24:04 UTC (rev 42293)
@@ -2,7 +2,7 @@
 %%                        repere.mp                           %%
 %%   Macros pour la construction de figures dans un repère    %%
 %%                 o.peault at openmailbox.org                   %%
-%%                 Version 16.06 (Juin 2016)                  %%
+%%               Version 16.10 (Octobre 2016)                 %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % This work may be distributed and/or modified under the conditions of
@@ -169,6 +169,37 @@
   enddef;
 enddef;
 
+def traces_orig =
+  def fill expr c = addto currentpicture contour c _op_ enddef;
+  def draw expr p =
+    addto currentpicture
+    if picture p:
+      also p
+    else:
+      doublepath p withpen currentpen
+    fi
+    _op_
+  enddef;
+  vardef thelabel@#(expr s,z) =  % Position s near z
+    save p; picture p;
+    if picture s:  p=s
+    else:    p = s infont defaultfont scaled defaultscale
+    fi;
+    p shifted (z + labeloffset*laboff@# -
+       (labxf@#*lrcorner p + labyf@#*ulcorner p
+         + (1-labxf@#-labyf@#)*llcorner p
+       )
+    )
+  enddef;
+  vardef bbox primary p =
+    llcorner p-(bboxmargin,bboxmargin) -- lrcorner p+(bboxmargin,-bboxmargin)
+    -- urcorner p+(bboxmargin,bboxmargin) -- ulcorner p+(-bboxmargin,bboxmargin)-- cycle
+  enddef;
+  def drawarrow expr p = _apth:=p; _finarr enddef;
+  def drawdblarrow expr p = _apth:=p; _findarr enddef;
+
+enddef;
+
 def _finarr text t =
   olddraw _apth t;
   filldraw arrowhead _apth  t
@@ -211,6 +242,7 @@
   if _nbaxes=1: olddraw _axorlab fi;
   if coupe: clip currentpicture to (cadre transformed _T) fi;
   if bf: oldendfig; bf:=false;_nfig:=_nfig+1 fi;
+  traces_orig;
 enddef;
 
 def _defcadre=
@@ -806,7 +838,7 @@
 	   if numeric _i:
 		if var: if str @#="": draw _etiqx_.bot(tmp,taillegrad,tmp) else: draw _etiqx_@#(tmp,taillegrad,tmp) fi fi;
 		if boolgradxpart:
-		   draw graduationx(_i) withpen pencircle scaled 0.8bp
+		   olddraw graduationx(_i) withpen pencircle scaled 0.8bp
 		fi;
 		tmp:=_i;
 		var:=true
@@ -829,7 +861,7 @@
 	for _i=t:
 	   if numeric _i:
 		if var: if str @#="": draw _etiqy_.lft(tmp,taillegrad,tmp) else: draw _etiqy_@#(tmp,taillegrad,tmp) fi fi;
-		draw ((taillegrad,0)--(-taillegrad,0)) shifted _cart(xO,_i) withpen pencircle scaled 0.8bp;
+		olddraw ((taillegrad,0)--(-taillegrad,0)) shifted _cart(xO,_i) withpen pencircle scaled 0.8bp;
 		tmp:=_i;
 		var:=true
 	   else:
@@ -1820,6 +1852,14 @@
   poly transformed inverse _T
 enddef;
 
+vardef sommetpolygoneregulier(expr A,B,n,i)=
+  save $,centre;
+  pair $,centre;
+  _cart(B)-centre = (_cart(A)-centre) rotated (360/n);
+  $= _cart(A) rotatedaround(centre,((i-1)*360)/n);
+  $ transformed inverse _T
+enddef;
+
 vardef equilateral(expr A,B)=
   polygoneregulier(A,B,3)
 enddef;



More information about the tex-live-commits mailing list