summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCCartographie.tex')
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCartographie.tex101
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}
}