summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ticollege
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-02-17 23:09:12 +0000
committerKarl Berry <karl@freefriends.org>2015-02-17 23:09:12 +0000
commit51661b622a44e667b7be53c82b5f734ffc948ec7 (patch)
treee0e1b929227fc5191f60c1d466d15be0a46b037b /Master/texmf-dist/tex/latex/ticollege
parent29da2f586abfa4540d83c924fbe48d3cbe75d169 (diff)
ticollege (17feb15)
git-svn-id: svn://tug.org/texlive/trunk@36306 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ticollege')
-rw-r--r--Master/texmf-dist/tex/latex/ticollege/ticollege.sty454
1 files changed, 454 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ticollege/ticollege.sty b/Master/texmf-dist/tex/latex/ticollege/ticollege.sty
new file mode 100644
index 00000000000..aaf7aa7151b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ticollege/ticollege.sty
@@ -0,0 +1,454 @@
+%---------------
+% Licence
+%---------------
+%This program can be redistributed and/or modified under the terms
+%of the LaTeX Project Public License Distributed from CTAN archives
+%in directory macros/latex/base/lppl.txt.
+
+
+\def\fileversion{1.0}
+\def\filedate{2015/02/15}
+\def\fileauthor{Philippe DE SOUSA}
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{ticollege}[%
+ \filedate\space v\fileversion\space
+ LaTeX package by \fileauthor]
+\RequirePackage[dvipsnames,table]{xcolor}
+\RequirePackage[zerostyle=d]{newtxtt}
+\@ifpackageloaded{tikz}{}{\RequirePackage{tikz}}
+\usetikzlibrary{calc,shapes,arrows,shadows,backgrounds,babel}
+\@ifpackageloaded{ifthen}{}{\RequirePackage{ifthen}}
+\@ifpackageloaded{xkeyval}{}{\RequirePackage{xkeyval}}
+\@ifpackageloaded{mathtools}{}{\RequirePackage{mathtools}}
+\@ifpackageloaded{amssymb}{}{\RequirePackage{amssymb}}
+\@ifpackageloaded{multido}{}{\RequirePackage{multido}}
+\@ifpackageloaded{multirow}{}{\RequirePackage{multirow}}
+
+%% 15 février 2015 : v1.0
+
+
+%%-----------------------------
+%-- Couleurs
+%%-----------------------------
+\definecolor{TIRouge}{RGB}{215,64,45}
+\definecolor{TIOrange}{RGB}{239,148,69}
+\definecolor{TIJaune}{RGB}{254,212,75}
+
+%%-----------------------------
+%-- Symboles particuliers
+%%-----------------------------
+
+% définition de la racine carrée
+\newcommand*\TiRacine[1][]{$\sqrt[#1]{\phantom{x}}$}
+% définition des dessins de contrast
+\newcommand*{\ContrastUp}{
+ \tikz{
+ \draw[orange] (0,0) circle[radius = 0.2];
+ \fill[orange] (0,0.2) arc[radius=0.2, start angle=90, end angle=-90] -- cycle;
+ \fill[orange] (0.45,0) -- ++(150:0.2) -- ++(0,-0.2) -- cycle;
+ }
+}
+\newcommand*{\ContrastDown}{
+ \tikz{
+ \draw[orange] (0,0) circle[radius = 0.2];
+ \fill[orange] (0,0.2) arc[radius=0.2, start angle=90, end angle=-90] -- cycle;
+ \fill[orange] (-0.45,0) -- ++(30:0.2) -- ++(0,-0.2) -- cycle;
+ }
+}
+% définition du symbole aff
+\newcommand*{\Aff}{
+ \tikz[scale=0.7]{
+ \draw (0,0) node[scale=0.7] {\scriptsize\textsf{aff}};
+ \draw[->, >=latex'] ({0.5*cos(40)},{0.4*sin(140)}) arc[x radius=0.5, y radius=0.4, start angle=40, end angle=140];
+ \draw[->, >=latex'] ({0.5*cos(220)},{0.4*sin(320)}) arc[x radius=0.5, y radius=0.4, start angle=220, end angle=320];
+ }
+}
+
+% définition du symbole de la division posée
+\newcommand*{\Div}{\tikz{\draw[thick] (0,0) -- (0,0.5) (0,0.35)--(0.2,0.35);}}
+
+
+%%-----------------------------
+%--- Définitions auxiliaires + xkeyval
+%%-----------------------------
+
+% création de booléen pour tester les styles de touche
+\newcommand*{\TiCDef@Bool}[1]{%
+\newboolean{#1}
+\setboolean{#1}{false}
+}
+\newcommand*{\TiCDefBool}[1]{\TiCDef@Bool{#1}}
+
+\TiCDefBool{TiCChiffre}
+\TiCDefBool{TiCGeneral}
+\TiCDefBool{TiCFleches}
+\TiCDefBool{TiCModeSeconde}
+\TiCDefBool{ArrondiToucheGauche}
+\TiCDefBool{ArrondiToucheDroit}
+% pour entourer une touche :
+\define@boolkey{PresetTiC}{circle}[false]{}
+% pour entourer la touche de flèche
+\define@boolkey{PresetTiC}{circleup}[false]{}
+\define@boolkey{PresetTiC}{circleleft}[false]{}
+\define@boolkey{PresetTiC}{circleright}[false]{}
+\define@boolkey{PresetTiC}{circledown}[false]{}
+
+% Définitions des styles disponibles
+\define@choicekey{PresetTiC}{style}%
+ {general, number, arrows}%
+ {\ifthenelse{\equal{\string #1}{\string number}}%
+ {\setboolean{TiCChiffre}{true}}
+ {\setboolean{TiCChiffre}{false}}%
+ \ifthenelse{\equal{\string #1}{\string general}}%
+ {\setboolean{TiCGeneral}{true}}
+ {\setboolean{TiCGeneral}{false}}%
+ \ifthenelse{\equal{\string #1}{\string arrows}}%
+ {\setboolean{TiCFleches}{true}}
+ {\setboolean{TiCFleches}{false}}%
+ }
+
+% Définitions des touches arrondis
+\define@choicekey{PresetTiC}{rounded}%
+ {left, right, none}%
+ {\ifthenelse{\equal{\string #1}{\string left}}%
+ {\setboolean{ArrondiToucheGauche}{true}}
+ {\setboolean{ArrondiToucheGauche}{false}}%
+ \ifthenelse{\equal{\string #1}{\string right}}%
+ {\setboolean{ArrondiToucheDroit}{true}}
+ {\setboolean{ArrondiToucheDroit}{false}}%
+ \ifthenelse{\equal{\string #1}{\string none}}%
+ {\setboolean{ArrondiToucheDroit}{false}\setboolean{ArrondiToucheGauche}{false}}
+ {\relax}%
+ }
+
+% Définitions des keys
+% les couleurs
+\define@key{PresetTiC}{color key}{\def\Couleur@Touche{#1}}
+\define@key{PresetTiC}{colour key}{\def\Couleur@Touche{#1}}
+\define@key{PresetTiC}{color text}{\def\Couleur@Texte{#1}}
+\define@key{PresetTiC}{colour text}{\def\Couleur@Texte{#1}}
+\define@key{PresetTiC}{color second}{\def\Couleur@Seconde{#1}}
+\define@key{PresetTiC}{colour second}{\def\Couleur@Seconde{#1}}
+\define@key{PresetTiC}{colour circle}{\def\Couleur@Cercle{#1}}
+\define@key{PresetTiC}{color circle}{\def\Couleur@Cercle{#1}}
+% taille du texte
+\define@key{PresetTiC}{fontsize}{\def\Font@Size{#1}}
+% hauteur de la touche
+\define@key{PresetTiC}{raise}{\def\Hauteur@Touche{#1}}
+% texte principal de la touche
+\define@key{PresetTiC}{principal}{\def\Le@Principal{\fontsize{\Font@Size}{\Font@Size}\selectfont\color{\Couleur@Texte} #1}}
+% position du texte principal à l'interieur de la touche
+\define@key{PresetTiC}{position}{\def\La@Position{#1}}
+% nom de la touche pour des utilisations dans tikzpicture
+\define@key{PresetTiC}{name}{\def\Le@Nom{#1}}
+% pour entourer une touche
+\define@key{PresetTiC}{radius}{\def\Le@Rayon{#1}}
+\define@key{PresetTiC}{thickness}{\def\Ep@isseur{#1}}
+% texte secondaire
+\define@key{PresetTiC}{second}{\ifthenelse{\equal{\string #1}{\string pasdeseconde}}%
+ {\setboolean{TiCModeSeconde}{false}}%
+ {\def\Mode@Seconde{\fontsize{\Font@Size}{\Font@Size}\selectfont\color{\Couleur@Seconde} #1}
+ \setboolean{TiCModeSeconde}{true}}%
+ }
+
+% configurations par défaut
+\presetkeys{PresetTiC}{style=general, principal=sin, second=pasdeseconde,
+ position=0.9, raise=0ex, fontsize=6pt, name=NOM,
+ rounded=none, colour second=TIOrange, colour key=TIRouge, colour text=white,
+ circle=false, radius=20pt, colour circle=red, thickness=1pt,
+ circleup=false, circleleft=false, circledown=false, circleright=false}{}
+
+
+
+
+%%-----------------------------
+% commande \TiC dont la forme dépend du style choisi
+%%-----------------------------
+
+\newcommand*\TiC[1][]{%
+\setkeys{PresetTiC}{#1}%
+%%-----------------------------
+% Touche colorée pour les fonctions
+%%-----------------------------
+\raisebox{\Hauteur@Touche}{
+\ifthenelse{\boolean{TiCGeneral}}%
+ {\unskip
+ \begin{tikzpicture}[x=0.5cm,y=0.5cm,remember picture]
+ \draw[fill=\Couleur@Touche] (0.35,1) -- ++(1,0) arc[start angle = 90, end angle = -90, x radius = 0.35, y radius = 0.5]
+ -- ++(-1,0) arc[start angle=270, end angle=90, x radius = 0.35, y radius = 0.5] -- cycle;
+ \path (0.85,1) -- (0.85,0.5) node[pos=\La@Position] (c) {\bfseries \Le@Principal};
+ \coordinate (\Le@Nom) at (c);
+ \ifKV@PresetTiC@circle\draw[\Couleur@Cercle,line width=\Ep@isseur] (c) circle[radius=\Le@Rayon];\fi
+ \ifthenelse{\boolean{TiCModeSeconde}} %
+ {\node[above] at (0.85,1) {\bfseries\sffamily\Mode@Seconde};} %
+ {}
+ \end{tikzpicture}
+ }%
+ {\unskip}%
+}%
+%%-----------------------------
+% Touche colorée pour les chiffres
+%%-----------------------------
+\raisebox{\Hauteur@Touche}{
+\ifthenelse{\boolean{TiCChiffre}}%
+ {\ifthenelse{\boolean{ArrondiToucheGauche}}%
+ {\unskip%
+ \begin{tikzpicture}[x=0.5cm,y=0.5cm,remember picture]
+ \draw[fill=\Couleur@Touche] (0.85,1) -| ++(-0.5,0) arc[start angle = 90, end angle = 270, x radius = 0.35, y radius = 0.5] -| ++(0.5,0);
+ \draw[fill=\Couleur@Touche, rounded corners=1.5pt] (0.8,0) -| (1.7,0.5) |- ++(-0.3,0.5) -- (0.8,1);
+ \node (c) at (0.85,0.5) {\bfseries \Le@Principal};
+ \coordinate (\Le@Nom) at (c);
+ \ifKV@PresetTiC@circle\draw[\Couleur@Cercle,line width=\Ep@isseur] (c) circle[radius=\Le@Rayon];\fi
+ \ifthenelse{\boolean{TiCModeSeconde}} %
+ {\node[above] at (0.85,1) {\bfseries\sffamily\Mode@Seconde};} %
+ {}
+ \end{tikzpicture}}%
+ {\ifthenelse{\boolean{ArrondiToucheDroit}}%
+ {\unskip%
+ \begin{tikzpicture}[x=0.5cm,y=0.5cm,remember picture]
+ \draw[fill=\Couleur@Touche] (0.85,1) -| ++(0.5,0) arc[start angle = 90, end angle = -90, x radius = 0.35, y radius = 0.5] -| ++(-0.85,0);
+ \draw[fill=\Couleur@Touche, rounded corners=1.5pt] (0.85,0) -| (0,0.5) |- ++(0.3,0.5) -- (0.85,1);
+ \node (c) at (0.85,0.5) {\bfseries \Le@Principal};
+ \coordinate (\Le@Nom) at (c);
+ \ifKV@PresetTiC@circle\draw[\Couleur@Cercle,line width=\Ep@isseur] (c) circle[radius=\Le@Rayon];\fi
+ \ifthenelse{\boolean{TiCModeSeconde}} %
+ {\node[above] at (0.85,1) {\bfseries\sffamily\Mode@Seconde};} %
+ {}
+ \end{tikzpicture}}%
+ {\unskip%
+ \begin{tikzpicture}[x=0.5cm,y=0.5cm,remember picture]
+ \draw[fill=\Couleur@Touche, rounded corners=1.5pt] (0.85,1) -| ++(0.85,-0.5) |- ++(-0.85,-0.5) -| ++(-0.85,0.5) |- ++(0.3,0.5) -- cycle;
+ \node (c) at (0.85,0.5) {\bfseries \Le@Principal};
+ \coordinate (\Le@Nom) at (c);
+ \ifKV@PresetTiC@circle\draw[\Couleur@Cercle,line width=\Ep@isseur] (c) circle[radius=\Le@Rayon];\fi
+ \ifthenelse{\boolean{TiCModeSeconde}} %
+ {\node[above] at (0.85,1) {\bfseries\sffamily\Mode@Seconde};} %
+ {}
+ \end{tikzpicture}}}}%
+ {\unskip}
+}%
+%%-----------------------------
+% Touche colorée pour les flèches
+%%-----------------------------
+\raisebox{\Hauteur@Touche}{
+\ifthenelse{\boolean{TiCFleches}}%
+ {\unskip
+ \begin{tikzpicture}[x=0.5cm,y=0.5cm,remember picture]
+ \draw[fill=\Couleur@Touche] (0,1) -- ++(1,0) arc[start angle = 90, end angle = -90, radius = 1]
+ -- ++(-1,0) arc[start angle=270, end angle=90, radius = 1] -- cycle;
+ \draw[fill=\Couleur@Touche, scale=0.25] (0.5,1) -- ++(3,0) arc[start angle = 90, end angle = -90, radius = 1]
+ -- ++(-3,0) arc[start angle=270, end angle=90, radius = 1] -- cycle;
+ \fill[white] (0.5,0.75) -- ++(-60:0.3) -- ++(-0.3,0) -- cycle; %up
+ \fill[yscale=-1,white] (0.5,0.75) -- ++(-60:0.3) -- ++(-0.3,0) -- cycle; % down
+ \fill[white] (-0.75,0) -- ++(-30:0.3) -- ++(0,0.3) -- cycle; % left
+ \fill[white] (1.75,0) -- ++(150:0.3) -- ++(0,-0.3) -- cycle; % right
+ \coordinate (FLE) at (0.5,0);
+ \ifKV@PresetTiC@circle\draw[\Couleur@Cercle,line width=\Ep@isseur] (FLE) circle[radius=\Le@Rayon];\fi
+ \coordinate (FLH) at (0.5,0.6);
+ \coordinate (FLB) at (0.5,-0.6);
+ \coordinate (FLD) at (1.6,0);
+ \coordinate (FLG) at (-0.6,0);
+ \ifKV@PresetTiC@circledown\draw[\Couleur@Cercle,line width=\Ep@isseur] (FLB) circle (5pt);\fi
+ \ifKV@PresetTiC@circleleft\draw[\Couleur@Cercle,line width=\Ep@isseur] (FLG) circle (5pt);\fi
+ \ifKV@PresetTiC@circleup\draw[\Couleur@Cercle,line width=\Ep@isseur] (FLH) circle (5pt);\fi
+ \ifKV@PresetTiC@circleright\draw[\Couleur@Cercle,line width=\Ep@isseur] (FLD) circle (5pt);\fi
+ \end{tikzpicture}
+ }%
+ {\unskip}%
+}%
+}
+
+%%-----------------------------
+%------ CALCULATRICE ----------
+%%-----------------------------
+
+% options de la commande \Calculator*
+\define@key{TiCalc}{calcscale}{\def\Calc@Echelle{#1}}
+\define@key{TiCalc}{calcrotate}{\def\Calc@Rotation{#1}}
+\define@key{TiCalc}{calcraise}{\def\Calc@Position{#1}}
+% options de la commande \Calculator
+\define@key{TiCalc}{colour calc}{\def\Couleur@Calc{#1}}
+\define@key{TiCalc}{color calc}{\def\Couleur@Calc{#1}}
+\define@key{TiCalc}{title}{\def\Titre@Calc{#1}}
+
+% configurations par défaut pour \Calculatrice*
+\presetkeys{TiCalc}{calcscale=0.5,calcrotate=-30,calcraise=-2ex, colour calc=TIOrange!50, title=TI-Collège}{}
+%
+%%-----------------------------
+%-------- Grand format --------
+%%-----------------------------
+\newcommand{\Calculator@nostar}[1][]{
+\setkeys{TiCalc}{#1}%
+\begin{tikzpicture}[remember picture]
+ \renewcommand{\tabcolsep}{-3pt}
+ \node (tabcalc) at (0,0) {
+ \begin{tabular}{*{5}{c}}
+ \TiC[principal=2nde, colour key=TIJaune, colour text=black, name=scd] &
+ \TiC[principal=mode, second=quitter, name=mode] &
+ \TiC[principal=suppr, second=insérer, name=supp, position=1.1] &
+ \multicolumn{2}{c}{\multirow{3}{*}{\TiC[style=arrows, colour key=TIOrange, name=arrows]}} \\
+ %
+ \TiC[principal={$\boldsymbol{\frac{n}{d}}$}, second={$\boldsymbol{f \triangleleft\triangleright d}$}, fontsize=7pt, name=nd] &
+ \TiC[principal=stats, second=stats calc, name=stats] &
+ \TiC[principal={$\boldsymbol{f(x)}$}, second=expr, name=fx] & & \\
+ %
+ \TiC[principal={$\triangleright$ simp}, second={$\triangleright$ décomp}, name=simp, fontsize=5pt] &
+ \TiC[principal={$\times 10^n$}, second={$\frac1x$}, name=pdix] &
+ \TiC[principal=op, second=déf op, name=op, position=1.1] &
+ \TiC[principal=maths, second=système, name=math] &
+ \TiC[principal=annul, name=annul] \\
+ %
+ \TiC[principal={\large$\pi$}, second=angle, name=pi] &
+ \TiC[principal={\itshape sin}, second={\itshape arcsin}, name=sin] &
+ \TiC[principal={\itshape cos}, second={\itshape arccos}, name=cos] &
+ \TiC[principal={\itshape tan}, second={\itshape arctan}, name=tan] &
+ \TiC[principal=$\div$, second=\Div, colour key=TIOrange, name=div] \\
+ %
+ \TiC[principal={$x^n$}, second={\TiRacine[n]}, name=pow] &
+ \TiC[principal=\%, second={$\triangleright$ \%}, name=pcent] &
+ \TiC[principal={(}, second={$\triangleright a\, \cdot 10^n$}, name=PO] &
+ \TiC[principal={)}, second={$\triangleright$ norm}, name=PF] &
+ \TiC[principal=$\times$, colour key=TIOrange, name=times] \\
+ %
+ \TiC[principal={$x^2$}, second={\TiRacine}, name=sqr] &
+ \TiC[style=number, principal=7, rounded=left, colour key=white, colour text=black, name=T7] &
+ \TiC[style=number, principal=8, colour key=white, colour text=black, name=T8] &
+ \TiC[style=number, principal=9, rounded=right, colour key=white, colour text=black, name=T9] &
+ \TiC[principal=$-$, second=\ContrastDown, colour key=TIOrange, name=sub] \\
+ %
+ \TiC[principal={$x^{yzt}_{abc}$}, second={eff var}, name=var] &
+ \TiC[style=number, principal=4, rounded=left, colour key=white, colour text=black, name=T4] &
+ \TiC[style=number, principal=5, colour key=white, colour text=black, name=T5] &
+ \TiC[style=number, principal=6, rounded=right, colour key=white, colour text=black, name=T6] &
+ \TiC[principal=$+$, second=\ContrastUp, colour key=TIOrange, name=plus] \\
+ %
+ \TiC[principal={sto $\triangleright$}, second={rap var}, name=sto] &
+ \TiC[style=number, principal=1, rounded=left, colour key=white, colour text=black, name=T1] &
+ \TiC[style=number, principal=2, colour key=white, colour text=black, name=T2] &
+ \TiC[style=number, principal=3, rounded=right, colour key=white, colour text=black, name=T3] &
+ \TiC[principal=\Aff, colour key=TIOrange, name=aff] \\
+ %
+ \TiC[principal={on}, second={off}, name=on] &
+ \TiC[style=number, principal=0, second=réinit, rounded=left, colour key=white, colour text=black, name=T0] &
+ \TiC[style=number, principal={,}, fontsize=9pt, position=1.2, second={;}, colour key=white, colour text=black, name=virgule] &
+ \TiC[style=number, principal=(--), second=rép, rounded=right, colour key=white, colour text=black, name=minus] &
+ \TiC[principal=entrer, colour key=TIOrange, fontsize=5pt, name=entrer] \\
+ \end{tabular}%
+ };
+ % Ecran
+ \node (ecran) at ($(tabcalc.north west)+(0.2,0)$) [inner sep=0pt,rectangle,
+ minimum width=5.5cm,minimum height=2cm,anchor=south west] {};
+ \draw[fill=ForestGreen!15] ($(tabcalc.north west)+(0.2,0)$) rectangle ($(tabcalc.north east)+(-0.2,2)$);
+ % Corps de la calculatrice
+ \begin{scope}[on background layer]
+ \draw[fill=\Couleur@Calc, rounded corners=25pt]
+ ($(ecran.north) + (0.5,1.25)$) -|
+ ($(tabcalc.east) + (0.25,0)$) |-
+ ($(tabcalc.south) + (0,-0.25)$) -|
+ ($(tabcalc.west) + (-0.25,0)$) |-
+ ($(ecran.north) + (-0.5,1.25)$) -- cycle;
+ \node at ($(ecran.north) + (0,0.5)$) {{\Large\bfseries\sffamily \Titre@Calc}};
+ \end{scope}
+\end{tikzpicture}
+}
+
+%%-----------------------------
+%-------- Petit format --------
+%%-----------------------------
+\newcommand*{\Calculator@star}[1][]{%
+\setkeys{TiCalc}{#1}%
+\raisebox{\Calc@Position}{%
+\begin{tikzpicture}[x=0.5cm,scale=\Calc@Echelle,rotate=\Calc@Rotation]
+ \draw[fill=black, rounded corners=3pt] (0,0) rectangle (2.1,1.5);
+ \draw[white,fill=white] (0.1,1.15) rectangle (2,1.4);
+ \fill[white] (1.55,0.9) ellipse[x radius=0.4, y radius=0.1];
+ \fill[white,rounded corners=2] (0.1,0.8) rectangle ++(0.4,0.2);
+ \fill[white,rounded corners=2] (0.6,0.8) rectangle ++(0.4,0.2);
+%%
+ \fill[white,rounded corners=2] (0.1,0.45) rectangle ++(0.4,0.2);
+ \fill[white,rounded corners=2] (0.6,0.45) rectangle ++(0.4,0.2);
+ \fill[white,rounded corners=2] (1.1,0.45) rectangle ++(0.4,0.2);
+ \fill[white,rounded corners=2] (1.6,0.45) rectangle ++(0.4,0.2);
+%%
+ \fill[white,rounded corners=2] (0.1,0.1) rectangle ++(0.4,0.2);
+ \fill[white,rounded corners=2] (0.6,0.1) rectangle ++(0.4,0.2);
+ \fill[white,rounded corners=2] (1.1,0.1) rectangle ++(0.4,0.2);
+ \fill[white,rounded corners=2] (1.6,0.1) rectangle ++(0.4,0.2);
+%%
+\end{tikzpicture}%
+}
+}
+
+%%-----------------------------
+%\TiCCalc = Grand format-
+%\TiCCalc* = Petit format-
+%%-----------------------------
+\newcommand*\TiCCalc{\@ifstar{\Calculator@star}{\Calculator@nostar}}
+
+%%-----------------------------
+%------ ECRAN ------------------
+%%-----------------------------
+
+
+\newcounter{TiCLineCommand}
+\setcounter{TiCLineCommand}{0}
+\newcounter{TiCLineResult}
+\setcounter{TiCLineResult}{0}
+
+% Définition des keys
+\define@key{TiCScreen}{color screen}{\def\Couleur@Ecran{#1}}
+\define@key{TiCScreen}{colour screen}{\def\Couleur@Ecran{#1}}
+\define@key{TiCScreen}{screenname}{\def\Nom@Ecran{#1}}
+\define@key{TiCScreen}{width}{\def\L@ngueur{#1}}
+\define@key{TiCScreen}{height}{\def\H@uteur{#1}}
+
+% Configurations par défaut
+\presetkeys{TiCScreen}{colour screen=ForestGreen!15,
+ screenname=ecran,
+ width=4, height=1}{}
+
+% Commande \Ecran
+\newcommand*\TiCScreen[2][]{%
+\setcounter{TiCLineCommand}{0}
+\setcounter{TiCLineResult}{0}
+\setkeys{TiCScreen}{#1}
+\begin{tikzpicture}[remember picture]
+ \node (\Nom@Ecran) at (0,0) [inner sep=0pt, draw, fill=\Couleur@Ecran, rectangle, minimum width=\L@ngueur cm,
+ minimum height=\H@uteur cm,anchor=south west] {};
+ \clip (0,0) rectangle (\L@ngueur,\H@uteur);
+ \foreach \command/\result in {#2}
+ {\ifx\command\empty {\addtocounter{TiCLineResult}{-1}\addtocounter{TiCLineCommand}{1}} \else
+ \node[anchor=north west] at ($(\Nom@Ecran.north west)+(0,-\theTiCLineCommand/2)$) {\texttt{\command}};
+ \addtocounter{TiCLineCommand}{2}\fi
+ \ifx\result\empty {\addtocounter{TiCLineCommand}{-1}\addtocounter{TiCLineResult}{1}} \else
+ \node[anchor=north east] at ($(\Nom@Ecran.north east)+(0,-0.5-\theTiCLineResult/2)$) {\texttt{\result}};
+ \addtocounter{TiCLineResult}{2}\fi}
+\end{tikzpicture}
+}
+
+%%-----------------------------
+%------ MENU ------------------
+%%-----------------------------
+
+% Définitions des options
+\define@boolkey{TiCMenu}{select}[false]{}
+\define@key{TiCMenu}{size}{\def\t@ille{#1}}
+\define@key{TiCMenu}{text}{\def\@texte{#1}}
+\define@key{TiCMenu}{colour box}{\def\Couleur@Boite{#1}}
+\define@key{TiCMenu}{color box}{\def\Couleur@Boite{#1}}
+
+% Valeurs par défaut
+\presetkeys{TiCMenu}{select=false,text=\unskip,colour box=white}{size=15pt}
+
+% Définition de la touche \Menu
+\newcommand\TiC@Menu[2][]{
+\setlength{\fboxsep}{0pt} \setlength{\fboxrule}{0.5pt}
+\setkeys{TiCMenu}{#1}
+\ifKV@TiCMenu@select \tikz[font=\ttfamily\bfseries]{\node (texte)
+{\fontsize{\t@ille}{0}\selectfont\colorbox{black}{\color{white}\protect\uppercase{#2}}};\draw
+(texte) node[right=10pt] {\fontsize{\t@ille}{0}\selectfont\@texte};} \else
+\tikz[font=\ttfamily\bfseries]{\node (texte)
+{\fontsize{\t@ille}{0}\selectfont\colorbox{\Couleur@Boite}{\color{black}\protect\uppercase{#2}}};\draw
+(texte) node[right=10pt] {\fontsize{\t@ille}{0}\selectfont\@texte};} \fi }
+
+\newcommand\TiCMenu[2][]{\TiC@Menu[#1]{#2}}