summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/latex/PfCReperage.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCReperage.tex')
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCReperage.tex48
1 files changed, 39 insertions, 9 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCReperage.tex b/macros/latex/contrib/profcollege/latex/PfCReperage.tex
index 70bd8b7c7a..e363b35e8d 100644
--- a/macros/latex/contrib/profcollege/latex/PfCReperage.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCReperage.tex
@@ -737,6 +737,7 @@
% #4 : la liste courte des noms des points.
% #5 : liste des points pour les string
\ifluatex
+ \mplibforcehmode
\begin{mplibcode}
defaultcolormodel := \useKV[ClesReperage]{ModeleCouleur};
boolean Tiret,Code,AffichageGrad,Cadre;
@@ -1305,15 +1306,23 @@
if minx>(-pasx-1):
minx:=-2*pasx-1;
fi;
- if DemiDroite:
- minx:=0;
- fi;
if minx<\useKV[ClesReperage]{ValeurMin}:
minx:=\useKV[ClesReperage]{ValeurMin};
fi;
if maxx>\useKV[ClesReperage]{ValeurMax}:
maxx:=\useKV[ClesReperage]{ValeurMax};
fi;
+ % Pour gérer les cas des droites où toutes les valeurs sont soit positives soit négatives
+ if maxx<pasx:
+ maxx:=pasx+1;
+ fi;
+ if minx>-pasx:
+ minx:=-pasx-1;
+ fi;
+ %
+ if DemiDroite:
+ minx:=0;
+ fi;
% -----
pair A,B,C;
A=(0,0);
@@ -1424,7 +1433,15 @@
pointe(unitp*(valeur[n],0));
drawoptions();
elseif ACoord=1:
+ %
+ if Decale:
+ drawarrow (unitp*valeur[n],-7mm if (n mod 2)=0:-5mm fi)--(unitp*valeur[n],-3mm);
+ label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],-7mm if (n mod 2)=0:-5mm fi));
+ else:
+ %drawarrow (unitp*valeur[n],-7mm)--(unitp*valeur[n],-3mm);
+ %label.bot(TEX("\pointilles[1cm]"),(unitp*valeur[n],-7mm));
label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
+ fi;
drawoptions(withcolor CouleurCroix);
pointe(unitp*(valeur[n],0));
drawoptions();
@@ -1464,16 +1481,29 @@
else:
label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-ValeurOrigine)&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
fi;
- drawoptions(withcolor CouleurCroix);
- pointe(unitp*(valeur[n],0));
- drawoptions();
+ drawoptions(withcolor CouleurCroix);
+ pointe(unitp*(valeur[n],0));
+ drawoptions();
fi;
elseif AffichageCoord=1:
if p_<>"":
+ if Decale:
+ Labeloffset:=labeloffset;
+ labeloffset:=2pt;
+ if (valeur[n]<>0) and (valeur[n]<>pasx):
+ drawarrow (unitp*valeur[n],-7mm if (n mod 2)=0:-5mm fi)--(unitp*valeur[n],-3mm);
+ label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),(unitp*valeur[n],-7mm if (n mod 2)=0:-5mm fi));
+ fi;
+ labeloffset:=Labeloffset;
+ else:
+ %drawarrow (unitp*valeur[n],-7mm)--(unitp*valeur[n],-3mm);
+ %label.bot(TEX("\pointilles[1cm]"),(unitp*valeur[n],-7mm));
label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
- drawoptions(withcolor CouleurCroix);
- pointe(unitp*(valeur[n],0));
- drawoptions();
+ fi;
+ %label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
+ drawoptions(withcolor CouleurCroix);
+ pointe(unitp*(valeur[n],0));
+ drawoptions();
fi;
fi;
fi;