diff options
author | Norbert Preining <norbert@preining.info> | 2023-09-08 03:02:30 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-09-08 03:02:30 +0000 |
commit | 608e422a8e775ac4d1c23c80b4170776701680d5 (patch) | |
tree | d1e69057c0dc339fb0f890882f5fef9fe3b3a66f /macros/latex/contrib/profcollege/metapost | |
parent | 96f1d7a9e9fe6e682cbd19d1bf2b7797891160b6 (diff) |
CTAN sync 202309080302
Diffstat (limited to 'macros/latex/contrib/profcollege/metapost')
4 files changed, 89 insertions, 89 deletions
diff --git a/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp b/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp index daae0553f7..28252f90bf 100644 --- a/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp +++ b/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp @@ -40,7 +40,7 @@ decahoriz:=0; vardef Test(expr cptk)(text cptnt)= pair Decalage; - if nblignes mod 2=0: + if nblignes>1: Decalage:=u*((LargeurEcran,-8*(nblignes-1))-6*(length(cptnt)-cptk,0)); else: Decalage:=u*(decahoriz,-8*(nblignes-1)); @@ -186,12 +186,11 @@ vardef LCD(text nt)(text rep)(expr NB)= endfor; fi; for k=1 upto NB: - nblignes:=nblignes+1; - Ecran:=(u*(0,-1)--u*(LargeurEcran,-1)--u*(LargeurEcran,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); + Ecran:=(u*(0,-1)--u*(LargeurEcran,-1)--u*(LargeurEcran,7)--u*(0,7)--cycle) shifted(u*(0,-8*(k+nblignes-1))); fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; endfor; - nblignes:=nblignes+1; + nblignes:=nblignes+NB+1; Ecran:=(u*(0,-1)--u*(LargeurEcran,-1)--u*(LargeurEcran,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; diff --git a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp index 95c18757f1..37f4809598 100644 --- a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp +++ b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp @@ -1316,10 +1316,13 @@ enddef; %Outils numeric echelleequerre; echelleequerre=0.5; -vardef equerreold(expr dte,drte,perpe,sens)= - save picequerre; - picture picequerre; +vardef Equerre(expr dte,drte,perpe,sens)= + save $; + picture $,fig; + fig=currentpicture; pair ww,t[]; + picture grad[],gradu[]; + numeric long; path intermede; pair perpen,ptt,pttt; perpen:=projection(perpe,dte,drte); @@ -1329,86 +1332,23 @@ vardef equerreold(expr dte,drte,perpe,sens)= ptt:=echelleequerre*(drte-dte) rotated (-90) shifted perpen; fi; ww=unitvector(drte-dte); - intermede=ptt--(10[ptt,(perpen rotatedabout(ptt,if sens=1: 30 else:-30 fi))]); + intermede=ptt--(10[ptt,(perpen rotatedabout(ptt,30))]); pttt=intermede intersectionpoint (10[dte,drte]--10[drte,dte]); - picequerre=image( + long=floor(abs(perpen+7*unitvector(ptt-perpen)-ptt)*2.54/72); + pair CentreE; + CentreE=CentreCercleI(perpen,ptt,pttt); + $=image( + fill (perpen--ptt--pttt--cycle) withcolor 0.9*white; draw perpen--ptt--pttt--cycle; draw codeperp(ptt,perpen,pttt,5); + fill homothetie(polygone(perpen,ptt,pttt),CentreE,0.6) withcolor white; + draw homothetie(polygone(perpen,ptt,pttt),CentreE,0.6); + draw fig; ); - picequerre -enddef; - -vardef equerre(text gradua)(expr ea,eb,ec)= - save picequerre; - picture picequerre; - pair EA,EB,EC,ED,EE,EF,EI; - EA:=ea; - EB:=eb; - EC:=ec; - ED=projection(EC,EA,EB); - EE-ED=EB-EA; - EF-ED=echelleequerre*abs(EE-ED)*(unitvector(EE-ED) rotated 90); - EI=CentreCercleI(EE,ED,EF); - picequerre=image( - fill (EE--ED--EF--cycle) withcolor 0.7white; - draw codeperp(EE,ED,EF,5); - draw EE--ED--EF--cycle; - fill ((((EE--ED--EF--cycle) shifted ((0,0)-EI)) scaled 0.5) shifted EI) withcolor white; - trace (((EE--ED--EF--cycle) shifted ((0,0)-EI)) scaled 0.5) shifted EI; - % if abs(EE-ED)>abs(EF-ED): -% for k=10 upto 50:% -% trace (ED+k*1mm*unitvector(EE-ED))--(ED+k*1mm*unitvector(EE-ED)+1mm*unitvector(EF-ED)); -% endfor; -% else: -% for k=10 upto 50:% -% trace (ED+k*1mm*unitvector(EF-ED))--(ED+k*1mm*unitvector(EF-ED)+1mm*unitvector(EE-ED)); -% endfor; -% fi; - ); - picequerre -enddef; - - -% ww; -% pair Intermede; -% pair perpen,I,ptt;%,pttt -% perpen:=projection(perpe,dte,drte); -% Intermede:=echelleequerre[dte,drte]; -% ptt-perpen=abs(Intermede-perpen)*0.5*unitvector(perpe-perpen); -% I:=CentreCercleI(perpen,ptt,Intermede); -% ww=unitvector(drte-dte); -% intermede=ptt--(10[ptt,(perpen rotatedabout(ptt,if sens=1: 30 else:-30 fi))]); -% pttt=intermede intersectionpoint (10[dte,drte]--10[drte,dte]); -% picequerre=image( -% -% draw codeperp(ptt,perpen,Intermede,5); -% k=0; -% pair Equa,Equb,Equc; -% Equa:=perpen; -% boolean Stop; -% Stop=false; -% forever: -% label.top(TEX(decimal(angle(drte-perpen)-angle(perpe-perpen))),A); -% for k=1 upto 100: -% k:=k+1; -% Equa:=perpen+k*1mm*unitvector(drte-perpen); -% dotlabel("",Equa); -% Equb:=Equa+1mm*unitvector(drte-perpen); -% Equc:=rotation(Equb,Equa,-angle((drte-perpen)-(perpe-perpen))); -% drawoptions(withcolor red); -% dotlabel("",Equc); -% drawoptions(); -% if abs(Equa-perpen)>9mm:% -% trace Equa--Equc; -% fi; - % if abs(drte-Equa)<1cm: -% Stop:=false; -% fi; -% exitif: Stop; -% endfor; -% ); -% picequerre -%enddef; + $ +enddef; + +vardef equerre(expr dte,drte,perpe,sens)=Equerre(dte,drte,perpe,sens) enddef; vardef regle(expr depart,arrivee,rr)= save picregle; @@ -1519,7 +1459,8 @@ vardef Rapporteur(text t)(expr rapcentre,pointsupport,rr,pasgrad)= elseif p_="Tiret": Tiret:=true; fi; - endfor; +endfor; +taillefonte=6; % Le cercle RA1=0.3[rapcentre,pointsupport]; RA2=0.375[rapcentre,pointsupport]; @@ -1550,7 +1491,7 @@ vardef Rapporteur(text t)(expr rapcentre,pointsupport,rr,pasgrad)= fincompteur:=36; fi; if (pasgrad=10) or (pasgrad=5) or (pasgrad=1): - for i=0 upto (fincompteur-1)/2: + for i=0 upto (fincompteur)/2: draw grada[10*i]--gradb[10*i] withpen pencircle scaled 1.15; endfor; fi; @@ -1580,26 +1521,26 @@ vardef Rapporteur(text t)(expr rapcentre,pointsupport,rr,pasgrad)= if rr=1: for j=0 upto 18: nombre[10*j]=image( - label.bot(TEX("\fontsize{4}{4}\selectfont"&decimal(10*j)&""),grada[10*j]); + label.bot(TEX("\fontsize{"&decimal(taillefonte)&"}{"&decimal(taillefonte)&"}\selectfont"&decimal(10*j)),grada[10*j]); currentpicture:=currentpicture rotatedabout(grada[10*j],angle(grada[10*j]-rapcentre)-90); ); endfor for j=0 upto 18: nombre[10*j+1]=image( - label.top(TEX("\fontsize{4}{4}\selectfont"&decimal(180-10*j)&""),gradb[10*j]); + label.top(TEX("\fontsize{"&decimal(taillefonte)&"}{"&decimal(taillefonte)&"}\selectfont"&decimal(180-10*j)),gradb[10*j]); currentpicture:=currentpicture rotatedabout(gradb[10*j],angle(gradb[10*j]-rapcentre)-90); ); endfor else: for j=0 upto 18: nombre[10*j]=image( - label.bot(TEX("\fontsize{4}{4}\selectfont"&decimal(180-10*j)&""),grada[10*j]); + label.bot(TEX("\fontsize{"&decimal(taillefonte)&"}{"&decimal(taillefonte)&"}\selectfont"&decimal(180-10*j)),grada[10*j]); currentpicture:=currentpicture rotatedabout(grada[10*j],angle(grada[10*j]-rapcentre)-90); ); endfor for j=18 downto 0: nombre[10*j+1]=image( - label.top(TEX("\fontsize{4}{4}\selectfont"&decimal(10*j)&""),gradb[10*j]); + label.top(TEX("\fontsize{"&decimal(taillefonte)&"}{"&decimal(taillefonte)&"}\selectfont"&decimal(10*j)),gradb[10*j]); currentpicture:=currentpicture rotatedabout(gradb[10*j],angle(gradb[10*j]-rapcentre)-90); ); endfor diff --git a/macros/latex/contrib/profcollege/metapost/PfCScratch.mp b/macros/latex/contrib/profcollege/metapost/PfCScratch.mp index 18fe1c904a..d0dbad1a25 100644 --- a/macros/latex/contrib/profcollege/metapost/PfCScratch.mp +++ b/macros/latex/contrib/profcollege/metapost/PfCScratch.mp @@ -2958,6 +2958,21 @@ vardef OpMul(expr pasun,pasdeux)= Oop enddef; +vardef OpMulS(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$*$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + vardef OpDiv(expr pasun,pasdeux)= save Oop; picture Oop; save TAao; path TAao; @@ -2973,6 +2988,21 @@ vardef OpDiv(expr pasun,pasdeux)= Oop enddef; +vardef OpDivS(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$/$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + vardef OpModulo(expr pasun,pasdeux)= save Oop; picture Oop; save TAao; path TAao; diff --git a/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp b/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp index f0ef36f1e0..9a3a650c38 100644 --- a/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp +++ b/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp @@ -2967,6 +2967,21 @@ vardef OpMul(expr pasun,pasdeux)= Oop enddef; +vardef OpMulS(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$*$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + vardef OpDiv(expr pasun,pasdeux)= save Oop; picture Oop; save TAao; path TAao; @@ -2982,6 +2997,21 @@ vardef OpDiv(expr pasun,pasdeux)= Oop enddef; +vardef OpDivS(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$/$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + vardef OpModulo(expr pasun,pasdeux)= save Oop; picture Oop; save TAao; path TAao; |