diff options
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCCartographie.tex')
-rw-r--r-- | macros/latex/contrib/profcollege/latex/PfCCartographie.tex | 101 |
1 files changed, 54 insertions, 47 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex index fdfa7cd0a5..a2bccc2321 100644 --- a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex +++ b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex @@ -1,10 +1,11 @@ %%% % Cartographie %%% -\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2} +\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2} \defKV[Cartographie]{EchelleCarte=\setKV[Cartographie]{Carte}} \defKV[Cartographie]{Pays=\setKV[Cartographie]{PaysSeul}} \defKV[Cartographie]{Villes=\setKV[Cartographie]{VillesSup}} +\defKV[Cartographie]{Traces=\setKV[Cartographie]{Codes}} \newcommand\Cartographie[3][]{% \ifluatex% @@ -138,18 +139,20 @@ arborescence:=\useKV[Cartographie]{Arborescence}; LargeurCadre=\useKV[Cartographie]{Largeur}; HauteurCadre=\useKV[Cartographie]{Hauteur}; + Epaisseur:=\useKV[Cartographie]{Epaisseur}; distanceecran=100*\useKV[Cartographie]{Echelle}; fleuves:=\useKV[Cartographie]{Fleuves}; - boolean Carte,Impression,VillesSup; + boolean Carte,Impression,VillesSup,Codes; Carte=\useKV[Cartographie]{Carte}; Impression=\useKV[Cartographie]{Impression}; VillesSup=\useKV[Cartographie]{VillesSup}; + Codes=\useKV[Cartographie]{Codes}; couleurfond:=\useKV[Cartographie]{CouleurFond}; if Impression: - noncolore:=true; - payscolor:=0.85white; - couleurfond:=white; - couleurfleuve:=couleurfond; + noncolore:=true; + payscolor:=0.85white; + couleurfond:=white; + couleurfleuve:=couleurfond; fi; capitales:=\useKV[Cartographie]{Capitales}; All:=\useKV[Cartographie]{All}; @@ -161,48 +164,52 @@ Caraibes:=\useKV[Cartographie]{Caraibes}; Afrique:=\useKV[Cartographie]{Afrique}; if Carte: - Echelle:=\useKV[Cartographie]{AfficheEchelle}; - figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre); - if \useKV[Cartographie]{PaysSeul}: - projection:="bonne"; - theta:=#2; - phi:=#3; - zoom(echelle(#2,#3,\useKV[Cartographie]{EchelleCarte})); - fill (bonnec(-90,-180) for k=-85 step 5 until 90:..bonnec(k,-180) endfor)..reverse(bonnec(-90,180) for k=-85 step 5 until 90:..bonnec(k,180) endfor)..cycle withcolor couleurfond; - lecturep(arborescence&"PfC"&\useKV[Cartographie]{Pays}&".dat",couleurfond);% - trace feuillet withpen pencircle scaled 2; - if Echelle=true: - draw ((Xa,Ya)+u*(1,1))--((Xa,Ya)+u*(2,1)); - labeloffset:=labeloffset*1.5; - label.top(btex 0 etex,(Xa,Ya)+u*(1,1)); - label.top(TEX(""&decimal(Long)&"~km"),(Xa,Ya)+u*(2,1)); - labeloffset:=labeloffset/1.5; - draw ((Xa,Ya)+u*(1,1.1))--((Xa,Ya)+u*(1,0.9)); - draw (((Xa,Ya)+u*(1,1.1))--((Xa,Ya)+u*(1,0.9))) shifted(u*(1,0)); - fi; - else: - projection:="bonne"; - Projection(#2,#3,echelle(#2,#3,\useKV[Cartographie]{EchelleCarte})); - trace feuillet withpen pencircle scaled 2; - fi; - if VillesSup: - nomfichiermul:=\useKV[Cartographie]{Villes}; - nblec:=scantokens readfrom nomfichiermul; - drawoptions(withcolor (0.15,0.15,0.15)); - projection:="bonne"; - for p=1 upto nblec: - pair Coord[],latlon;string p_; - latlon=scantokens readfrom nomfichiermul; - p_=scantokens readfrom nomfichiermul; - Coord[p]=bonnec(ypart(latlon),xpart(latlon)); - dotlabel.scantokens readfrom nomfichiermul(TEX(""&p_&""),Coord[p]); - endfor; - drawoptions(); - closefrom nomfichiermul; - fi; + Echelle:=\useKV[Cartographie]{AfficheEchelle}; + figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre); + if \useKV[Cartographie]{PaysSeul}: + projection:="bonne"; + theta:=#2; + phi:=#3; + zoom(echelle(#2,#3,\useKV[Cartographie]{EchelleCarte})); + fill (bonnec(-90,-180) for k=-85 step 5 until 90:..bonnec(k,-180) endfor)..reverse(bonnec(-90,180) for k=-85 step 5 until 90:..bonnec(k,180) endfor)..cycle withcolor couleurfond; + lecturep(arborescence&"PfC"&\useKV[Cartographie]{Pays}&".dat",couleurfond);% + if Echelle=true: + draw ((Xa,Ya)+u*(1,1))--((Xa,Ya)+u*(2,1)); + labeloffset:=labeloffset*1.5; + label.top(btex 0 etex,(Xa,Ya)+u*(1,1)); + label.top(TEX(""&decimal(Long)&"~km"),(Xa,Ya)+u*(2,1)); + labeloffset:=labeloffset/1.5; + draw ((Xa,Ya)+u*(1,1.1))--((Xa,Ya)+u*(1,0.9)); + draw (((Xa,Ya)+u*(1,1.1))--((Xa,Ya)+u*(1,0.9))) shifted(u*(1,0)); + fi; + else: + projection:="bonne"; + Projection(#2,#3,echelle(#2,#3,\useKV[Cartographie]{EchelleCarte})); + fi; + if Epaisseur>0: + trace feuillet withpen pencircle scaled Epaisseur; + fi; + if VillesSup: + nomfichiermul:=\useKV[Cartographie]{Villes}; + nblec:=scantokens readfrom nomfichiermul; + drawoptions(withcolor (0.15,0.15,0.15)); + projection:="bonne"; + for p=1 upto nblec: + pair Coord[],latlon;string p_; + latlon=scantokens readfrom nomfichiermul; + p_=scantokens readfrom nomfichiermul; + Coord[p]=bonnec(ypart(latlon),xpart(latlon)); + dotlabel.scantokens readfrom nomfichiermul(TEX(""&p_&""),Coord[p]); + endfor; + drawoptions(); + closefrom nomfichiermul; + fi; + if Codes: + \useKV[Cartographie]{Traces}; + fi; else: - draw(0,0)--(50,50); - mappemonde(#2,#3); + draw(0,0)--(50,50); + mappemonde(#2,#3); fi; \end{mplibcode} } |