summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex')
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex111
1 files changed, 79 insertions, 32 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
index ecb975ff3b..d146f5fd84 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
@@ -1,7 +1,7 @@
%%%
% Ecritures d'unit\'es
%%%
-\setKVdefault[Unites]{m=false,km=false,hm=false,ha=false,dam=false,a=false,dm=false,cm=true,mm=false,um=false,nm=false,g=true,t=false,q=false,kg=false,hg=false,dag=false,dg=false,cg=false,mg=false,ug=false,ng=false,mmin=false,kmh=true,kms=false,ms=false,mh=false,kgm=false,gcm=true,L=true,kL=false,hL=false,daL=false,dL=false,cL=false,mL=false,l=true,kl=false,hl=false,dal=false,dl=false,cl=false,ml=false,Go=true,Mo=false,ko=false,To=false,o=false,kWh=true,C=true,K=false,F=false,Nombre,US=false,UK=false}%
+\setKVdefault[Unites]{m=false,km=false,hm=false,ha=false,dam=false,a=false,dm=false,cm=true,mm=false,um=false,nm=false,g=true,t=false,q=false,kg=false,hg=false,dag=false,dg=false,cg=false,mg=false,ug=false,ng=false,mmin=false,kmh=true,kms=false,ms=false,mh=false,kgm=false,gcm=true,L=true,kL=false,hL=false,daL=false,dL=false,cL=false,mL=false,l=true,kl=false,hl=false,dal=false,dl=false,cl=false,ml=false,Go=true,Mo=false,ko=false,To=false,o=false,kWh=true,C=true,K=false,F=false,Nombre,US=false,UK=false,Precision=2}%
\defKV[Unites]{Dots=\setKV[Unites]{Nombre=false}}%
\newlength{\PfCLgUnites}
@@ -28,8 +28,8 @@
\SI{#1}{\annee\xintifboolexpr{#1>1}{s}{}}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\annee(s)}}%
- \IfNoValueF {#2}{\,}%
+ \pointilles[\PfCLgUnites]~\si{\annee(s)}}%
+ \IfNoValueF {#2}{~}%
}%
}%
\IfNoValueF {#2}%
@@ -40,8 +40,8 @@
\SI{#2}{\mois}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\mois}}%
- \IfNoValueF{#3}{\,}%
+ \pointilles[\PfCLgUnites]~\si{\mois}}%
+ \IfNoValueF{#3}{~}%
}%
}%
\IfNoValueF {#3}%
@@ -52,8 +52,8 @@
\SI{#3}{\jour}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\jour}}%
- \IfNoValueF{#4}{\,}%
+ \pointilles[\PfCLgUnites]~\si{\jour}}%
+ \IfNoValueF{#4}{~}%
}%
}%
\IfNoValueF {#4}%
@@ -64,8 +64,8 @@
\SI{#4}{\hour}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\hour}}%
- \IfNoValueF{#5}{\,}%
+ \pointilles[\PfCLgUnites]~\si{\hour}}%
+ \IfNoValueF{#5}{~}%
}%
}%
\IfNoValueF {#5}%
@@ -73,11 +73,11 @@
\tl_if_blank:nF {#5}%
{%
\ifboolKV[Unites]{Nombre}{%
- \SI[minimum-integer-digits=2]{#5}{\minute}%
+ \SI{#5}{\minute}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\minute}}%
- \IfNoValueF{#6}{\,}%
+ \pointilles[\PfCLgUnites]~\si{\minute}}%
+ \IfNoValueF{#6}{~}%
}%
}%
\IfNoValueF {#6}%
@@ -86,7 +86,54 @@
\ifboolKV[Unites]{Nombre}{%
\SI{#6}{\second}}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\second}}%
+ \pointilles[\PfCLgUnites]~\si{\second}}%
+ }%
+ }%
+}%
+
+\NewDocumentCommand \Horaire {o o > { \SplitArgument { 2 } { ; } } m }
+{%
+ \useKVdefault[Unites]%
+ \setKV[Unites]{#1}
+ \group_begin:%
+ \IfNoValueF{#2}
+ { \keys_set:nn { siunitx } {#2} }
+ \siunitx_horaire_output:nnn #3
+ \group_end:
+}
+\cs_new_protected:Npn \siunitx_horaire_output:nnn #1#2#3
+{%
+ \IfNoValueF {#1}%
+ {%
+ \tl_if_blank:nF {#1}%
+ {%
+ \ifboolKV[Unites]{Nombre}{%
+ \SI{#1}{\hour}%
+ }{%
+ \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
+ \pointilles[\PfCLgUnites]~\si{\hour}}%
+ \IfNoValueF{#2}{~}%
+ }%
+ }%
+ \IfNoValueF {#2}%
+ {%
+ \tl_if_blank:nF {#2}%
+ {%
+ \ifboolKV[Unites]{Nombre}{%
+ \SI[minimum-integer-digits=2]{#2}{\minute}%
+ }{%
+ \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
+ \pointilles[\PfCLgUnites]~\si{\minute}}%
+ \IfNoValueF{#3}{~}%
+ }%
+ }%
+ \IfNoValueF {#3}%
+ {%
+ \tl_if_blank:nF {#3} {%
+ \ifboolKV[Unites]{Nombre}{%
+ \SI{#3}{\second}}{%
+ \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
+ \pointilles[\PfCLgUnites]~\si{\second}}%
}%
}%
}%
@@ -108,7 +155,7 @@
\SI{#2}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}%
@@ -119,7 +166,7 @@
\SI{#2}{\kWh}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\kWh}%
+ \pointilles[\PfCLgUnites]~\si{\kWh}%
}%
}%
@@ -135,7 +182,7 @@
% \SI[round-mode=places,round-precision=#2]{#3}{\EuRo}%
% }{%
% \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}
-% \pointilles[\PfCLgUnites]\,\si{\EuRo}%
+% \pointilles[\PfCLgUnites]~\si{\EuRo}%
% }%
%}%
@@ -155,11 +202,11 @@
\IfInteger{#2}{%
\SI{#2}{\Tempo}%
}{%
- \SI[round-mode=places,round-precision=2]{#2}{\Tempo}%
+ \SI[round-mode=places,round-precision=\useKV[Unites]{Precision}]{#2}{\Tempo}%
}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}%
@@ -187,7 +234,7 @@
\SI{#2}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}%
@@ -232,14 +279,14 @@
\SI[parse-numbers=false]{#3}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}{%
\ifboolKV[Unites]{Nombre}{%
\SI{#3}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}%
}%
@@ -285,16 +332,16 @@
\SI[parse-numbers=false]{#3}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}{%
\ifboolKV[Unites]{Nombre}{%
\SI{#3}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
+ }%
}%
- }
}%
\NewDocumentCommand\Capa{s o m}{%
@@ -325,14 +372,14 @@
\SI[parse-numbers=false]{#3}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}{%
\ifboolKV[Unites]{Nombre}{%
\SI{#3}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}%
}%
@@ -386,14 +433,14 @@
\SI[parse-numbers=false]{#3}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}{%
\ifboolKV[Unites]{Nombre}{%
\SI{#3}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\Tempo}%
}%
}%
}%
@@ -439,14 +486,14 @@
\SI[parse-numbers=false]{#3}{\cubic\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\cubic\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\cubic\Tempo}%
}%
}{%
\ifboolKV[Unites]{Nombre}{%
\SI{#3}{\cubic\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\cubic\Tempo}%
+ \pointilles[\PfCLgUnites]~\si{\cubic\Tempo}%
}%
}%
}%
@@ -475,7 +522,7 @@
\SI[per-mode=symbol]{#2}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si[per-mode=symbol]{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si[per-mode=symbol]{\Tempo}%
}%
}%
@@ -491,6 +538,6 @@
\SI[per-mode=symbol]{#2}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si[per-mode=symbol]{\Tempo}%
+ \pointilles[\PfCLgUnites]~\si[per-mode=symbol]{\Tempo}%
}%
}% \ No newline at end of file