diff options
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex')
-rw-r--r-- | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex | 427 |
1 files changed, 427 insertions, 0 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex new file mode 100644 index 0000000000..1c8c944c48 --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex @@ -0,0 +1,427 @@ +%%% +% 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} +\defKV[Unites]{Dots=\setKV[Unites]{Nombre=false}} + +\newlength{\PfCLgUnites} + +%D'apres https://tex.stackexchange.com/questions/38905/time-of-the-day-or-time-period-using-the-package-siunitx +\ExplSyntaxOn +\NewDocumentCommand \Temps {o o > { \SplitArgument { 5 } { ; } } m } +{% + \useKVdefault[Unites]% + \setKV[Unites]{#1} + \group_begin:% + \IfNoValueF{#2} + { \keys_set:nn { siunitx } {#2} } + \siunitx_hms_output:nnn #3 + \group_end: +} +\cs_new_protected:Npn \siunitx_hms_output:nnn #1#2#3#4#5#6 +{% + \IfNoValueF {#1}% + {% + \tl_if_blank:nF {#1}% + {% + \ifboolKV[Unites]{Nombre}{% + \SI{#1}{\annee\xintifboolexpr{#1>1}{s}{}}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\annee(s)}}% + \IfNoValueF {#2}{\,}% + }% + }% + \IfNoValueF {#2}% + {% + \tl_if_blank:nF {#2}% + {% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\mois}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\mois}}% + \IfNoValueF{#3}{\,}% + }% + }% + \IfNoValueF {#3}% + {% + \tl_if_blank:nF {#3}% + {% + \ifboolKV[Unites]{Nombre}{% + \SI{#3}{\jour}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\jour}}% + \IfNoValueF{#4}{\,}% + }% + }% + \IfNoValueF {#4}% + {% + \tl_if_blank:nF {#4}% + {% + \ifboolKV[Unites]{Nombre}{% + \SI{#4}{\hour}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\hour}}% + \IfNoValueF{#5}{\,}% + }% + }% + \IfNoValueF {#5}% + {% + \tl_if_blank:nF {#5}% + {% + \ifboolKV[Unites]{Nombre}{% + \SI[minimum-integer-digits=2]{#5}{\minute}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\minute}}% + \IfNoValueF{#6}{\,}% + }% + }% + \IfNoValueF {#6}% + {% + \tl_if_blank:nF {#6} {% + \ifboolKV[Unites]{Nombre}{% + \SI{#6}{\second}}{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\second}}% + }% + }% +}% +\ExplSyntaxOff + +\NewDocumentCommand\Temp{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{F}{% + \DeclareSIUnit{\Tempo}{\fahrenheit}% + }{% + \ifboolKV[Unites]{K}{% + \DeclareSIUnit{\Tempo}{\kelvin}% + }{% + \DeclareSIUnit{\Tempo}{\celsius}% + }% + }% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\Tempo}% + }% +}% + +\NewDocumentCommand\Conso{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\kWh}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\kWh}% + }% +}% + +%Pour mémoire au cas où... +%\newcommand\Prixo[2][2]{% +% \SI[round-mode=places,round-precision=#1]{#2}{\EuRo}% +%} + +\NewDocumentCommand\Prix{O{} O{2} m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{Nombre}{% + \SI[round-mode=places,round-precision=#2]{#3}{\EuRo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}} + \pointilles[\PfCLgUnites]\,\si{\EuRo}% + }% +}% + +\NewDocumentCommand\Octet{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{o}{% + \DeclareSIUnit{\Tempo}{\octet}% + }{% + \ifboolKV[Unites]{ko}{% + \DeclareSIUnit{\Tempo}{\kilo\octet}% + }{% + \ifboolKV[Unites]{Mo}{% + \DeclareSIUnit{\Tempo}{\mega\octet}% + }{% + \ifboolKV[Unites]{To}{% + \DeclareSIUnit{\Tempo}{\tera\octet}% + }{% + \DeclareSIUnit{\Tempo}{\giga\octet}% + }% + }% + }% + }% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\Tempo}% + }% +}% + +\NewDocumentCommand\Lg{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{nm}{% + \DeclareSIUnit{\Tempo}{\nano\meter}% + }{% + \ifboolKV[Unites]{um}{% + \DeclareSIUnit{\Tempo}{\micro\meter}% + }{% + \ifboolKV[Unites]{km}{% + \DeclareSIUnit{\Tempo}{\kilo\meter}% + }{% + \ifboolKV[Unites]{hm}{% + \DeclareSIUnit{\Tempo}{\hecto\meter}% + }{% + \ifboolKV[Unites]{dam}{% + \DeclareSIUnit{\Tempo}{\deca\meter}% + }{% + \ifboolKV[Unites]{m}{% + \DeclareSIUnit{\Tempo}{\meter}% + }{% + \ifboolKV[Unites]{dm}{% + \DeclareSIUnit{\Tempo}{\deci\meter}% + }{% + \ifboolKV[Unites]{mm}{% + \DeclareSIUnit{\Tempo}{\milli\meter}% + }{% + \DeclareSIUnit{\Tempo}{\centi\meter}% + }% + }% + }% + }% + }% + }% + }% + }% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\Tempo}% + }% +}% + +\NewDocumentCommand\Masse{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{ng}{% + \DeclareSIUnit{\Tempo}{\nano\gram}% + }{\ifboolKV[Unites]{ug}{% + \DeclareSIUnit{\Tempo}{\micro\gram}% + }{\ifboolKV[Unites]{t}{% + \DeclareSIUnit{\Tempo}{\tonne}% + }{\ifboolKV[Unites]{q}{% + \DeclareSIUnit{\Tempo}{\quintal}% + }{% + \ifboolKV[Unites]{kg}{% + \DeclareSIUnit{\Tempo}{\kilo\gram}% + }{\ifboolKV[Unites]{hg}{% + \DeclareSIUnit{\Tempo}{\hecto\gram}% + }{\ifboolKV[Unites]{dag}{% + \DeclareSIUnit{\Tempo}{\deca\gram}% + }{\ifboolKV[Unites]{dg}{% + \DeclareSIUnit{\Tempo}{\deci\gram}% + }{\ifboolKV[Unites]{cg}{% + \DeclareSIUnit{\Tempo}{\centi\gram}% + }{\ifboolKV[Unites]{mg}{% + \DeclareSIUnit{\Tempo}{\milli\gram}% + }{% + \DeclareSIUnit{\Tempo}{\gram}% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\Tempo}% + }% +}% + +\NewDocumentCommand\Capa{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{kL}{% + \DeclareSIUnit{\Tempo}{\kilo\liter}% + }{\ifboolKV[Unites]{hL}{% + \DeclareSIUnit{\Tempo}{\hecto\liter}% + }{\ifboolKV[Unites]{daL}{% + \DeclareSIUnit{\Tempo}{\deca\liter}% + }{\ifboolKV[Unites]{dL}{% + \DeclareSIUnit{\Tempo}{\deci\liter}% + }{\ifboolKV[Unites]{cL}{% + \DeclareSIUnit{\Tempo}{\centi\liter}% + }{\ifboolKV[Unites]{mL}{% + \DeclareSIUnit{\Tempo}{\milli\liter}% + }{% + \DeclareSIUnit{\Tempo}{\liter}% + }% + }% + }% + }% + }% + }% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\Tempo}% + }% +}% + +\NewDocumentCommand\Aire{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{ha}{% + \DeclareSIUnit{\Tempo}{\hectare}% + }{% + \ifboolKV[Unites]{a}{% + \DeclareSIUnit{\Tempo}{\are}% + }{% + \ifboolKV[Unites]{nm}{% + \DeclareSIUnit{\Tempo}{\nano\meter}% + }{% + \ifboolKV[Unites]{um}{% + \DeclareSIUnit{\Tempo}{\micro\meter}% + }{% + \ifboolKV[Unites]{km}{% + \DeclareSIUnit{\Tempo}{\kilo\meter}% + }{% + \ifboolKV[Unites]{hm}{% + \DeclareSIUnit{\Tempo}{\hecto\meter}% + }{% + \ifboolKV[Unites]{dam}{% + \DeclareSIUnit{\Tempo}{\deca\meter}% + }{% + \ifboolKV[Unites]{m}{% + \DeclareSIUnit{\Tempo}{\meter}% + }{% + \ifboolKV[Unites]{dm}{% + \DeclareSIUnit{\Tempo}{\deci\meter}% + }{% + \ifboolKV[Unites]{mm}{% + \DeclareSIUnit{\Tempo}{\milli\meter}% + }{% + \DeclareSIUnit{\Tempo}{\centi\meter}% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\square\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\square\Tempo}% + }% +}% + +\NewDocumentCommand\Vol{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{nm}{% + \DeclareSIUnit{\Tempo}{\nano\meter}% + }{% + \ifboolKV[Unites]{um}{% + \DeclareSIUnit{\Tempo}{\micro\meter}% + }{% + \ifboolKV[Unites]{km}{% + \DeclareSIUnit{\Tempo}{\kilo\meter}% + }{% + \ifboolKV[Unites]{hm}{% + \DeclareSIUnit{\Tempo}{\hecto\meter}% + }{% + \ifboolKV[Unites]{dam}{% + \DeclareSIUnit{\Tempo}{\deca\meter}% + }{% + \ifboolKV[Unites]{m}{% + \DeclareSIUnit{\Tempo}{\meter}% + }{% + \ifboolKV[Unites]{dm}{% + \DeclareSIUnit{\Tempo}{\deci\meter}% + }{% + \ifboolKV[Unites]{mm}{% + \DeclareSIUnit{\Tempo}{\milli\meter}% + }{% + \DeclareSIUnit{\Tempo}{\centi\meter}% + }% + }% + }% + }% + }% + }% + }% + }% + \ifboolKV[Unites]{Nombre}{% + \SI{#2}{\cubic\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si{\cubic\Tempo}% + }% +}% + +\NewDocumentCommand\Vitesse{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{mmin}{% + \DeclareSIUnit{\Tempo}{\meter\per\minute}% + }{% + \ifboolKV[Unites]{mh}{% + \DeclareSIUnit{\Tempo}{\meter\per\hour}% + }{% + \ifboolKV[Unites]{ms}{% + \DeclareSIUnit{\Tempo}{\meter\per\second}% + }{% + \ifboolKV[Unites]{kms}{% + \DeclareSIUnit{\Tempo}{\kilo\meter\per\second}% + }{% + \DeclareSIUnit{\Tempo}{\kilo\meter\per\hour}% + }% + }% + }% + }% + \ifboolKV[Unites]{Nombre}{% + \SI[per-mode=symbol]{#2}{\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si[per-mode=symbol]{\Tempo}% + }% +}% + +\NewDocumentCommand\MasseVol{o m}{% + \useKVdefault[Unites]% + \setKV[Unites]{#1}% + \ifboolKV[Unites]{kgm}{% + \DeclareSIUnit{\Tempo}{\kilo\gram\per\cubic\meter}% + }{% + \DeclareSIUnit{\Tempo}{\gram\per\cubic\centi\meter}% + }% + \ifboolKV[Unites]{Nombre}{% + \SI[per-mode=symbol]{#2}{\Tempo}% + }{% + \setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}% + \pointilles[\PfCLgUnites]\,\si[per-mode=symbol]{\Tempo}% + }% +}%
\ No newline at end of file |