diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf | bin | 554769 -> 580817 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex | 224 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty | 176 |
3 files changed, 393 insertions, 7 deletions
diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf Binary files differindex d1fd891a655..eac8e19ebea 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex index 051eef62f82..03ec63d63c1 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex @@ -14,6 +14,7 @@ \usepackage{graphics} \usepackage{hvlogos} \usepackage{simplekv} +\usepackage{tkz-tab} \usepackage{listofitems} \usepackage{xintexpr} \usepackage{codehigh} @@ -34,8 +35,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\PLversion{1.1.4} -\def\PLdate{7 Mai 2022} +\def\PLversion{1.1.5} +\def\PLdate{13 Mai 2022} \tcbset{vignettes/.style={% nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% @@ -190,6 +191,12 @@ Une commande pour simplifier l'écriture d'un ensemble, avec espaces \og automat Une commande pour créer, en \TikZ, la \textit{toile} pour une suite récurrente. +Une commande pour créer, en \TikZ, un cercle trigo avec options. + +Une commande pour afficher un petit schéma, en \TikZ, sur le signe d'une fonction affine ou d'un trinôme. + +Deux commandes pour, en \TikZ, créer des petits schémas \og de signe \fg + \vspace{1.5cm} \hfill{}\textit{Merci à Anne pour ses retours et sa relecture !} @@ -2003,15 +2010,15 @@ Plusieurs \Cle{Clés} sont disponibles pour cette commande : \begin{codesortie} \begin{center} \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2,affvaleurs=false,decal=8pt] + \cercletrigoPL[rayon=2.5,affvaleurs=false,decal=8pt] \end{tikzpicture} ~~~~ \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2,affangles=false] + \cercletrigoPL[rayon=2.5,affangles=false] \end{tikzpicture} ~~~~ \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2,moinspi=false,couleurfond=orange!15,taillevaleurs=\tiny] + \cercletrigoPL[rayon=2.5,moinspi=false,couleurfond=orange!15,taillevaleurs=\tiny] \end{tikzpicture} \end{center} \end{codesortie} @@ -2080,8 +2087,215 @@ Les \Cle{Clés} pour cette possibilité sont : \newpage +\section{Petits schémas pour le signe d'une fonction affine ou d'un trinôme} + +\subsection{Idée} + +\begin{codeidee} +L'idée est d'obtenir une commande pour tracer (en \TikZ) un petit schéma pour \textit{visualiser} le signe d'une fonction affine ou d'un trinôme. + +Le code est très largement inspiré de celui du package \ctex{tnsana} même si la philosophie est légèrement différente. + +\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{aidesignePL} pour afficher le schéma. +\end{codeidee} + +\begin{codetex}[tikz lower] +%code tikz +\aidesignePL +\end{codetex} + +\subsection{Commandes} + +\begin{codetex}[listing only] +... +\begin{tikzpicture}[<options>] + ... + \aidesignePL[<clés>] + ... +\end{tikzpicture} +\end{codetex} + +\begin{codetex}[listing only] +... {\tikz[<options>] \aidesignePL[<clés>]}... +\end{codetex} + +\begin{codecles} +Plusieurs \Cle{Clés} sont disponibles pour cette commande : + +\begin{itemize} + \item la clé \Cle{code} qui permet de définir le type d'expression (voir en-dessous) ;\hfill{}défaut \Cle{da+} + \item la clé \Cle{couleur} qui donne la couleur de la représentation ;\hfill{}défaut \Cle{red} + \item la clé \Cle{racines} qui définit la ou les racines ;\hfill{}défaut \Cle{2} + \item la clé \Cle{largeur} qui est la largeur du schéma ;\hfill{}défaut \Cle{2} + \item la clé \Cle{hauteur} qui est la hauteur du schéma ;\hfill{}défaut \Cle{1} + \item un booléen \Cle{cadre} qui affiche un cadre autour du schéma.\hfill{}défaut \Cle{true} +\end{itemize} +\end{codecles} + +\begin{codecles} +Pour la clé \Cle{code}, il est construit par le type (\textsf{a} pour affine ou \textsf{p} comme parabole) puis les éléments caractéristiques (\textsf{a+} pour $a>0$, \textsf{d0} pour $\Delta=0$, etc) : + +\begin{itemize} + \item \Cle{code=da+} := une droite croissante ; + \item \Cle{code=da-} := une droite décroissante ; + \item \Cle{code=pa+d+} := une parabole \textit{souriante} avec deux racines ; + \item etc +\end{itemize} +\end{codecles} + +\pagebreak + +\begin{codetex}[listing only] + \begin{center} + \begin{tikzpicture} + \aidesignePL[code=da+,racines=-4] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=da-,racines={h},couleur=blue,largeur=3,cadre=false] + \end{tikzpicture} + \end{center} + % + \begin{center} + \begin{tikzpicture} + \aidesignePL[code=pa+d+,racines={1/2},couleur=orange] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa+d-,couleur=ForestGreen] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa+d0,racines={5},couleur=purple] + \end{tikzpicture} + \end{center} + % + \begin{center} + \begin{tikzpicture} + \aidesignePL[code=pa-d+,racines={-3/0},couleur=yellow] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa-d-,couleur=cyan] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa-d0,racines={-1},couleur=magenta] + \end{tikzpicture} + \end{center} +\end{codetex} + +\begin{codesortie} +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=da+,racines=-4] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=da-,racines={h},couleur=blue,largeur=3,cadre=false] + \end{tikzpicture} +\end{center} +% +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=pa+d+,racines={1/2},couleur=orange] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa+d-,couleur=ForestGreen] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa+d0,racines={5},couleur=purple] + \end{tikzpicture} +\end{center} +% +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=pa-d+,racines={-3/0},couleur=yellow] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa-d-,couleur=cyan] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa-d0,racines={-1},couleur=magenta] + \end{tikzpicture} +\end{center} +\end{codesortie} + +\begin{codetex}[tikz lower] +%code tikz + \aidesignePL[largeur=3.5,hauteur=1.5,code=da-,racines=\tfrac{-b}{a},couleur=Plum] +\end{codetex} + +\subsection{Intégration avec tkz-tab} + +\begin{codeidee} +Ces schémas peuvent être de plus utilisés, via la commande \ctex{aidesignetkztabPL} pour illustrer les signes obtenus dans un tableau de signes présentés grâce au package \ctex{tkz-tab}. + +Pour des raisons interne, le fonctionnement de la commande \ctex{aidesignetkztabPL} est légèrement différent et, pour des raisons que j'ignore, le code est légèrement différent en \textit{interne} (avec une \textit{déconnexion} des caractères \textsf{:} et \textsf{\textbackslash}) pour la librairie \TikZ{} \ctex{calc} puisse fonctionner (mystère pour le moment\ldots) +\end{codeidee} + +\begin{codetex}[listing only] +\begin{tikzpicture} + %commandes tkztab + \aidesignetkztabPL[<options>]{<numligne>}[<echelle>][<décalage horizontal>] +\end{tikzpicture} +\end{codetex} + +\begin{codecles} +Les \Cle{Clés} pour le premier argument optionnel sont les mêmes que pour la version \textit{initiale} de la commande précédente. + +En ce qui concerne les autres arguments : + +\begin{itemize} + \item le deuxième argument, mandataire, est le numéro de la ligne à côté de laquelle placer le schéma ; + \item le troisième argument, optionnel et valant \Cle{0.85} par défaut, est l'échelle à appliquer sur l'ensemble du schéma (à ajuster en fonction de la hauteur de la ligne) ; + \item le quatrième argument, optionnel et valant \Cle{1.5} par défait, est lié à l'écart horizontal entre le bord de la ligne du tableau et le schéma. +\end{itemize} + +À noter que si l'un des arguments optionnels (le n°3 et/ou le n°4) sont utilisés, il vaut mieux préciser les 2 ! +\end{codecles} + + +\begin{codetex}[listing only] +\begin{center} + \begin{tikzpicture} + \tkzTabInit[]{$x$/1,$-2x+5$/1,$2x+4$/1,$p(x)$/1}{$-\infty$,$-2$,${2,5}$,$+\infty$} + \tkzTabLine{,+,t,+,z,-,} + \tkzTabLine{,-,z,+,t,+,} + \tkzTabLine{,-,z,+,z,-,} + \aidesignetkztabPL[code=da-,racines={2,5},couleur=blue]{1} + \aidesignetkztabPL[code=da+,racines={-2},couleur=purple]{2} + \aidesignetkztabPL[code=pa-d+,racines={-2/2,5},couleur=orange]{3}[0.85][2] + \end{tikzpicture} +\end{center} +\end{codetex} + +\begin{codesortie} +\begin{center} + \begin{tikzpicture} + \tkzTabInit[]{$x$/1,$-2x+5$/1,$2x+4$/1,$p(x)$/1}{$-\infty$,$-2$,${2,5}$,$+\infty$} + \tkzTabLine{,+,t,+,z,-,} + \tkzTabLine{,-,z,+,t,+,} + \tkzTabLine{,-,z,+,z,-,} + \aidesignetkztabPL[code=da-,racines={2,5},couleur=blue]{1} + \aidesignetkztabPL[code=da+,racines={-2},couleur=purple]{2} + \aidesignetkztabPL[code=pa-d+,racines={-2/2,5},couleur=orange]{3}[0.85][2] + \end{tikzpicture} +\end{center} +\end{codesortie} + +\newpage + \section{Historique} +{\small \bverb|v1.1.5|~:~~~~Ajout de deux commandes \textsf{aidesignePL} et \ctex{aidesignetkztabPL} pour, en \TikZ, créer des petits schémas \og de signe \fg + {\small \bverb|v1.1.4|~:~~~~Ajout d'une commande \textsf{cercletrigoPL} pour, en \TikZ, créer facilement un cercle trigo avec \textit{options} {\small \bverb|v1.1.3|~:~~~~Ajout des commandes \textsf{convertfraction}, \textsf{ensPL} et \textsf{recurrPL} diff --git a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty index b70f3eb23b6..2b498305f53 100644 --- a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty +++ b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty @@ -3,7 +3,8 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2022/05/07 - v1.1.4 - Aide pour l'utilisation de LaTeX en lycée] +\ProvidesPackage{ProfLycee}[2022/05/13 - v1.1.5 - Aide pour l'utilisation de LaTeX en lycée] +% 1.1.5 Ajout de commandes pour "visualiser" le signe de ax+b ou de ax2+bx+c (cf tnsana !) % 1.1.4 Ajout d'une commande cercletrigoPL pour, en \TikZ, créer facilement un cercle trigo avec options % 1.1.3 Ajout d'une commande ensemble pour créer un ensemble à partir d'une liste % 1.1.2 Modifs mineures @@ -42,7 +43,6 @@ \RequirePackage{xintexpr} \RequirePackage{simplekv} \RequirePackage{listofitems} -\RequirePackage{xintexpr} \RequirePackage{tabularray} \RequirePackage{fontawesome5} %librairies tikz @@ -50,6 +50,7 @@ \usetikzlibrary{decorations.pathreplacing} \usetikzlibrary{decorations.markings} \usetikzlibrary{arrows,arrows.meta} +\usetikzlibrary{babel} %tcolorbox \RequirePackage[most]{tcolorbox} %divers @@ -1014,5 +1015,176 @@ {} } +%==================AideTds============= OK !! +\defKV[aidetds]{% + code=\def\tdsparam{#1},% + couleur=\def\tdscouleur{#1},% + racines=\def\tdsracine{#1},% + largeur=\def\tdslarg{#1},% + hauteur=\def\tdshaut{#1} +} + +\setKVdefault[aidetds]{% + code=da+, + couleur=red,% + largeur=2,% + hauteur=1,% + cadre=true,% + racines=2 +} + +\NewDocumentCommand\schematdsaff{ s m m m m }{%pour les droites (interne) + % * = étoilée -> a négatif + % #2 = couleur + % #3 = largeur + % #4 = hauteur + % #5 = racine + \IfBooleanTF{#1}%si étoile := droite qui descend + {% + \def\possgnavant{above right}\def\possgnapres{below left}\def\sgnavant{\strut+}\def\sgnapres{\strut-}% + \draw[thick,#2] ({-0.5*#3},{0.5*#4})--({0.5*#3},{-0.5*#4}); + } + {% + \def\possgnavant{below right}\def\possgnapres{above left}\def\sgnavant{\strut-}\def\sgnapres{\strut+}% + \draw[thick,#2] ({-0.5*#3},{-0.5*#4})--({0.5*#3},{0.5*#4}); + } + \draw[#2] ({-0.5*#3},0) node[inner sep=0pt,\possgnavant=1pt,font=\scriptsize] {\textcircled{$\sgnavant$}}; + \draw[#2] ({0.5*#3},0) node[inner sep=0pt,\possgnapres=1pt,font=\scriptsize] {\textcircled{$\sgnapres$}}; + \draw[#2] (0,0) node[inner sep=0pt,above=3pt,font=\scriptsize] {$\strut#5$} ; + \filldraw[#2] (0,0) circle[radius=2pt] ; +} + +\NewDocumentCommand\schematdsparab{ m m m m m o }{%pour les paraboles (interne) + % #1 = signe de a (1 ou -1) ? + % #2 = couleur + % #3 = largeur + % #4 = hauteur + % #5 = nb racine + % #6 = liste racines (option) + \xintifboolexpr{ #1 > 0 'and' #5 == 2 } %a>0 et delta>0 + {% + \StrCut{#6}{/}{\xun}{\xdeux} + \draw[thick,#2] ({-0.375*#3},{0.5*#4}) parabola bend (0,{-0.5*#4}) ({0.375*#3},{0.5*#4}) ; + \draw[#2] ({-0.5*#3},0) node[above right=1pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut+$}}; + \draw[#2] ({0.5*#3},0) node[above left=1pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut+$}}; + \draw[#2] (0,0) node[below=1pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut-$}}; + \filldraw[#2] ({0.2625*#3},0) circle[radius=2pt] node[below right=1pt,inner sep=0pt,font=\scriptsize] {$\strut\xdeux$}; + \filldraw[#2] ({-0.2625*#3},0) circle[radius=2pt] node[below left=1pt,inner sep=0pt,font=\scriptsize] {$\strut\xun$};% + } + {} + \xintifboolexpr{ #1 < 0 'and' #5 == 2 } %a<0 et delta>0 + {% + \StrCut{#6}{/}{\xun}{\xdeux} + \draw[thick,#2] ({-0.375*#3},{-0.5*#4}) parabola bend (0,{0.5*#4}) ({0.375*#3},{-0.5*#4}) ; + \draw[#2] ({-0.5*#3},0) node[below right=1pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut-$}}; + \draw[#2] ({0.5*#3},0) node[below left=1pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut-$}}; + \draw[#2] (0,0) node[above=1pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut+$}}; + \filldraw[#2] ({0.2625*#3},0) circle[radius=2pt] node[above right=1pt,inner sep=0pt,font=\scriptsize] {$\strut\xdeux$}; + \filldraw[#2] ({-0.2625*#3},0) circle[radius=2pt] node[above left=1pt,inner sep=0pt,font=\scriptsize] {$\strut\xun$};% + } + {} + \xintifboolexpr{ #1 > 0 'and' #5 == 1 } %a>0 et delta=0 + {% + \draw[thick,#2] ({-0.375*#3},{0.5*#4}) parabola bend (0,0) ({0.375*#3},{0.5*#4}) ; + \filldraw[#2] (0,0) circle[radius=2pt] node[below=3pt,inner sep=1pt,font=\scriptsize] {$#6$}; + \draw[#2] (0,0) node[above=3pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut+$}}; + } + {} + \xintifboolexpr{ #1 < 0 'and' #5 == 1 } %a>0 et delta=0 + {% + \draw[thick,#2] ({-0.375*#3},{-0.5*#4}) parabola bend (0,0) ({0.375*#3},{-0.5*#4}) ; + \filldraw[#2] (0,0) circle[radius=2pt] node[above=3pt,inner sep=0pt,font=\scriptsize] {$#6$}; + \draw[#2] (0,0) node[below=3pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut-$}}; + } + {} + \xintifboolexpr{ #1 > 0 'and' #5 == 0 } %a>0 et delta<0 + {% + \draw[thick,#2] ({-0.375*#3},{0.5*#4}) parabola bend (0,{0.075*#4}) ({0.375*#3},{0.5*#4}) ; + \draw[#2] (0,{0.075*#4}) node[above=2pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut+$}}; + } + {} + \xintifboolexpr{ #1 < 0 'and' #5 == 0 } %a>0 et delta<0 + {% + \draw[thick,#2] ({-0.375*#3},{-0.5*#4}) parabola bend (0,{-0.075*#4}) ({0.375*#3},{-0.5*#4}) ; + \draw[#2] (0,{-0.075*#4}) node[below=2pt,inner sep=0pt,font=\scriptsize] {\textcircled{$\strut-$}}; + } + {} +} + +\newcommand\aidesignePL[1][]{% + \useKVdefault[aidetds] + \setKV[aidetds]{#1} + %simplification des codes + \IfEq{\tdsparam}{da+}{\def\xcode{1}}{} + \IfEq{\tdsparam}{da-}{\def\xcode{-1}}{} + \IfEq{\tdsparam}{pa+d+}{\def\xcode{12}}{} + \IfEq{\tdsparam}{pa-d+}{\def\xcode{-12}}{} + \IfEq{\tdsparam}{pa+d0}{\def\xcode{11}}{} + \IfEq{\tdsparam}{pa-d0}{\def\xcode{-11}}{} + \IfEq{\tdsparam}{pa+d-}{\def\xcode{10}}{} + \IfEq{\tdsparam}{pa-d-}{\def\xcode{-10}}{} + %cadre si booléen true + \ifboolKV[aidetds]{cadre} + {\draw[lightgray] ({-0.5*\tdslarg},{-0.5*\tdshaut}) rectangle ({0.55*\tdslarg},{0.5*\tdshaut}) ;} + {} + %restriction de la petite fenêtre + \clip ({-0.5*\tdslarg},{-0.5*\tdshaut}) rectangle ({0.55*\tdslarg},{0.5*\tdshaut}) ; + %axe (Ox) + \draw[thick,->] ({-0.5*\tdslarg},0)--({0.55*\tdslarg},0); + %1er degré a+ code = 1 + \ifnum\xcode=1 + \schematdsaff{\tdscouleur}{\tdslarg}{\tdshaut}{\tdsracine} + \fi + %1er degré a- code = -1 + \ifnum\xcode=-1 + \schematdsaff*{\tdscouleur}{\tdslarg}{\tdshaut}{\tdsracine} + \fi + %2d degré a+delta+ code = 12 + \ifnum\xcode=12 + \schematdsparab{1}{\tdscouleur}{\tdslarg}{\tdshaut}{2}[\tdsracine] + \fi + %2d degré a-delta+ code = -12 + \ifnum\xcode=-12 + \schematdsparab{-1}{\tdscouleur}{\tdslarg}{\tdshaut}{2}[\tdsracine] + \fi + %2d degré a+delta0 code = 11 + \ifnum\xcode=11 + \schematdsparab{1}{\tdscouleur}{\tdslarg}{\tdshaut}{1}[\tdsracine] + \fi + %2d degré a-delta0 code = -11 + \ifnum\xcode=-11 + \schematdsparab{-1}{\tdscouleur}{\tdslarg}{\tdshaut}{1}[\tdsracine] + \fi + %2d degré a+delta- code = 10 + \ifnum\xcode=10 + \schematdsparab{1}{\tdscouleur}{\tdslarg}{\tdshaut}{0} + \fi + %2d degré a-delta- code = -10 + \ifnum\xcode=-10 + \schematdsparab{-1}{\tdscouleur}{\tdslarg}{\tdshaut}{0} + \fi +} + +%pour l'interaction avec tkz-tab +\defKV[aidetdstkz]{% + echelle=\def\tdstkzscale{#1},% + decal=\def\tdstkzoffset{#1} +} + +\setKVdefault[aidetdstkz]{% + echelle=1,% + decal=1.25 +} + +\NewDocumentCommand\aidesignetkztabPL{ o m O{0.85} O{1.5} }{% + #1 = codeaidetikz + #2 = numligne + #3 = échelle + #4 = décalage + \shorthandoff{:}\shorthandoff{!} %bizzzzzzzzare + \coordinate (Z) at ($(T2#2)!.5!(T2\the\numexpr#2+1\relax)$) ; + \shorthandon{:}\shorthandon{!} + \path (Z.east) + (#4,0) pic[right,scale=#3,every node/.style={scale=#3}] {code={\aidesignePL[#1]}} ; +} \endinput
\ No newline at end of file |