From 51661b622a44e667b7be53c82b5f734ffc948ec7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 17 Feb 2015 23:09:12 +0000 Subject: ticollege (17feb15) git-svn-id: svn://tug.org/texlive/trunk@36306 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/ticollege/IndexHead.ist | 10 + Master/texmf-dist/doc/latex/ticollege/README | 22 + .../doc/latex/ticollege/ticollege-doc.pdf | Bin 0 -> 366516 bytes .../doc/latex/ticollege/ticollege-doc.tex | 676 +++++++++++++++++++++ .../texmf-dist/tex/latex/ticollege/ticollege.sty | 454 ++++++++++++++ 5 files changed, 1162 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/ticollege/IndexHead.ist create mode 100644 Master/texmf-dist/doc/latex/ticollege/README create mode 100644 Master/texmf-dist/doc/latex/ticollege/ticollege-doc.pdf create mode 100644 Master/texmf-dist/doc/latex/ticollege/ticollege-doc.tex create mode 100644 Master/texmf-dist/tex/latex/ticollege/ticollege.sty (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/ticollege/IndexHead.ist b/Master/texmf-dist/doc/latex/ticollege/IndexHead.ist new file mode 100644 index 00000000000..dc83e642d76 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ticollege/IndexHead.ist @@ -0,0 +1,10 @@ +headings_flag 1 +heading_prefix "\n \\item {\\fontfamily{pzc}\\large\\selectfont\\qquad{} " +heading_suffix "}" +symhead_positive "Symboles" +symhead_negative "symboles" +numhead_positive "Nombres" +numhead_negative "nombres" +delim_0 " \\dotfill\\ " +delim_1 " \\dotfill\\ " +delim_2 " \\dotfill\\ " diff --git a/Master/texmf-dist/doc/latex/ticollege/README b/Master/texmf-dist/doc/latex/ticollege/README new file mode 100644 index 00000000000..e96a9f7635c --- /dev/null +++ b/Master/texmf-dist/doc/latex/ticollege/README @@ -0,0 +1,22 @@ +************* Fichier README pour ticollege.sty ********************** + +Objectif +----- +Cette extension utilise TikZ pour dessiner des touches d'une +calculatrice scientifique (non graphique), des item de menus, l'affichage de calcul sur un écran, ainsi qu'une calculatrice en grand ou petit format. + +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. + +Documentation +------------- +La documentation de l'extension se trouve dans le répertoire /doc/. + +Merci d'utiliser ticollege.sty. + +Philippe De Sousa +Evry (91), France +philou.desousa@gmail.com diff --git a/Master/texmf-dist/doc/latex/ticollege/ticollege-doc.pdf b/Master/texmf-dist/doc/latex/ticollege/ticollege-doc.pdf new file mode 100644 index 00000000000..cb7c5466566 Binary files /dev/null and b/Master/texmf-dist/doc/latex/ticollege/ticollege-doc.pdf differ diff --git a/Master/texmf-dist/doc/latex/ticollege/ticollege-doc.tex b/Master/texmf-dist/doc/latex/ticollege/ticollege-doc.tex new file mode 100644 index 00000000000..fb9e74b68c2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ticollege/ticollege-doc.tex @@ -0,0 +1,676 @@ +\documentclass[10pt,french,a4paper]{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{mathpazo} +\usepackage[euler-digits]{eulervm} +\usepackage[dvipsnames,table]{xcolor} +\usepackage{ticollege} +\usepackage[margin=2cm]{geometry} +\usepackage{tabularx,titlesec,wrapfig} +\usepackage{babel} +\usepackage[pdfborder={0 0 0},bookmarksnumbered,pdfpagelabels]{hyperref} +\usepackage{tcolorbox} +\tcbuselibrary{listingsutf8,documentation} +\tcbset{color key=blue,color value=ForestGreen,index colorize=true,doclang/keys=options,doclang/key=option,doclang/values=valeurs,doclang/value=valeur} +\usepackage{makeidx} +\makeindex + +\newcommand*\Speciale{Cette option n'a aucune incidence sur le style \docValue{arrows}.\xspace} +\newcommand*\Couleur[1]{L'option \docAuxKey{color #1} est également disponible.\xspace} + +%%% FORMAT SECTIONS DE mathbook.cls de Stéphane PASQUET + +% couleurs section +\definecolor{section@title@color}{cmyk}{1,0.2,0.3,0.1} +\definecolor{subsection@title@color}{cmyk}{0,0.6,0.9,0} +\definecolor{shadow@color}{cmyk}{.07,0,0,0.49} +% fontes section +\def\sectiontitle@font{\fontfamily{ugq}\selectfont} +\def\subsectiontitle@font{\fontfamily{ugq}\selectfont} +% Décalages numéro de sections / titres des sections +\newlength\decalnumsec +\newlength\decalnumsubsec +\setlength{\decalnumsec}{-0.5em} +\setlength{\decalnumsubsec}{-0.5em} +\newlength\decalxtitlesubsec +\setlength{\decalxtitlesubsec}{\parindent} +% Espace entre le numéro de section et le titre +\newlength\spacetitlesec +\newlength\spacetitlesubsec +\setlength{\spacetitlesec}{0.5em} +\setlength{\spacetitlesubsec}{0.2em} + +%%%%%%%%%%%%% Titre de section + +\renewcommand{\thesection}{\Roman{section}} +\titleformat{\section}[block] +{% + \bfseries\Large + \color{section@title@color} + \sectiontitle@font +} +{ +\raisebox{\decalnumsec} +{% +\begin{tikzpicture} +\node (numsec) {\sectiontitle@font\thesection}; +\fill[rounded corners=2pt,fill=shadow@color] ($(numsec.north west)+(2pt,-2pt)$) -- ($(numsec.north east)+(1mm,0mm)+(2pt,-2pt)$) -- ($(numsec.south east)+(2pt,-2pt)$) -- ($(numsec.south west)+(-1mm,0)+(2pt,-2pt)$) -- cycle; +\fill[rounded corners=2pt,fill=section@title@color] (numsec.north west) -- ($(numsec.north east)+(1mm,0mm)$) -- (numsec.south east) -- ($(numsec.south west)+(-1mm,0)$) -- cycle; +\node[white] at (numsec) {\sectiontitle@font\thesection}; +\end{tikzpicture} +} +} +{\spacetitlesec} +{} + +%%%%%%%%%%%%% Titre de subsection + +\renewcommand{\thesubsection}{\arabic{subsection}} +\titleformat{\subsection}[block] +{% + \hspace*{\decalxtitlesubsec} + \bfseries\large + \color{subsection@title@color} + \subsectiontitle@font +} +{ + \raisebox{\decalnumsubsec} + {% + \begin{tikzpicture} + \node (numsec) {\subsectiontitle@font\thesubsection}; + \fill[rounded corners=2pt,fill=shadow@color] ($(numsec.north west)+(2pt,-2pt)$) -- ($(numsec.north east)+(1mm,0mm)+(2pt,-2pt)$) -- ($(numsec.south east)+(2pt,-2pt)$) -- ($(numsec.south west)+(-1mm,0)+(2pt,-2pt)$) -- cycle; + \fill[rounded corners=2pt,fill=subsection@title@color] (numsec.north west) -- ($(numsec.north east)+(1mm,0mm)$) -- (numsec.south east) -- ($(numsec.south west)+(-1mm,0)$) -- cycle; + \node[white] at (numsec) {\subsectiontitle@font\thesubsection}; + \end{tikzpicture} + } +} +{% + \spacetitlesubsec +} +{% + %\itemclass{subsection@title@color}{\subsection@font} +} + +\begin{document} +\thispagestyle{empty} + +\begin{center} + \begin{tcolorbox}[enhanced,lifted shadow={1mm}{-2mm}{3mm}{0.1mm}{black!50!white},width=0.65\linewidth] + \Huge\bfseries\centering ticollege.sty + \end{tcolorbox}\vspace{\stretch{1}} + + \TiCCalc[title=documentation]\bigskip + + \today, version 1.0\medskip + + Philippe \bsc{De Sousa} (\href{mailto:philou.desousa@gmail.com}{philou.desousa@gmail.com}) +\end{center}\vspace{\stretch{1}} + +\begin{center} + \small\bfseries + Résumé +\end{center} + +\begin{center} + \begin{minipage}{0.9\linewidth} + \small\parindent=15pt + \begin{wrapfigure}{l}{0.9cm} + \TiCCalc* + \end{wrapfigure} + En collège, les enseignants sont souvent amenés à travailler avec les élèves sur une calculatrice scientifique. La technologie d'aujourd'hui nous permet de vidéo-projeter la calculatrice et certains logiciels permettent de manipuler en même temps que les élèves pour leur montrer les différentes fonctionnalités de toutes les touches.\par\smallskip + Mais une fois chez eux, comment se souvenir de ce qui a été fait en classe ?\par\smallskip + J'ai créé ce package en m'appuyant sur un modèle de calculatrice répandu au collège afin de constituer des fiches méthodes que les élèves pourront utiliser à la maison et conserver d'année en année.\par + \textsf{ticollege.sty} s'appuie beaucoup sur mon précédent package \textsf{tipfr.sty} pour les calculatrices graphiques. Il y a donc de nombreuses similitudes dans l'utilisation des deux packages et, pour un souci d'utilisation commune, j'ai été amené à nommer différemment des commandes effectuant le même travail. + \end{minipage} +\end{center}\clearpage + +\tableofcontents +\vspace*{2cm} + +\section{Les touches} + +\subsection{Dessiner une touche} + +\begin{docCommand}{TiC}{\oarg{options}} + Voici la commande qui fournit tous les dessins de touche. L'appel à la commande \cs{TiC} sans aucune option réalise la touche $\sin$ par défaut. +\end{docCommand} + +\begin{dispExample*}{sidebyside, center lower} +\TiC +\end{dispExample*} +\medbreak + +Pour obtenir d'autres types de touches, on utilise alors différentes options auxquelles on spécifie une valeur :\medbreak + +\begin{docKey}{style}{=\meta{text}}{valeur par défaut : \docValue{general}} +Crée un dessin de touche selon le style précisé. Les différentes valeurs sont : +\end{docKey} +\begin{description} + \item[\docValue{general}] dessine une touche aux bords arrondis pour les touches de fonctions ; + \item[\docValue{number}] dessine une touche de forme différentes pour indiquer les chiffres ; + \item[\docValue{arrows}] dessine la touche qui représente les quatres flèches de la calculatrice. +\end{description} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[style=general] +\TiC[style=number] +\TiC[style=arrows] +\end{dispExample*} +\medbreak + +Le style \docValue{number} admet des variantes avec un bord arrondi. + +\begin{docKey}{rounded}{=\meta{text}}{valeur par défaut : \docValue{none}} +Arrondis une touche sur le côté gauche ou droit. Cette option n'a d'incidence que sur le style \docValue{number}. +\end{docKey} +\begin{description} + \item[\docValue{none}] la touche est rectangulaire ; + \item[\docValue{left}] touche arrondie à gauche ; + \item[\docValue{right}] touche arrondie à droite. +\end{description} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[style=number, rounded=left, principal=1] +\TiC[style=number, rounded=none, principal=2] +\TiC[style=number, rounded=right, principal=3] +\end{dispExample*} +\medbreak + +Hormis pour les touches flèches, on constate que la valeur principale par défaut est $\sin$. L'exemple précédent nous montre qu'il est possible de modifier ce texte. De plus, sa position et sa taille sont également modifiable.\medbreak + +\begin{docKey}{principal}{=\meta{text}}{valeur par défaut : \docValue{sin}} +Précise le \meta{text} à mettre à l'intérieur d'une touche. \Speciale +\end{docKey} + +La commande \cs{Aff} a été créée pour dessiner le symbole suivant : \raisebox{-0.5em}{\Aff} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[principal=stats] +\TiC[style=number, principal=2] +\TiC[principal=\Aff] +\end{dispExample*} +\medbreak + +\begin{docKey}{position}{=\meta{nombre}}{valeur par défaut : \docValue{0.9}} +Permet d'ajuster la position du texte principal à l'intérieur de la touche. \Speciale +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[principal=op] +\TiC[principal=op, position = 0.5] +\TiC[principal=op, position = 1.1] +\end{dispExample*} +\medbreak + +\begin{docKey}{fontsize}{=\meta{dim}}{valeur par défaut : \docValue{6pt}} + L'option \docAuxKey{fontsize} permet de modifier ponctuellement la taille de la fonte utilisée dans la touche. \Speciale +\end{docKey} +\begin{dispExample*}{sidebyside, center lower} +\TiC[principal={$\triangleright$ simp}] +\TiC[principal={$\triangleright$ simp}, fontsize=5pt, position=1] +\qquad +\TiC[style=number, principal=2] +\TiC[style=number, principal=2,fontsize=9pt] +\end{dispExample*} +\medbreak + +\begin{docKey}{raise}{=\meta{dim}}{valeur par défaut : \docValue{0ex}} +Permet d'ajuster la hauteur de la touche par rapport à la ligne de base. Les valeurs négatives sont autorisées. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[style=arrows] +\TiC[style=general] +\TiC[style=arrows, raise=-0.25cm] +\end{dispExample*} +\medbreak + +Les touches ne sont pas uniquement composées de leur texte principal. Parfois, elles possèdent une fonction exécutée appelée à l'aide de la touche +\TiC[principal=2nde, colour text=black, colour key=TIJaune, raise=-1ex]. + +\begin{docKey}{second}{=\meta{text}}{\sffamily fonction inactive par défaut} + \'Ecrit en couleur un texte secondaire centré au dessus de la touche. \Speciale +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[principal=suppr, second=insérer, position=1] +\end{dispExample*} +\medbreak + +Les commandes \cs{TiRacine}, \cs{ContrastDown}, \cs{ContrastUp} et \cs{Div} ont été créées pour dessiner différents symboles existant sur la calculatrice : + +\begin{dispExample*}{sidebyside, center lower} +\TiC[principal={\large :}, second=\Div] +\TiC[principal=$x^n$, second={\TiRacine[n]}] +\TiC[principal=$x^2$, second={\TiRacine}] +\TiC[principal=$-$, second=\ContrastDown] +\TiC[principal=$+$, second=\ContrastUp] +\end{dispExample*} +\medbreak + +Pour finir sur le dessin d'une touche, on peut spécifier la couleur du texte principal et celle du texte secondaire ainsi que la couleur de la touche. Les couleurs \docValue{TIJaune}, \docValue{TIRouge} et \docValue{TIOrange} ont été créées à cette occasion.\medbreak + +\begin{docKey}{colour text}{=\meta{colour}}{valeur par défaut : \docValue{white}} + Modifie la couleur du texte principal de la touche. \Couleur{text} \Speciale +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[principal=\textit{cos}, position=1, second=\textit{arccos}] +\TiC[principal=\textit{cos}, position=1, second=\textit{arccos}, colour text=black] +\end{dispExample*} +\medbreak + +\begin{docKey}{colour second}{=\meta{colour}}{valeur par défaut : \docValue{TIOrange}} + Modifie la couleur du texte secondaire de la touche. \Couleur{second} \Speciale +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[principal=\textit{cos}, position=1, second=\textit{arccos}] +\TiC[principal=\textit{cos}, position=1, second=\textit{arccos}, colour second=black] +\end{dispExample*} +\medbreak + +\begin{docKey}{colour key}{=\meta{colour}}{valeur par défaut : \docValue{TIRouge}} + Modifie la couleur de la touche. \Couleur{key} +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[style=arrows, colour key=TIOrange] +\TiC[principal=2nde, colour key=TIJaune, colour text=black] +\TiC[style=number, principal=2, fontsize=9pt, colour key=white, colour text=black] +\end{dispExample*} +\medbreak + +\subsection{Entourer une touche} + +\begin{docKey}{circle}{=\docValue*{true|false}}{valeur par défaut : \docValue{false}} + Permet d'entourer la touche à l'aide d'un cercle dont on peut alors préciser le rayon, l'épaisseur et la couleur. +\end{docKey} + +\begin{docKey}{radius}{=\meta{dim}}{valeur par défaut : \docValue{20pt}} + On spécifie ici le rayon du cercle qui ne sera pris en compte que si \docAuxKey{circle}=\docValue{true}. +\end{docKey} + +\begin{docKey}{colour circle}{=\meta{colour}}{valeur par défaut : \docValue{red}} + On spécifie ici la couleur du cercle qui ne sera prise en compte que si \docAuxKey{circle}=\docValue{true}. \Couleur{circle} +\end{docKey} + +\begin{docKey}{thickness}{=\meta{dim}}{valeur par défaut : \docValue{1pt}} + On spécifie ici l'épaisseur du cercle qui ne sera prise en compte que si \docAuxKey{circle}=\docValue{true}. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[principal=$x^2$, second={\TiRacine}, circle=true, thickness=0.5pt] +\TiC[style=arrows, colour key=TIOrange, circle=true, radius=25pt, colour circle=blue] +\end{dispExample*} +\medbreak + +Chaque petite flèche du style \docValue{arrows} peut-être entouré individuellement. La couleur et l'épaisseur du cercle sont modifiables mais cette fois, le rayon du cercle est fixé. + +\begin{docKey}{circleup}{=\docValue*{true|false}}{valeur par défaut : \docValue{false}} +Entoure la petite flèche du haut. +\end{docKey} + +\begin{docKey}{circledown}{=\docValue*{true|false}}{valeur par défaut : \docValue{false}} +Entoure la petite flèche du bas. +\end{docKey} + +\begin{docKey}{circleleft}{=\docValue*{true|false}}{valeur par défaut : \docValue{false}} +Entoure la petite flèche de gauche. +\end{docKey} + +\begin{docKey}{circleright}{=\docValue*{true|false}}{valeur par défaut : \docValue{false}} +Entoure la petite flèche de droite. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiC[style=arrows, colour key=TIOrange, circleup=true] +\TiC[style=arrows, colour key=TIOrange, circledown=true, colour circle=blue] +\TiC[style=arrows, colour key=TIOrange, circleleft=true, circleright=true, colour circle=purple] +\end{dispExample*} +\medbreak + +\subsection{Nommer une touche}\label{subsec:NomTouche} + +\begin{docKey}{name}{=\meta{text}}{valeur par défaut : \docValue{NOM}} + La touche sera référencée à l'aide d'un n{\oe}ud nommé \meta{text}. +\end{docKey} + +\begin{dispExample} +Pour éteindre la calculatrice, on utilise la séquence suivante : +\begin{center} + \TiC[principal=2nde, colour text=black, colour key=TIJaune] + \TiC[principal=on, second=off, name=ON] +\end{center} +\begin{tikzpicture}[overlay, remember picture, >=latex'] + \draw[red, line width=1pt] ($(ON)+(0,0.4)$) circle (7pt); + \draw[blue, line width=0.5pt, <-, rounded corners=10pt] + ($(ON)+(0.4,0.4)$) -- ++(1,0) + node[right] {\textsf{off} permet d'éteindre la calculatrice}; +\end{tikzpicture} +\end{dispExample} + +Les touches sont définies au sein d'un environnement \texttt{tikzpicture}. Afin de pouvoir s'y référer à l'intérieur d'un autre environnement de ce type, il faudra penser à utiliser les options \texttt{overlay} et \texttt{remember picture}. De plus, au minimum deux compilations seront nécessaires. + + + +\section{Créer des menus} + +En plus des différentes touches de la calculatrice, on pourra parler aux élèves des menus affichés par la calculatrice + +\begin{docCommand}{TiCMenu}{\oarg{options}\marg{nom}} + Cette commande écrit \meta{nom} en majuscule dans une fonte à chasse fixe de type {\ttfamily machine à écrire} pour nommer un menu de calculatrice. Ce nom est enfermé dans une boîte à fond blanc exactement à sa taille. +\end{docCommand} + +\begin{dispExample*}{sidebyside, center lower} +\TiCMenu{Math} \TiCMenu{num} \TiCMenu{rnd} \TiCMenu{pol} +\end{dispExample*} +\medbreak + +La taille peut être modifiée à l'aide de l'option suivante + +\begin{docKey}{size}{=\meta{dim}}{valeur par défaut : \docValue{15pt}} + Si l'unité de mesure n'est pas spécifié dans \meta{dim}, alors le \texttt{pt} sera utilisé par défaut. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiCMenu[size=1cm]{Math} +\TiCMenu{num} +\TiCMenu[size=8]{rnd} +\TiCMenu[size=8pt]{pol} +\end{dispExample*} +\medbreak + +\begin{docKey}{select}{\docValue*{=true|false}}{valeur par défaut : \docValue{false}} + Permet d'écrire le nom du menu en blanc sur fond noir pour signifier qu'il est sélectionné. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiCMenu{Math} \TiCMenu{num} +\TiCMenu[select=true]{rnd} +\TiCMenu{pol} +\end{dispExample*} +\medbreak + +\begin{docKey}{colour box}{=\meta{colour}}{valeur par défaut : \docValue{white}} + Détermine la couleur la boîte contenant le texte du menu lorsque celui-ci \textit{n'est pas} sélectionné. \Couleur{box} +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiCMenu{Math} \TiCMenu{num} +\TiCMenu[select=true]{rnd} +\TiCMenu[colour box=red]{pol} +\end{dispExample*} +\medbreak + +\begin{docKey}{text}{=\meta{text}}{valeur par défaut : \docValue{\symbol{92}unskip}} + Cette dernière option permet de spécifier si un texte doit être écrit à côté du nom du menu. Pratique pour les menus sous forme de listes verticales. Le \meta{text} est sensible à l'option \docAuxKey{size}. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiCMenu[size=10pt, text={PGCD(}]{1 :}\par +\TiCMenu[size=10pt, select=true, text=PPCM(]{2 :}\par +\TiCMenu[size=10pt, text={abs(}]{3 :} +\end{dispExample*} + +Voilà par exemple les quatres menus disponibles avec la touche \TiC[principal={maths},second={système}, raise=-1ex] : +\begin{center}\renewcommand\tabcolsep{-7pt} + \begin{tabular}{*{4}{llll|}} + \TiCMenu[size=10,select=true]{Maths} & \TiCMenu[size=10]{num} & \TiCMenu[size=10]{rnd} & \TiCMenu[size=10]{pol} & + \TiCMenu[size=10]{Maths} & \TiCMenu[size=10,select=true]{num} & \TiCMenu[size=10]{rnd} & \TiCMenu[size=10]{pol} & + \TiCMenu[size=10]{Maths} & \TiCMenu[size=10]{num} & \TiCMenu[size=10,select=true]{rnd} & \TiCMenu[size=10]{pol} & + \TiCMenu[size=10]{Maths} & \TiCMenu[size=10]{num} & \TiCMenu[size=10]{rnd} & \TiCMenu[size=10,select=true]{pol} \\[-8pt] +% + \multicolumn{4}{l|}{\TiCMenu[select=true, size=9, text=PGCD(]{1 :}} & + \multicolumn{4}{l|}{\TiCMenu[select=true, size=9, text=arrondi(]{1 :}} & + \multicolumn{4}{l|}{\TiCMenu[select=true, size=9, text=rand]{1 :}} & + \multicolumn{4}{l|}{\TiCMenu[select=true, size=9, text={R$\blacktriangleright$P$r$}]{1 :}} \\[-8pt] +% + \multicolumn{4}{l|}{\TiCMenu[size=9, text=PPCM(]{2 :}} & + \multicolumn{4}{l|}{\TiCMenu[size=9, text=reste(]{2 :}} & + \multicolumn{4}{l|}{\TiCMenu[size=9, text=randn(]{2 :}} & + \multicolumn{4}{l|}{\TiCMenu[size=9, text={R$\blacktriangleright$P$\theta$}]{2 :}} \\[-8pt] +% + \multicolumn{4}{l|}{\TiCMenu[size=9, text=abs(]{3 :}} & + \multicolumn{4}{l|}{\TiCMenu[size=9, text=partEnt(]{3 :}} & + \multicolumn{4}{l|}{} & + \multicolumn{4}{l|}{\TiCMenu[size=9, text={P$\blacktriangleright$R$x$}]{3 :}} +% + \end{tabular} +\end{center} + + +\section{Afficher un écran} +\subsection{Généralités} + +\begin{docCommand}{TiCScreen}{\oarg{options}\marg{expression/résultat}} + Cette commande permet d'afficher un écran de calculatrice. +\end{docCommand} + +\begin{dispExample*}{center lower} +\TiCScreen{} +\end{dispExample*} + +On peut modifier l'aspect général à l'aide des options suivantes : + +\begin{docKey}{colour screen}{=\meta{colour}}{valeur par défaut : \docValue{ForestGreen}\docValue*{!15}} + Détermine la couleur de fond de l'écran. \Couleur{screen} +\end{docKey} + +\begin{docKey}{screenname}{=\meta{text}}{valeur par défaut : \docValue{ecran}} + Donne un nom à l'écran afin de pouvoir s'y référencer plus tard avec des environnements \texttt{tikzpicture}. Les mêmes précautions que pour les touches doivent être prises (voir sous-section \ref{subsec:NomTouche} page \pageref{subsec:NomTouche}). +\end{docKey} + +\begin{docKey}{width}{=\meta{number}}{valeur par défaut : \docValue{4}} +Permet de fixer la longueur de l'écran. L'unité de mesure est le \texttt{cm}. +\end{docKey} + +\begin{docKey}{height}{=\meta{number}}{valeur par défaut : \docValue{1}} +Permet de fixer la largeur de l'écran. L'unité de mesure est le \texttt{cm}. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiCScreen[width=3, screenname=first]{} +\TiCScreen[width=3, colour screen=blue!50, screenname=second]{} +\tikz[remember picture, overlay]{\draw (first.center) circle (5pt);} +\tikz[remember picture, overlay]{\draw (second.north west) -- (second.south east);} +\end{dispExample*} + +\subsection{\'Ecran de calculs} + +Revenons sur l'argument obligatoire de la commande \cs{TiCScreen}. Cet argument est une liste de couples \meta{expression/résultat} séparés par une virgule.\par +On peut ne rien écrire à la place de \meta{expression} ou \meta{résultat} mais, dans ce cas, il ne faut pas mettre d'espace non plus. Les deux peuvent être laissés vides mais alors rien ne se passe (pas de création de ligne vide).\par +On pensera à utiliser des accolades si l'expression ou le résultat utilise les symboles \texttt{,} ou \texttt{/}.\medbreak + +\begin{dispExample*}{sidebyside, center lower} +\TiCScreen[colour screen=blue!10, height=2, width=6]% +{% +3+2/5, +/, +1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16% +$\blacktriangleright$/5050} +\end{dispExample*} +\medbreak + +\begin{dispExample*}{sidebyside, center lower} +\TiCScreen[colour screen=blue!10, height=2, width=6]% +{% +$\frac 35$/{0,6}, +{0,6 $\blacktriangleright$\unskip f\unskip$\triangleleft \triangleright$ \unskip d}/{$\downarrow\frac{6}{10}$} +} +\end{dispExample*} +\medbreak + +\begin{dispExample*}{sidebyside, center lower} +\TiCScreen[colour screen=blue!10]% +{% +{$\frac{6}{10}$ $\blacktriangleright$\unskip simp}/ +{\raisebox{0.5ex}{\scriptsize Fac=2} $\frac{3}{5}$} +} +\end{dispExample*} +\medbreak + +\begin{dispExample*}{center lower} +\TiCScreen[width=6,height=3]{ +{\renewcommand\tabcolsep{-7pt} + \begin{tabular}{llll} + \TiCMenu[size=10,select=true]{Maths} & \TiCMenu[colour box={ForestGreen!15}, size=10]{num} & \TiCMenu[colour box={ForestGreen!15}, size=10]{rnd} & \TiCMenu[colour box={ForestGreen!15}, size=10]{pol} \\[-8pt] + \multicolumn{4}{l}{\TiCMenu[select=true, size=9, text=PGCD(]{1 :}} \\[-8pt] + \multicolumn{4}{l}{\TiCMenu[colour box={ForestGreen!15}, size=9, text=PPCM(]{2 :}} \\[-8pt] + \multicolumn{4}{l}{\TiCMenu[colour box={ForestGreen!15}, size=9, text=abs(]{3 :}} + \end{tabular} +}/{} +} +\end{dispExample*} + +\section{La calculatrice} +\subsection{Version grand format} + +\begin{docCommand}{TiCCalc}{\oarg{options}} + Cette commande permet d'afficher la calculatrice en entier. Chaque touche a été nommée individuellement pour pouvoir s'y référer. Le tableau suivant donne le nom de chaque touche. +\end{docCommand} + +\noindent% +\begin{tabularx}{\linewidth}{>{\bfseries}c *{8}{>{\centering\arraybackslash} X}} + \hline + Touche & \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] & + \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]\\ +\hline + Nom & scd & mode & supp & nd & stats & fx & simp & pdix\\ +\hline\hline + Touche & \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] \\ +\hline + Nom & op & math & annul & pi & sin & cos & tan & div \\ +\hline\hline + Touche & \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] \\ +\hline + Nom & pow & pcent & PO & PF & times & sqr & T7 & T8 \\ +\hline\hline + Touche & \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] \\ +\hline + Nom & T9 & sub & var & T4 & T5 & T6 & plus & sto \\ +\hline\hline + Touche & \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] \\ +\hline + Nom & T1 & T2 & T3 & aff & on & T0 & virgule & minus \\ +\hline\hline + Touche & \TiC[principal=entrer, colour key=TIOrange, fontsize=5pt, name=entrer] & \textbf{Nom} & entrer & + \textbf{Touche} & \multicolumn{2}{c}{\TiC[style=arrows, colour key=TIOrange, name=arrows, raise=-0.3cm]} & \textbf{Nom} & arrows +\end{tabularx}\label{tableau} + +\begin{docKey}{title}{=\meta{text}}{valeur par défaut : \docValue{TI-Collège}} + Permet de spécifier un titre au-dessus de l'écran de la calculatrice. +\end{docKey} + +\begin{docKey}{colour calc}{=\meta{colour}}{valeur par défaut : \docValue{TIOrange}\docValue*{!50}} + Détermine la couleur de la calculatrice. \Couleur{calc} +\end{docKey} + +\begin{dispListing} +\TiCCalc[title=Structure, colour calc=brown!20] +\begin{tikzpicture}[overlay, remember picture] + \draw[blue, line width=1pt,rounded corners = 5pt] + ($(T0) + (-0.6,-0.3)$) -| + ($(T9) + (0.5,0.4)$) -| cycle; + \node[blue] at ($(virgule)+(0,-0.65)$) {\textbf Touches numériques}; +\end{tikzpicture} +\end{dispListing} + +\begin{center} +\TiCCalc[title=Structure, colour calc=brown!20] +\begin{tikzpicture}[overlay, remember picture] + \draw[blue, line width=1pt,rounded corners = 5pt] + ($(T0) + (-0.6,-0.3)$) -| + ($(T9) + (0.5,0.4)$) -| cycle; + \node[blue] at ($(virgule)+(0,-0.65)$) {\textbf Touches numériques}; +\end{tikzpicture} +\end{center} + +\subsection{Version petit format} + +\begin{docCommand}{TiCCalc*}{\oarg{options}} + Cette commande permet d'afficher une calculatrice en petit format à utiliser dans des fiches méthodes par exemple. +\end{docCommand} + +\begin{dispExample*}{sidebyside, center lower} +\TiCCalc* +\end{dispExample*} + +L'aspect de la calculatrice est modifiable. + +\begin{docKey}{calcscale}{=\meta{number}}{valeur par défaut : \docValue{0.5}} +Permet de modifier la taille de la calculatrice. Plus la calculatrice est petite, moins les dessins de touches seront précis. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiCCalc*[calcscale=1] +\TiCCalc*[calcscale=0.25] +\end{dispExample*} + +\begin{docKey}{calcrotate}{=\meta{number}}{valeur par défaut : \docValue{-30}} +Permet de changer l'angle d'affichage de la calculatrice. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiCCalc*[calcrotate=0] \textbf{Méthode} +\qquad +\TiCCalc*[calcrotate=90] \textbf{Méthode} +\par\bigskip +\TiCCalc*[calcrotate=-30] +\hspace{-1em}\textbf{Méthode} +\qquad +\rotatebox{90}{\textbf{Méthode}} +\TiCCalc*[calcrotate=0] +\end{dispExample*} + +\begin{docKey}{calcraise}{=\meta{dim}}{valeur par défaut : \docValue{-2ex}} +Permet de modifier la hauteur de la calculatrice en fonction de la ligne de base. +\end{docKey} + +\begin{dispExample*}{sidebyside, center lower} +\TiCCalc*[calcrotate=0, calcraise=0ex] \textbf{Méthode} +\qquad +\rotatebox{90}{\textbf{Méthode}} +\TiCCalc*[calcrotate=0, calcraise=1ex] +\end{dispExample*} + + +\clearpage + +\printindex +\end{document} \ No newline at end of file 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}} -- cgit v1.2.3