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