summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex')
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex335
1 files changed, 332 insertions, 3 deletions
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
index 0132bc7c69..f63e0c8ba5 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
@@ -34,8 +34,8 @@
\setlength{\parindent}{0pt}
\definecolor{LightGray}{gray}{0.9}
-\def\PLversion{1.1.1}
-\def\PLdate{28 Avril 2022}
+\def\PLversion{1.1.3}
+\def\PLdate{2 Mai 2022}
\tcbset{vignettes/.style={%
nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
@@ -184,6 +184,12 @@ Un cartouche (\textsf{tcbox}) pour présenter des codes de partage \textsf{capyt
Une commande pour tracer un pavé en droit, en \TikZ, avec création des nœuds liés aux sommets.
+Une commande pour simplifier des calculs sous forme fractionnaire.
+
+Une commande pour simplifier l'écriture d'un ensemble, avec espaces \og automatiques \fg.
+
+Une commande pour créer, en \TikZ, la \textit{toile} pour une suite récurrente.
+
\vfill
\hrule
@@ -1477,7 +1483,7 @@ L'idée est d'obtenir un tétraèdre, dans un environnement \TikZ, avec les nœu
\begin{codetex}[listing only]
...
\begin{tikzpicture}[<options>]
- \tetraCF[<options>]
+ \tetraPL[<options>]
...
\end{tikzpicture}
\end{codetex}
@@ -1582,8 +1588,331 @@ Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les diffÃ
\newpage
+\section{Fractions, ensembles}
+
+\subsection{Fractions}
+
+\begin{codeidee}
+L'idée est d'obtenir une commande pour simplifier un calcul sous forme de fraction irréductible.
+\end{codeidee}
+
+\begin{codetex}[listing only]
+\convertfraction[<option>]{<argument>}
+\end{codetex}
+
+\begin{codecles}
+Peu d'options pour ces commandes :
+
+\begin{itemize}
+ \item le premier argument, optionnel, permet de spécifier le mode de sortie de la fraction \textsf{[t]} pour \textsf{tfrac} et \textsf{[d]} pour \textsf{dfrac} ;
+ \item le second, mandataire, est le \textsf{calcul} ou la \textsf{division} à convertir.
+\end{itemize}
+
+À noter que la macro est dans un bloc \textsf{ensuremath} donc les \textsf{\$\ldots\$} ne sont pas nécessaires.
+\end{codecles}
+
+\begin{codetex}[listing only]
+\convertfraction{111/2145}
+\convertfraction{111/3}
+$\frac{111}{2145}=\convertfraction{111/2145}$
+$\frac{3}{15}=\convertfraction[]{3/15}$
+$\tfrac{3}{15}=\convertfraction[t]{3/15}$ #formatage en \tfrac
+$\dfrac{3}{15}=\convertfraction[d]{3/15}$ #formatage en \dfrac
+$\dfrac{0,42}{0,015}=\convertfraction[d]{0.42/0.015}$
+$\dfrac{0,41}{0,015}=\convertfraction[d]{0.41/0.015}$
+$\dfrac{1}{7}+\dfrac{3}{8}=\convertfraction[d]{1/7+3/8}$
+$\convertfraction[d]{1+1/2}$
+$\convertfraction{0.1/0.7+30/80}$
+\end{codetex}
+
+\begin{codesortie}
+\convertfraction{111/2145}
+
+\smallskip
+
+\convertfraction{111/3}
+
+\smallskip
+
+$\frac{111}{2145}=\convertfraction{111/2145}$
+
+\smallskip
+
+$\frac{3}{15}=\convertfraction[]{3/15}$
+
+\smallskip
+
+$\tfrac{3}{15}=\convertfraction[t]{3/15}$
+
+\smallskip
+
+$\dfrac{3}{15}=\convertfraction[d]{3/15}$
+
+\smallskip
+
+$\dfrac{0,42}{0,015}=\convertfraction[d]{0.42/0.015}$
+
+\smallskip
+
+$\dfrac{0,41}{0,015}=\convertfraction[d]{0.41/0.015}$
+
+\smallskip
+
+$\dfrac{1}{7}+\dfrac{3}{8}=\convertfraction[d]{1/7+3/8}$
+
+\smallskip
+
+$\convertfraction[d]{1+1/2}$
+
+\smallskip
+
+$\convertfraction{0.1/0.7+30/80}$
+\end{codesortie}
+
+\begin{codeinfo}
+A priori le package \ctex{xint} permet de s'en sortir pour des calculs \og simples \fg, je ne garantis pas que tout calcul ou toute division donne un résultat \textit{satisfaisant} !
+\end{codeinfo}
+
+\pagebreak
+
+\subsection{Ensembles}
+
+\begin{codeidee}
+L'idée est d'obtenir une commande pour simplifier l'écriture d'un ensemble d'éléments, en laissant gérer les espaces.
+
+Les délimiteurs de l'ensemble créé sont toujours \textsf{\{~~\}}.
+\end{codeidee}
+
+\begin{codetex}[listing only]
+\ensPL[<clés>]{<liste>}
+\end{codetex}
+
+\begin{codecles}
+Peu d'options pour ces commandes :
+
+\begin{itemize}
+ \item le premier argument, optionnel, permet de spécifier les \Cle{Clés} :
+ \begin{itemize}
+ \item clé \Cle{sep} qui correspond au délimiteur des éléments de l'ensemble ; \hfill{}défaut \Cle{;}
+ \item clé \Cle{option} qui est un code (par exemple \textsf{strut}\dots) inséré avant les éléments ;\hfill{}défaut \Cle{vide}
+ \item un booléen \Cle{mathpunct} qui permet de préciser si on utilise l'espacement mathématique \textsf{mathpunct};\hfill{}défaut \Cle{true}
+ \end{itemize}
+ \item le second, mandataire, est la \textsf{liste} des éléments, séparés par \textsf{/}.
+\end{itemize}
+\end{codecles}
+
+\begin{codetex}[listing only]
+$\ensPL{a/b/c/d/e}$
+$\ensPL[mathpunct=false]{a/b/c/d/e}$
+$\ensPL[sep={,}]{a/b/c/d/e}$
+$\ensPL[option={\strut}]{a/b/c/d/e}$
+$\ensPL{ \frac{1}{1+\frac{1}{3}} / b / c / d / \frac{1}{2} }$
+\end{codetex}
+
+\begin{codesortie}
+$\ensPL{a/b/c/d/e}$
+
+\smallskip
+
+$\ensPL[mathpunct=false]{a/b/c/d/e}$
+
+\smallskip
+
+$\ensPL[sep={,}]{a/b/c/d/e}$
+
+\smallskip
+
+$\ensPL[option={\strut}]{a/b/c/d/e}$
+
+\smallskip
+
+$\ensPL{ \displaystyle\frac{1}{1+\frac{1}{3}} / b / c / d / \displaystyle\frac{1}{2} }$
+\end{codesortie}
+
+\begin{codeinfo}
+Attention cependant au comportement de la commande avec des éléments en mode \textsf{mathématique}, ceux-ci peuvent générer une erreur si \textsf{displaystyle} n'est pas utilisé\ldots
+\end{codeinfo}
+
+\newpage
+
+\section{Suites récurrentes et \og toile \fg}
+
+\subsection{Idée}
+
+\begin{codeidee}
+L'idée est d'obtenir une commande pour tracer (en \TikZ) la \og toile \fg{} permettant d'obtenir -- graphiquement -- les termes d'une suite récurrente définie par une relation $u_{n+1}=f(u_n)$.
+
+\smallskip
+
+Comme pour les autres commandes \TikZ, l'idée est de laisser l'utilisateur définir et créer son environnement \TikZ, et d'insérer la commande \ctex{recurrPL} pour afficher la \og toile \fg.
+\end{codeidee}
+
+\subsection{Commandes}
+
+\begin{codetex}[listing only]
+...
+\begin{tikzpicture}[<options>]
+ ...
+ \recurrPL[<clés>][<options du tracé>][<option supplémentaire des termes>]
+ ...
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codecles}
+Plusieurs \Cle{arguments} (optionnels) sont disponibles :
+
+\begin{itemize}
+ \item le premier argument optionnel définit les \Cle{Clés} de la commande :
+ \begin{itemize}
+ \item la clé \Cle{fct} qui définit la fonction $f$ ;\hfill{}défaut \Cle{vide}
+ \item la clé \Cle{nom} qui est le \textit{nom} de la suite ;\hfill{}défaut \Cle{u}
+ \item la clé \Cle{no} qui est l'indice initial ;\hfill{}défaut \Cle{0}
+ \item la clé \Cle{uno} qui est la valeur du terme initial ;\hfill{}défaut \Cle{vide}
+ \item la clé \Cle{nb} qui est le nombre de termes à construire ;\hfill{}défaut \Cle{5}
+ \item la clé \Cle{poslabel} qui correspond au placement des labels par rapport à l'axe des abscisses ;\hfill{}défaut \Cle{below}
+ \item la clé \Cle{decallabel} qui correspond au décalage des labels par rapport aux abscisses ;\hfill{}défaut \Cle{6pt}
+ \item la clé \Cle{taillelabel} qui correspond à la taille des labels ;\hfill{}défaut \Cle{small}
+ \item un booléen \Cle{afftermes} qui permet d'afficher les termes de la suite sur l'axe $(Ox)$.\hfill{}défaut \Cle{true}
+ \end{itemize}
+ \item le deuxième argument optionnel concerne les \Cle{options} du tracé de l'\textit{escalier} en \textit{langage \TikZ} ;
+
+ \hfill{}défaut \Cle{thick,color=magenta} ;
+ \item le troisième argument optionnel concerne les \Cle{options} du tracé des termes en \textit{langage \TikZ}.
+
+ \hfill{}défaut \Cle{dotted}.
+\end{itemize}
+\end{codecles}
+
+\begin{codeinfo}
+Il est à noter que le \textsf{code} n'est pas autonome, et doit être intégré dans un environnement \ctex{tikzpicture}.
+
+\smallskip
+
+L'utilisateur est donc libre de définir ses styles pour l'affichage des éléments de son graphique, et il est libre également de rajouter des éléments en plus du tracé de la \textit{toile} !
+
+\smallskip
+
+La macro ne permet -- pour le moment -- ni de tracer la bissectrice, ni de tracer la courbe$\ldots$
+
+En effet, il y aurait trop d'options pour ces deux éléments, et l'idée est quand même de conserver une commande \textit{simple} ! Donc l'utilisateur se chargera de tracer et de personnaliser sa courbe et sa bissectrice !
+\end{codeinfo}
+
+\subsection{Exemples}
+
+\begin{codeinfo}
+On va tracer la \textit{toile} des 4 premiers termes de la suite récurrente $\begin{dcases} u_1 = 1 \\ u_{n+1} = \sqrt{5u_n}+1 \text{ pour tout entier } n \geqslant 1\end{dcases}$.
+\end{codeinfo}
+
+\begin{codetex}[tikz lower]
+%code tikz
+\def\x{1.5cm}\def\y{1.5cm}
+\def\xmin{0}\def\xmax{10}\def\xgrille{1}\def\xgrilles{0.5}
+\def\ymin{0}\def\ymax{8}\def\ygrille{1}\def\ygrilles{0.5}
+%axes et grilles
+\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
+\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax);
+\draw[line width=1.5pt,->,darkgray] (\xmin,0)--(\xmax,0) ;
+\draw[line width=1.5pt,->,darkgray] (0,\ymin)--(0,\ymax) ;
+\foreach \x in {0,1,...,9} {\draw[darkgray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;}
+\foreach \y in {0,1,...,7} {\draw[darkgray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;}
+%fonction définie et réutilisable
+\def\f{sqrt(5*\x)+1}
+%toile
+\recurrPL[fct={\f},no=1,uno=1,nb=4,decallabel=4pt]
+%éléments supplémentaires
+\draw[very thick,blue,domain=0:8,samples=250] plot (\x,{\f}) ;
+\draw[very thick,ForestGreen,domain=0:8,samples=2] plot (\x,\x) ;
+\end{codetex}
+
+\begin{codeinfo}
+Peut-être que -- ultérieurement -- des options \textit{booléennes} seront disponibles pour un tracé \textit{générique} de la courbe et de la bissectrice, mais pour le moment la \textsf{macro} ne fait \textit{que} l'escalier.
+\end{codeinfo}
+
+\subsection{Influence des paramètres}
+
+\begin{codetex}[listing only]
+\begin{center}
+ \begin{tikzpicture}[x=4cm,y=3cm]
+ %axes + grilles + graduations
+ ...
+ %fonction
+ \def\f{-0.25*\x*\x+\x}
+ %tracés
+ \begin{scope}
+ \clip (0,0) rectangle (2.5,1.25) ;
+ \draw[line width=1.25pt,blue,domain=0:2.5,samples=200] plot (\x,{\f}) ;
+ \end{scope}
+ \recurrPL[fct={\f},no=0,uno=2,nb=5,poslabel=above right,decallabel=0pt]
+\end{tikzpicture}
+\end{center}
+\end{codetex}
+
+\medskip
+
+\begin{codesortie}
+\begin{center}
+ \begin{tikzpicture}[x=4cm,y=3cm]
+ \draw[xstep=0.25,ystep=0.25,line width=0.3pt,lightgray!50] (0,0) grid (2.5,1.25);
+ \draw[thick,->] (0,0)--(2.5,0) ;
+ \draw[thick,->] (0,0)--(0,1.25) ;
+ \foreach \x in {0,1,2}
+ \draw[line width=1.25pt] (\x,4pt) -- (\x,-4pt) node[below] {\num{\x}} ;
+ \foreach \y in {0,0.5,1.0}
+ \draw[line width=1.25pt] (4pt,\y) -- (-4pt,\y) node[left] {\num{\y}} ;
+ \draw[line width=1.25pt,red](0,0) -- (1.25,1.25) ;
+ %fonction
+ \def\f{-0.25*\x*\x+\x}
+ %tracés
+ \begin{scope}
+ \clip (0,0) rectangle (2.5,1.25) ;
+ \draw[line width=1.25pt,blue,domain=0:2.5,samples=200] plot (\x,{\f}) ;
+ \end{scope}
+ \recurrPL[fct={\f},no=0,uno=2,nb=5,poslabel=above right,decallabel=0pt]
+\end{tikzpicture}
+\end{center}
+\end{codesortie}
+
+\begin{codetex}[listing only]
+\begin{center}
+ \begin{tikzpicture}[x=5cm,y=1.5cm]
+ ...
+ \def\f{-0.25*\x*\x+\x}
+ \recurrPL%
+ [fct={\f},no=0,uno=1,nb=7,poslabel=above right,decallabel=0pt,afftermes=false]%
+ [line width=1.25pt,ForestGreen,densely dashed][]
+ \draw[line width=1.25pt,blue,domain=0:2.25,samples=2] plot(\x,{\x});
+ \draw[line width=1.25pt,red,domain=0.8:2.5,samples=250] plot(\x,{\f});
+ \end{tikzpicture}
+\end{center}
+\end{codetex}
+
+\begin{codesortie}
+\begin{center}
+ \begin{tikzpicture}[x=5cm,y=1.5cm]
+ %axes et grille
+ \draw[xstep=0.5,ystep=0.25,line width=0.3pt,lightgray!50] (0,0) grid (2.5,2.25);
+ \draw[thick,->] (0,0)--(2.5,0) ;
+ \draw[thick,->] (0,0)--(0,2.25) ;
+ \foreach \x in {0,0.5,...,2}
+ \draw[line width=1.25pt] (\x,4pt) -- (\x,-4pt) node[below] {\num{\x}};
+ \foreach \y in {0,0.5,...,2}
+ \draw[line width=1.25pt] (4pt,\y) -- (-4pt,\y) node[left] {\num{\y}};
+ %fonction
+ \def\f{1+1/\x}
+ %tracés
+ \recurrPL[fct={\f},no=0,uno=1,nb=7,poslabel=above right,decallabel=0pt,afftermes=false][line width=1.25pt,ForestGreen,densely dashed][]
+ \draw[line width=1.25pt,blue,domain=0:2.25,samples=2] plot(\x,{\x});
+ \draw[line width=1.25pt,red,domain=0.8:2.5,samples=250] plot(\x,{\f});
+ \end{tikzpicture}
+\end{center}
+\end{codesortie}
+
+\newpage
+
\section{Historique}
+{\small \bverb|v1.1.3|~:~~~~Ajout des commandes \textsf{convertfraction}, \textsf{ensPL} et \textsf{recurrPL} (changement de numérotation du package également)
+
{\small \bverb|v1.1.1|~:~~~~Modification mineure de l'environnement CF, avec prise de charge de la taille du texte !
{\small \bverb|v1.1.0|~:~~~~Ajout d'une commande \textsf{tetraPL} pour créer des tétraèdres (avec nœuds) en \TikZ