diff options
author | Karl Berry <karl@freefriends.org> | 2024-01-07 21:27:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-01-07 21:27:13 +0000 |
commit | 20e34a4f89a7ed782e4f3c356e68913db3b4b3c8 (patch) | |
tree | 71c2b7176e942ee95808343782ac79d1dbabc5be /Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex | |
parent | 20b51efbc819f03c784d23252578ceedd707e15a (diff) |
profcollege (6jan24)
git-svn-id: svn://tug.org/texlive/trunk@69336 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex | 115 |
1 files changed, 113 insertions, 2 deletions
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex b/Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex index 0ae20f54e75..ad7e495f044 100644 --- a/Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex +++ b/Master/texmf-dist/tex/latex/profcollege/PfCGeometrie.tex @@ -1,7 +1,8 @@ %%% % Geometrie %%% -\setKVdefault[Geometrie]{CoinBG={(0,0)},CoinHD={(10u,10u)},TypeTrace="Instruments"}% +\setKVdefault[Geometrie]{CoinBG={(0,0)},CoinHD={(10u,10u)},TypeTrace="Instruments",Clip,Cadres=false,Epaisseur=1,Pointilles=false,Ombre=false,Couleur=black,Ecart=2,ModeleCouleur=5}% +\defKV[Geometrie]{Cadre=\setKV[Geometrie]{Cadres}\setKV[Geometrie]{Clip=false}}% \ifluatex% \NewDocumentEnvironment{Geometrie}{o +b}{% @@ -9,10 +10,31 @@ \setKV[Geometrie]{#1}% \mplibforcehmode% \begin{mplibcode} - % input PfCMPFr; + defaultcolormodel := \useKV[Geometrie]{ModeleCouleur}; + + vardef rounded_corners expr p = + for i=1 upto length p: + subpath (i-15/16, i-1/16) of p .. + endfor cycle + enddef; + % + boolean Clip,Cadres,Pointilles,Ombre; + Clip=\useKV[Geometrie]{Clip}; + Cadres=\useKV[Geometrie]{Cadres}; + Pointilles=\useKV[Geometrie]{Pointilles}; + Ombre=\useKV[Geometrie]{Ombre}; + Epaisseur=\useKV[Geometrie]{Epaisseur}; + bboxmargin:=\useKV[Geometrie]{Ecart}; + color CouleurCadre; + CouleurCadre=\useKV[Geometrie]{Couleur}; pair Coinbg,Coinhd; + if Clip: Coinbg=\useKV[Geometrie]{CoinBG}; Coinhd=\useKV[Geometrie]{CoinHD}; + else: + Coinbg=(-1000,-1000); + Coinhd=(1000,1000); + fi; if \useKV[Geometrie]{TypeTrace}="Instruments": typetrace:="normal"; elseif \useKV[Geometrie]{TypeTrace}="MainLevee": @@ -29,6 +51,43 @@ _tfig:=if (xb-xa)>(yb-ya): (xb-xa) else: (yb-ya) fi; _tfig:=2*_tfig; #2% + %% + if Cadres: + string Cadre; + Cadre=\useKV[Geometrie]{Cadre}; + + picture P; P = currentpicture; + + if Cadre<>"aucun": + if Cadre="rectangle": + if Ombre: + fill bbox P shifted (3,-3) withcolor 3/4[CouleurCadre,white]; + unfill bbox P; + fi; + if Pointilles: + drawoptions(dashed evenly withpen pencircle scaled Epaisseur withcolor CouleurCadre;); + else: + drawoptions(withpen pencircle scaled Epaisseur withcolor CouleurCadre;); + fi; + draw bbox P; + drawoptions(); + draw P; + else: + if Ombre: + fill rounded_corners bbox P shifted (3,-3) withcolor 3/4[CouleurCadre,white]; + unfill rounded_corners bbox P; + fi; + if Pointilles: + drawoptions(dashed evenly withpen pencircle scaled Epaisseur withcolor CouleurCadre;); + else: + drawoptions(withpen pencircle scaled Epaisseur withcolor CouleurCadre;); + fi; + draw rounded_corners bbox P; + drawoptions(); + draw P; + fi; + fi; + fi; \end{mplibcode} }{}% \else @@ -36,6 +95,21 @@ \useKVdefault[Geometrie]% \setKV[Geometrie]{#1}% \begin{mpost}[mpsettings={% + vardef rounded_corners expr p = + for i=1 upto length p: + subpath (i-15/16, i-1/16) of p .. + endfor cycle + enddef; + % + boolean Clip,Cadres,Pointilles,Ombre; + Clip=\useKV[Geometrie]{Clip}; + Cadres=\useKV[Geometrie]{Cadres}; + Pointilles=\useKV[Geometrie]{Pointilles}; + Ombre=\useKV[Geometrie]{Ombre}; + Epaisseur=\useKV[Geometrie]{Epaisseur}; + bboxmargin:=\useKV[Geometrie]{Ecart}; + color CouleurCadre; + CouleurCadre=\useKV[Geometrie]{Couleur}; pair Coinbg,Coinhd; Coinbg=\useKV[Geometrie]{CoinBG}; Coinhd=\useKV[Geometrie]{CoinHD}; @@ -56,6 +130,43 @@ _tfig:=if (xb-xa)>(yb-ya): (xb-xa) else: (yb-ya) fi; _tfig:=2*_tfig; #2% + %% + if Cadres: + string Cadre; + Cadre=\useKV[Geometrie]{Cadre}; + + picture P; P = currentpicture; + + if Cadre<>"aucun": + if Cadre="rectangle": + if Ombre: + fill bbox P shifted (3,-3) withcolor 3/4[CouleurCadre,white]; + unfill bbox P; + fi; + if Pointilles: + drawoptions(dashed evenly withpen pencircle scaled Epaisseur withcolor CouleurCadre;); + else: + drawoptions(withpen pencircle scaled Epaisseur withcolor CouleurCadre;); + fi; + draw bbox P; + drawoptions(); + draw P; + else: + if Ombre: + fill rounded_corners bbox P shifted (3,-3) withcolor 3/4[CouleurCadre,white]; + unfill rounded_corners bbox P; + fi; + if Pointilles: + drawoptions(dashed evenly withpen pencircle scaled Epaisseur withcolor CouleurCadre;); + else: + drawoptions(withpen pencircle scaled Epaisseur withcolor CouleurCadre;); + fi; + draw rounded_corners bbox P; + drawoptions(); + draw P; + fi; + fi; + fi; \end{mpost} }{}% \fi%
\ No newline at end of file |