summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/fenetrecas/doc/FenetreCas-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/fenetrecas/doc/FenetreCas-doc.tex')
-rw-r--r--graphics/pgf/contrib/fenetrecas/doc/FenetreCas-doc.tex542
1 files changed, 542 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/fenetrecas/doc/FenetreCas-doc.tex b/graphics/pgf/contrib/fenetrecas/doc/FenetreCas-doc.tex
new file mode 100644
index 0000000000..834a013182
--- /dev/null
+++ b/graphics/pgf/contrib/fenetrecas/doc/FenetreCas-doc.tex
@@ -0,0 +1,542 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[french,a4paper,11pt]{article}
+\def\TPversion{0.1.0}
+\def\TPdate{17 Mars 2023}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{amsmath,amssymb}
+\usepackage{FenetreCas}
+\usepackage{awesomebox}
+\usepackage{fontawesome5}
+\usepackage{enumitem}
+\usepackage{tabularray}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [FenetreCas]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+%\usepackage{hvlogos}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+\newcommand\TableauDocumentation{%
+ \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
+ {\LARGE \LaTeX} & & & & &\\
+ & {\LARGE \hologo{pdfLaTeX}} & & & & \\
+ & & {\LARGE \hologo{LuaLaTeX}} & & & \\
+ & & & {\LARGE \TikZ} & & \\
+ & & & & {\LARGE \TeXLive} & \\
+ & & & & & {\LARGE \hologo{MiKTeX}} \\
+ \end{tblr}
+}
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=1.5cm]{geometry}
+\setlength{\parindent}{0pt}
+\definecolor{LightGray}{gray}{0.9}
+
+\usepackage[french]{babel}
+
+\usepackage[most]{tcolorbox}
+\usetikzlibrary{calc}
+\tcbuselibrary{minted}
+\NewTCBListing{PresentationCode}{ O{blue} m }{%
+ sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,%
+ colback=#1!1!white,colframe=#1!75!black,colbacklower=white,%
+ attach boxed title to top right={yshift=-\tcboxedtitleheight},title=Code \LaTeX,%
+ boxed title style={%
+ colframe=#1!75!black,colback=#1!15!white,%
+ ,sharp corners=downhill,arc=12pt,%
+ },%
+ top=\baselineskip,%
+ fonttitle=\color{#1!90!black}\itshape\ttfamily\footnotesize,%
+ listing engine=minted,minted style=colorful,
+ minted language=tex,minted options={tabsize=4,fontsize=\small,autogobble},
+ #2
+}
+
+\tcbset{vignettes/.style={%
+ nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
+ boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,%
+ }
+}
+
+\tcbset{vignetteMaJ/.style={%
+ fontupper={\vphantom{pf}\footnotesize\ttfamily},
+ vignettes,colframe=ForestGreen!50!black,coltitle=white,colback=purple!25,%
+ overlay={\begin{tcbclipinterior}%
+ \fill[fill=purple!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{Black}{\scalebox{0.85}[0.75]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);%
+ \end{tcbclipinterior}}
+ }
+}
+
+\newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}}
+\newcommand\cmaj[1]{\tcbox[vignetteMaJ]{#1}\xspace}
+
+\begin{document}
+
+\setlength{\aweboxleftmargin}{0.07\linewidth}
+\setlength{\aweboxcontentwidth}{0.93\linewidth}
+\setlength{\aweboxvskip}{8pt}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\vspace{2cm}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{FenetreCas [fr]}}\\
+ \\
+ {\LARGE Des fenêtres CAS à la manière} \\
+ \\
+ {\LARGE de Xcas ou Geogebra.} \\
+ \end{tabular}
+
+ \bigskip
+
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/FenetreCas}}
+\end{tabular}
+\end{center}
+
+\vspace{0.25cm}
+
+{$\blacktriangleright$~~Une commande pour afficher une fenêtre CAS à la manière de \textsf{Xcas}.}
+
+\smallskip
+
+{$\blacktriangleright$~~Une commande pour afficher une fenêtre CAS à la manière de \textsf{Geogebra}.}
+
+\smallskip
+
+{$\blacktriangleright$~~Utilisation de \TikZ{} avec calcul automatique des hauteurs de lignes.}
+
+\smallskip
+
+{$\blacktriangleright$~~Personnalisation de certains éléments (couleurs, etc).}
+
+\smallskip
+
+{$\blacktriangleright$~~Saisie libre des commandes et des résultats.}
+
+\vspace{1cm}
+
+\begin{center}
+ \begin{tcolorbox}[enhanced,colframe=cyan,colback=cyan!2,center,width=0.95\linewidth,drop fuzzy shadow=lightgray]
+ À la manière de GeoGebra :
+
+ \smallskip
+
+ \begin{CalculFormelGeogebra}[Largeur=10]
+ \LigneCalculsGeogebra%
+ {\sffamily g(x)=4/(1+e\textasciicircum(-k x))}
+ {$\rightarrow$ \: $\mathsf{g(x)=\dfrac{4}{e^{-kx}+1}}$}
+ \end{CalculFormelGeogebra}
+
+ \medskip
+
+ \hfill~À la manière de Xcas :
+
+ \smallskip
+
+ \hfill
+ \begin{CalculFormelXcas}[Entete=true,Largeur=12]
+ \LigneCalculsXcas%
+ {\sffamily g(x):=4/(1+e\textasciicircum(-k x))}
+ {$\mathsf{x \rightarrow \dfrac{4}{e^{-kx}+1}}$}
+ \end{CalculFormelXcas}
+ \end{tcolorbox}
+\end{center}
+
+\vspace{0.5cm}
+
+%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !}
+
+\smallskip
+
+\vfill
+
+\hrule
+
+\medskip
+
+\TableauDocumentation
+
+\medskip
+
+\hrule
+
+\medskip
+
+\newpage
+
+\phantomsection
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\newpage
+
+\part{Introduction}
+
+\section{Le package FenetreCas}
+
+\subsection{Introduction}
+
+\begin{noteblock}
+La package \textit{propose} des outils pour afficher des fenêtres de logiciel de Calcul Formel :
+
+\begin{itemize}
+ \item à la manière de \textsf{Xcas} ;
+ \item à la manière de \textsf{GeoGebra}.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{noteblock}
+
+\begin{importantblock}
+Les environnements créés sont liés à des environnements \TikZ, et les hauteurs des lignes sont calculées automatiquement -- en interne -- par le package.
+
+\smallskip
+
+L'utilisateur pourra cependant paramétrer \textit{plus finement} le rendu s'il le souhaite.
+\end{importantblock}
+
+\subsection{Chargement du package, packages utilisés}
+
+\begin{importantblock}
+Le package se charge, de manière classique, dans le préambule.
+
+Il n'existe pas d'option pour le package, et \texttt{xcolor} n'est pas chargé avec des options spécifiques.
+\end{importantblock}
+
+\begin{PresentationCode}{listing only}
+\usepackage{FenetreCas}
+\end{PresentationCode}
+
+\begin{noteblock}
+\textsf{FenetreCas} charge les packages suivantes :
+
+\begin{itemize}
+ \item \texttt{tikz}, \texttt{xstring}, \texttt{xintexpr}, \texttt{simplekv} et \texttt{settobox} ;
+ \item les librairies \texttt{\textit{tikz}.calc} et \texttt{\textit{tikz}.positioning}..
+\end{itemize}
+
+Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} ou \textsf{xelatex}.
+\end{noteblock}
+
+\section{Fonctionnement global}
+
+\begin{importantblock}
+Le fonctionnement global est :
+
+\begin{itemize}
+ \item de créer l'\textbf{environnement}, avec ses options \textit{globales} ;
+ \item de créer les \textbf{lignes}, une par une, avec leurs options \textit{locales}.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{importantblock}
+
+\vfill
+
+\section{Historique}
+
+\verb|v0.1.0|~:~~~~Version initiale.
+
+\hspace*{1cm}
+
+\pagebreak
+
+\part{Fenêtre à la manière de Geogebra}
+
+\section{Création de l'environnement}
+
+\subsection{Commande}
+
+\begin{cautionblock}
+L'environnement dédié à l'affichage d'une fenêtre \textit{à la Geogebra} est \texttt{CalculFormelGeogebra}.
+
+Par défaut, il va donc créer la ligne d'\textit{entête} avec le titre.
+\end{cautionblock}
+
+\begin{PresentationCode}{listing only}
+\begin{CalculFormelGeogebra}[clés et options]<options tikz>
+\end{CalculFormelGeogebra}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\begin{CalculFormelGeogebra}
+\end{CalculFormelGeogebra}
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Le premier argument, optionnel et entre \texttt{[...]} propose les \Cle{clés} suivantes :
+
+\begin{itemize}
+ \item \Cle{Largeur} qui est la largeur de la fenêtre, en cm ; \hfill~défaut : \Cle{10}
+ \item \Cle{CouleurEntete} qui est la couleur du fond de l'entête ; \hfill~défaut : \Cle{lightgray!25}
+ \item \Cle{LargeurNumero} qui est la largeur de la colonne du numéro ; \hfill~défaut : \Cle{1}
+ \item \Cle{CouleurNumero} qui est la couleur du fond du numéro ; \hfill~défaut : \Cle{cyan!5}
+ \item \Cle{PoliceEntete} qui paramètre la police du texte de l'entête ;
+
+ \hfill~défaut : \Cle{\textbackslash bfseries\textbackslash large\textbackslash sffamily}
+ \item \Cle{PoliceNumero} qui paramètre la police du numéro ; \hfill~défaut : \Cle{\textbackslash Large\textbackslash sffamily}
+ \item \Cle{Titre} qui permet de personnaliser le label de l'entête ;
+
+ \hfill~défaut : \Cle{\$\textbackslash triangleright\$ Calcul formel}
+ \item le booléen \Cle{Entete} qui permet d'afficher ou non l'entête. \hfill~défaut : \Cle{true}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{tipblock}
+Le second argument, optionnel et entre \texttt{<...>} est quant à lui relatif à des arguments à passer à l'environnement \TikZ{} créé, comme par exemple un alignement vertical, etc
+\end{tipblock}
+
+\begin{PresentationCode}{}
+%\usepackage{amssymb}
+\begin{CalculFormelGeogebra}
+ [CouleurEntete=green!25,PoliceEntete=\LARGE\ttfamily,
+ Titre={$\blacktriangleright$ Illustration via GeoGebra},Largeur=13]
+\end{CalculFormelGeogebra}
+\end{PresentationCode}
+
+\pagebreak
+
+\section{Création des lignes}
+
+\subsection{Commande}
+
+\begin{cautionblock}
+La commande dédiée à l'affichage des lignes est \texttt{\textbackslash LigneCalculsGeogebra}.
+
+Les lignes sont construites l'une après l'une, avec un système de nœuds pour délimiter les \og coins \fg.
+\end{cautionblock}
+
+\begin{PresentationCode}{listing only}
+\begin{CalculFormelGeogebra}[clés et options]<options tikz>
+ LigneCalculsGeogebra[options]{commande}{resultat}
+\end{CalculFormelGeogebra}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\begin{CalculFormelGeogebra}
+ \LigneCalculsGeogebra{commande1}{résultat1}
+ \LigneCalculsGeogebra{commande2}{résultat2}
+\end{CalculFormelGeogebra}
+\end{PresentationCode}
+
+\subsection{Clés et arguments}
+
+\begin{tipblock}
+Le premier argument, optionnel et entre \texttt{[...]} propose les \Cle{clés} suivantes :
+
+\begin{itemize}
+ \item le booléen \Cle{HauteurAuto} qui permet un ajustement automatique de la hauteur ;
+
+ \hfill~défaut : \Cle{true}
+ \item \Cle{TailleCommande} pour la taille de la commande ; \hfill~défaut : \Cle{\textbackslash normalsize}
+ \item \Cle{TailleResultat} pour la taille du résultat ; \hfill~défaut : \Cle{\textbackslash large}
+ \item \Cle{MargeH} pour spécifier l'espacement horizontal entre les calculs et les bords verticaux ;
+
+ \hfill~défaut : \Cle{0.2}
+ \item \Cle{MargeV} pour spécifier l'espacement vertical entre les calculs et les traits.
+
+ \hfill~défaut : \Cle{6pt}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{tipblock}
+Les arguments obligatoires, et entre \texttt{\{...\}}, correspondent à la commande et au résultat à afficher dans la ligne :
+
+\begin{itemize}
+ \item les tailles des caractères sont fixées par les \Cle{clés} précédemment explicitées ;
+ \item la saisie est libre au niveau du contenu, de la police et des couleurs.
+\end{itemize}
+\end{tipblock}
+
+\begin{PresentationCode}{}
+\begin{CalculFormelGeogebra}[CouleurEntete=pink!25,CouleurNumero=yellow!25,Largeur=15]
+ \LigneCalculsGeogebra%
+ {\sffamily g(x)=4/(1+e\textasciicircum(-k x))}
+ {$\rightarrow$ \: $\mathsf{g(x)=\dfrac{4}{e^{-kx}+1}}$}
+ \LigneCalculsGeogebra
+ {f(x)=1+sqrt(x+3)}
+ {$\rightarrow$ \: $f(x)=1+\sqrt{x+3}$}
+ \LigneCalculsGeogebra
+ {\texttt{Dériver[exp(0.1*x)]}}
+ {$\rightarrow$ \: \texttt{x $\mapsto$ 0.1*exp(0.1*x)}}
+ \LigneCalculsGeogebra[TailleCommande=\LARGE,TailleResultat=\huge]
+ {(1/4+1/3)/(1/5+2/7)}
+ {$\rightarrow$ \: $\dfrac{\dfrac14+\dfrac13}{\dfrac15+\dfrac27}=
+ \fpeval{(1/4+1/3)/(1/5+2/7)}$}
+ \LigneCalculsGeogebra[HauteurAuto=false,HauteurLigne=5]
+ {(1+i)\textasciicircum{}2}
+ {$2\text{i}$}
+\end{CalculFormelGeogebra}
+\end{PresentationCode}
+
+\pagebreak
+
+\part{Fenêtre à la manière de Xcas}
+
+\section{Création de l'environnement}
+
+\subsection{Commande}
+
+\begin{cautionblock}
+L'environnement dédié à l'affichage d'une fenêtre \textit{à la Xcas} est \texttt{CalculFormelXcas}.
+
+Par défaut, il va donc créer la ligne d'\textit{entête} avec les infos classiques.
+\end{cautionblock}
+
+\begin{PresentationCode}{listing only}
+\begin{CalculFormelXcas}[clés et options]<options tikz>
+\end{CalculFormelXcas}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\begin{CalculFormelXcas}
+\end{CalculFormelXcas}
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Le premier argument, optionnel et entre \texttt{[...]} propose les \Cle{clés} suivantes :
+
+\begin{itemize}
+ \item \Cle{Largeur} qui est la largeur de la fenêtre, en cm ; \hfill~défaut : \Cle{10}
+ \item \Cle{EspaceLg} qui est l'espacement vertical entre les lignes ; \hfill~défaut : \Cle{2pt}
+ \item \Cle{Couleur} qui est la couleur des tracés ; \hfill~défaut : \Cle{darkgray}
+ \item \Cle{PoliceEntete} qui est la taille de la police de l'entête ; \hfill~défaut : \Cle{\textbackslash scriptsize}
+ \item le booléen \Cle{Entete} qui permet d'afficher ou non l'entête. \hfill~défaut : \Cle{true}
+ \item le booléen \Cle{Menu} qui permet d'afficher ou non le bouton \textit{MENU} dans les lignes ;
+
+ \hfill~défaut : \Cle{true}
+ \item le booléen \Cle{NoirBlanc} qui permet de forcer tout en niveaux de gris ; \hfill~défaut : \Cle{false}
+ \item \Cle{TexteOptions} qui est le texte des \textit{options} à afficher ;
+
+ \hfill~défaut : \Cle{Config : exact real RAD 12 xcas}
+ \item le booléen \Cle{Sep} qui permet d'afficher le trait de séparation commande/résultat.
+
+ \hfill~défaut : \Cle{true}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{tipblock}
+Le second argument, optionnel et entre \texttt{<...>} est quant à lui relatif à des arguments à passer à l'environnement \TikZ{} créé, comme par exemple un alignement vertical, etc
+\end{tipblock}
+
+\begin{PresentationCode}{}
+\begin{CalculFormelXcas}[PoliceEntete=\large,Largeur=13,NoirBlanc]
+\end{CalculFormelXcas}
+\end{PresentationCode}
+
+\pagebreak
+
+\section{Création des lignes}
+
+\subsection{Commande}
+
+\begin{cautionblock}
+La commande dédiée à l'affichage des lignes est \texttt{\textbackslash LigneCalculsXcas}.
+
+Les lignes sont construites l'une après l'une, avec un système de nœuds pour délimiter les \og coins \fg.
+\end{cautionblock}
+
+\begin{PresentationCode}{listing only}
+\begin{CalculFormelXcas}[clés et options]<options tikz>
+ \LigneCalculsXcas[options]{commande}{resultat}
+\end{CalculFormelXcas}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\begin{CalculFormelXcas}
+ \LigneCalculsXcas{commande1}{résultat1}
+ \LigneCalculsXcas{commande2}{résultat2}
+\end{CalculFormelXcas}
+\end{PresentationCode}
+
+\subsection{Clés et arguments}
+
+\begin{tipblock}
+Le premier argument, optionnel et entre \texttt{[...]} propose les \Cle{clés} suivantes :
+
+\begin{itemize}
+ \item \Cle{CouleurCmd} pour la couleur de la commande ; \hfill~défaut : \Cle{red}
+ \item \Cle{CouleurRes} pour la couleur du résultat ; \hfill~défaut : \Cle{blue}
+ \item \Cle{PosRes} pour la position du résultat ; \hfill~défaut : \Cle{centre}
+ \item \Cle{TailleCommande} pour la taille de la commande ; \hfill~défaut : \Cle{\textbackslash normalsize}
+ \item \Cle{TailleResultat} pour la taille du résultat ; \hfill~défaut : \Cle{\textbackslash large}
+ \item \Cle{MargeH} pour spécifier l'espacement horizontal entre les calculs et les bords verticaux ;
+
+ \hfill~défaut : \Cle{0.15}
+ \item \Cle{MargeV} pour spécifier l'espacement vertical entre les calculs et les traits.
+
+ \hfill~défaut : \Cle{6pt}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{tipblock}
+Les arguments obligatoires, et entre \texttt{\{...\}}, correspondent à la commande et au résultat à afficher dans la ligne :
+
+\begin{itemize}
+ \item les tailles des caractères sont fixées par les \Cle{clés} précédemment explicitées ;
+ \item la saisie est libre au niveau du contenu, de la police et des couleurs.
+\end{itemize}
+\end{tipblock}
+
+\begin{PresentationCode}{}
+Un exemple en ligne :~
+\begin{CalculFormelXcas}%
+ [Largeur=10,TexteOptions={Config : exact cpxl RAD 12 xcas}]%
+ <baseline=(current bounding box.center)>
+ \LigneCalculsXcas%
+ {\sffamily g(x):=4/(1+e\textasciicircum(-k x))}
+ {$\mathsf{x \rightarrow \dfrac{4}{e^{-kx}+1}}$}
+ \LigneCalculsXcas[TailleCommande=\Large,TailleResultat=\LARGE]%
+ {\sffamily g(x):=4/(1+e\textasciicircum(-k x))}
+ {$\mathsf{x \rightarrow \dfrac{4}{e^{-kx}+1}}$}
+ \LigneCalculsXcas
+ {f(x):=1+sqrt(x+3)}
+ {$x \rightarrow 1+\sqrt{x+3}$}
+ \LigneCalculsXcas
+ {\texttt{Dériver[exp(0.1*x)]}}
+ {\texttt{x $\rightarrow$ 0.1*exp(0.1*x)}}
+ \LigneCalculsXcas[TailleResultat=\Huge]
+ {(1/4+1/3)/(1/5+2/7)}
+ {$\rightarrow$ \: $\dfrac{\dfrac14+\dfrac13}{\dfrac15+\dfrac27}$}
+ \end{CalculFormelXcas}
+\end{PresentationCode}
+
+\end{document} \ No newline at end of file