texlive[44989] Master/texmf-dist: scratch (8aug17)

commits+karl at tug.org commits+karl at tug.org
Tue Aug 8 22:42:26 CEST 2017


Revision: 44989
          http://tug.org/svn/texlive?view=revision&revision=44989
Author:   karl
Date:     2017-08-08 22:42:25 +0200 (Tue, 08 Aug 2017)
Log Message:
-----------
scratch (8aug17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/scratch/README
    trunk/Master/texmf-dist/doc/latex/scratch/scratch-fr.pdf
    trunk/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex
    trunk/Master/texmf-dist/tex/latex/scratch/scratch.sty

Modified: trunk/Master/texmf-dist/doc/latex/scratch/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/scratch/README	2017-08-08 20:42:15 UTC (rev 44988)
+++ trunk/Master/texmf-dist/doc/latex/scratch/README	2017-08-08 20:42:25 UTC (rev 44989)
@@ -3,14 +3,14 @@
              L'extension
                scratch
                
-                v0.2
+                v0.3
 
-             28 mai 2017
+             8 aout 2017
 ___________________________________
 
 Authors   : Christian Tellechea
 Maintainer: Christian Tellechea
-E-mail    : unbonpetit at openmailbox.org     (CT)
+E-mail    : unbonpetit at netc.fr     (CT)
             Commentaires, signalements de bugs et
             suggestions bienvenus
 Licence   : Released under the LaTeX Project Public License v1.3c or

Modified: trunk/Master/texmf-dist/doc/latex/scratch/scratch-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex	2017-08-08 20:42:15 UTC (rev 44988)
+++ trunk/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex	2017-08-08 20:42:25 UTC (rev 44989)
@@ -2,7 +2,7 @@
 % Ceci est la documentation du package "scratch"
 %
 % Fichier compil\xE9 avec pdflatex
-\documentclass[frenchb,a4paper,10pt]{article}
+\documentclass[french,a4paper,10pt]{article}
 \usepackage[latin1]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage[margin=2cm]{geometry}
@@ -113,7 +113,7 @@
 			\color{teal}\bfseries\ttfamily
 			\detokenize{#1}=$\langle$\detokenize{#2}$\rangle$\hss}\kern2.5em 
 		(\textit{D\xE9faut} : {\color{teal}\ttfamily
-		\hlst_eearg\hlst_ifempty{\useKV[scratch]{#1}}
+		\skv_eearg\skv_ifempty{\useKV[scratch]{#1}}
 			{\detokenize{{}}}
 			{\detokenize\expandafter\expandafter\expandafter{\useKV[scratch]{#1}}}})%
 		\par\nobreak
@@ -133,7 +133,8 @@
 		\smallbreak
 		\longfrscrdate
 		\vskip1.5cm
-		Christian \bsc{Tellechea}\footnote{\texttt{unbonpetit at openmailbox.org}}\par
+		Christian \bsc{Tellechea}\par
+		\texttt{unbonpetit at netc.fr}\par
 	\endgroup
 	\vskip2cm
 	\leftskip=.2\linewidth \rightskip=.2\linewidth \small
@@ -141,9 +142,9 @@
 \end{titlepage}
 \parindent0pt
 \section{Avant propos}
-La pr\xE9sente  extension \SCRATCH requiert les extensions \texttt{hlist} et \texttt{ti\textit kz}. Celles-ci sont automatiquement charg\xE9es par \SCRATCH.
+La pr\xE9sente extension \SCRATCH requiert les extensions \texttt{simplekv} et \texttt{ti\textit kz}. Celles-ci sont automatiquement charg\xE9es par \SCRATCH.
 
-En raison de la r\xE9cente parution de \texttt{hlist}, post\xE9rieure au gel de \TeX live~2016, il peut \xEAtre n\xE9cessaire d'installer \xE0 la main l'extension \texttt{hlist}. Pour ce faire, il suffit de t\xE9l\xE9charger les fichiers \texttt{hlist.sty} et \texttt{hlist.tex} sur le CTAN et copier ces fichiers dans un endroit o\xF9 \LaTeX{} les voit; le r\xE9pertoire \texttt{texmf} personnel est tout indiqu\xE9 (il faut ensuite ex\xE9cuter la commande \texttt{texhash}), ou le r\xE9pertoire de compilation, pour une port\xE9e plus locale.
+Fid\xE8le \xE0 mes convictions, la documentation de cette extension n'est disponible qu'en fran\xE7ais.
 
 \section{L'environnement \SCRATCH}
 Pour dessiner un programme comme le fait \SCRATCH, il faut ouvrir un environnement \xAB\SCRATCH\xBB et \xE9crire dans cet environnement les macros correspondant aux \emph{blocs} que l'on veut y mettre :
@@ -152,7 +153,7 @@
 	macros pour dessiner des blocs
 \end{scratch}|
 
-Comme le savent ceux qui enseignent l'algorithmique et la programmation avec le tr\xE8s-\xE0-la-mode logiciel \xAB \SCRATCH \xBB, les programmes sont construits avec des briques, appel\xE9s \xABblocs\xBB, qui peuvent s'emboiter les uns sur les autres. Ces blocs sont de plusieurs couleurs, chacune correspondant \xE0 un type d'instruction que l'on retrouve dans les menus de \SCRATCH.
+Comme le savent ceux qui enseignent l'algorithmique et la programmation avec le tr\xE8s-\xE0-la-mode\footnote{Je ne d\xE9teste rien de plus comme langage de programmation que ce \emph{truc} vaguement graphique, ultra limit\xE9 et contre-productif dans l'apprentissage du codage qu'est scratch et que l'\xE9ducation nationale veut \xE0 tout prix imposer. Je ne compte bien \xE9videmment pas me plier \xE0 ce nouveau dogme ridicule et ne l'utiliserai ni ne l'enseignerai; je consid\xE8re que les \xE9l\xE8ves m\xE9ritent mieux que scratch --~ADA par exemple~-- comme entr\xE9e dans le monde de la programmation. Ceci dit, coder cette extension a \xE9t\xE9 un petit amusement.} logiciel \xAB \SCRATCH \xBB, les programmes sont construits avec des briques, appel\xE9s \xABblocs\xBB, qui peuvent s'emboiter les uns sur les autres. Ces blocs sont de plusieurs couleurs, chacune correspondant \xE0 un type d'instruction que l'on retrouve dans les menus de \SCRATCH.
 
 J'ai pris le parti d'\xE9crire des macros ayant comme argument le texte qui figure dans le bloc. Ce faisant, on a plus de libert\xE9 que dans \SCRATCH o\xF9 les blocs ont des textes pr\xE9d\xE9finis, mais cette libert\xE9 permet d'utiliser cette extension quelle que soit la langue dans laquelle on \xE9crit.
 
@@ -164,7 +165,7 @@
 
 La police d'\xE9criture dans chaque bloc est la police \xAB \textsf{sans serif} \xBB en gras qui est d\xE9finie dans le document au moment o\xF9 l'environnement est appel\xE9 : pratiquement, cela signifie que les macros \verb|\sffamily| et \verb|\bfseries| sont ex\xE9cut\xE9es avant que le texte des blocs ne soit compos\xE9. Dans cette documentation, la police sans serif est \xAB\textsf{biolinum}\xBB.
 
-La plupart des dimensions des blocs sont proportionnelles \xE0 la taille de la police en cours. On peut donc jouer sur la taille de la police (via les classiques macros \verb|\small|, \verb|\large|, \verb|\footnotesize|, etc) pour modifier la taille des blocs.
+La plupart des dimensions des blocs sont proportionnelles \xE0 la taille de la police en cours. On peut donc jouer sur la taille de la police (via les classiques macros \verb|\small|, \verb|\large|, \verb|\footnotesize|, etc) pour modifier la taille des blocs\footnote{Il y a aussi la cl\xE9 \xAB\texttt{scale}\xBB pour mettre le dessin \xE0 l'\xE9chelle que l'on souhaite, voir page~\pageref{cle-scale}} .
 
 Voici un inventaire des tous les blocs disponibles, empil\xE9s les uns sous les autres :
 
@@ -256,10 +257,10 @@
 Dans la symbolique graphique de \SCRATCH, les losanges contiennent des valeurs bool\xE9ennes ayant vocation \xE0 se retrouver dans un bloc de test. Pour dessiner de tels objets bool\xE9ens, les macros \verb|\bool<suffixe>{<texte>}| sont utilis\xE9es o\xF9 les \verb|<suffixes>| repr\xE9sentent les couleurs correspondant \xE0 la fonction du bool\xE9en trac\xE9 : \suffixe{list}, \suffixe{sensing} ou \suffixe{operator}.
 
 Les blocs de test sont de deux types,selon qu'ils poss\xE8dent ou pas une branche \xAB else\xBB.
-\code|\blocif{<texte du test>}
+\code|\blockif{<texte du test>}
 	{<instructions si test vrai>}|
 et
-\code|\blocifelse{<texte du test>}
+\code|\blockifelse{<texte du test>}
 	{<instructions si test vrai>}
 	{<instructions si test faux>}|
 
@@ -396,11 +397,14 @@
 \cleval{corner}{dimension}
 Repr\xE9sente la dimension des chanfreins des blocs. Cette dimension est utilis\xE9e proportionnellement pour le placement horizontal, l'\xE9paisseur et la largeur des encoches des blocs.
 
+\cleval{scale}{coefficient}\label{cle-scale}
+Repr\xE9sente l'\xE9chelle \xE0 laquelle est repr\xE9sent\xE9 le dessin.
+
 \cleval{init arcangle}{angle}
 Repr\xE9sente l'angle avec l'horizontale de l'arc de cercle trac\xE9 dans la partie haute des blocs de d\xE9part.
 
 \cleval{init arclength}{dimension}
-Repr\xE9sente la longueur horizontale de l'arc de cercle trac\xE9 dans la partie haute des blocs de d\xE9part.*
+Repr\xE9sente la longueur horizontale de l'arc de cercle trac\xE9 dans la partie haute des blocs de d\xE9part.
 
 \cleval{moreblock arcangle}{angle}
 Repr\xE9sente l'angle avec l'horizontale de l'arc de cercle trac\xE9 dans la partie haute des blocs de de type \xAB moreblock\xBB.
@@ -474,7 +478,7 @@
 \section{Mot de la fin}
 Le code de cette extension d\xE9montre mon immense ignorance de ti\textit kz/pgf et les m\xE9thodes de programmation qui lui sont propres que, d\xE9cid\xE9ment, je ne comprendrai jamais! C'est sans doute le trop grand \xE9loignement avec la logique de \TeX{} et la documentation de ti\textit kz/pgf, aussi indigeste qu'illisible, qui explique cette incompatibilit\xE9 d'humeur et mon d\xE9sint\xE9r\xEAt \xE0 l'\xE9gard de ti\textit kz. Toujours est-il que cette extension fonctionne, avec une lenteur certaine que j'attribue \xE0 ma programmation hasardeuse ainsi qu'\xE0 la lenteur intrins\xE8que de ti\textit kz.
 
-Toute remarque, remont\xE9e de bug ---~je n'ose pas dire am\xE9lioration du code~---, demande d'impl\xE9mentation de fonctionnalit\xE9 est bien \xE9videmment bienvenue; j'invite les utilisateurs \xE0 m'en faire part \emph{via} email.
+Toute remarque, remont\xE9e de bug ---~je n'ose pas dire am\xE9lioration du code~---, demande d'impl\xE9mentation de fonctionnalit\xE9 est bien \xE9videmment bienvenue; j'invite les utilisateurs \xE0 m'en faire part \emph{via} email \xE0 \texttt{unbonpetit at netc.fr}
 
 \section{Historique}
 \paragraph{v0.1\quad 16/05/2017} Premi\xE8re version.
@@ -481,5 +485,13 @@
 \paragraph{v0.2\quad 28/05/2017} Pour une impression en noir et blanc, ajout de l'option \xAB\texttt{print}\xBB, suite \xE0 une demande de P.~\bsc{Celdran}. De cette option d\xE9coulent les options \xAB\texttt{fill blocks}\xBB, \xAB\texttt{fill gray}\xBB, \xAB\texttt{text color}\xBB, \xAB\texttt{flag gray}\xBB et \xAB\texttt{line gray}\xBB.
 	
 	Ajout \xE9galement de l'option \xAB\texttt{contrast}\xBB qui qualifie la diff\xE9rence de nuance entre les lignes de contraste des parties hautes et des parties basses.
+\paragraph{v0.21\quad 24/07/2017} Correction d'une erreur dans le trac\xE9 des lignes de contraste des "boolbox".
 
+Correction d'un bug dans \verb|\resetscratch|.
+
+Correction d'un bug dans \verb|\txtbox|.
+
+Chargement de l'extension \texttt{simplekv} pour les cl\xE9s/valeurs.
+
+Ajout de la cl\xE9 \xABscale\xBB.
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/scratch/scratch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/scratch/scratch.sty	2017-08-08 20:42:15 UTC (rev 44988)
+++ trunk/Master/texmf-dist/tex/latex/scratch/scratch.sty	2017-08-08 20:42:25 UTC (rev 44989)
@@ -4,9 +4,9 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                    %
 \def\scrname                   {scratch}                             %
-\def\scrver                      {0.2}                               %
+\def\scrver                      {0.3}                               %
 %                                                                    %
-\def\scrdate                 {2017/05/28}                            %
+\def\scrdate                  {2017/08/08}                           %
 %                                                                    %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
@@ -24,10 +24,11 @@
 % This work has the LPPL maintenance status `maintained'.
 %
 % The Current Maintainer of this work is Christian Tellechea
-% email: unbonpetit at openmailbox.org
+% email: unbonpetit at netc.fr
 %        Commentaires, suggestions et signalement de bugs bienvenus !
 %        Comments, bug reports and suggestions are welcome.
 % Package URL: https://www.ctan.org/pkg/scratch
+% Copyright: Christian Tellechea 2017
 % --------------------------------------------------------------------
 % L'extension scratch est compos\xE9e des 4 fichiers suivants :
 %   - code               : scratch.sty
@@ -36,13 +37,13 @@
 % --------------------------------------------------------------------
 \ProvidesPackage{scratch}[\scrdate\space v\scrver\space Draw scratch instructions (CT)]
 \NeedsTeXFormat{LaTeX2e}
-\RequirePackage{hlist,tikz}
+\RequirePackage{simplekv,tikz}
 \usepgflibrary{shapes.misc,arrows.meta}
 \usetikzlibrary{bending}
 
 \expandafter\edef\csname scr\string_restorecatcode\endcsname{\catcode`\noexpand\_=\the\catcode`\_\relax}
 \catcode`\_11
-% Les r\xE9glages par d\xE9faut (modifiables avec \setdefaulthlist)
+% Les r\xE9glages par d\xE9faut (modifiables avec \setdefaultscratch)
 \setKVdefault[\scrname]{
 	else word          = sinon,% mot dans branche "else"
 	x sep              = 0.5em,% s\xE9paration entre c\xF4t\xE9s droits et gauche du bloc et le texte
@@ -52,9 +53,10 @@
 	loop width         = 3ex,% \xE9paisseur de la barre verticale \xE0 gauche d'un bloc de boucle
 	loop height        = 1.75ex,% hauteur de la barre du else et la barre finale
 	corner             = 0.66667ex,% valeur du chanfrein
+	scale              = 1,% \xE9chelle du dessin
 	init arcangle      = 30,% angle d\xE9but et fin de l'arc
 	init arclength     = 5em,% longueur de l'arc
-	moreblock arcangle = 15,% angle de d\xE9part et arri\xE9ve des "more blocks"
+	moreblock arcangle = 15,% angle de d\xE9part et arriv\xE9e des "more blocks"
 	contrast           = 20,% contraste des lignes de relief (0=aucun contraste, 100=noir/blanc)
 	print              = false,% impression noir et blanc ?
 	fill blocks        = false,% remplissage des blocks lorsque l'option "print" est vraie
@@ -64,18 +66,18 @@
 	line gray          = 0.4,% taux de gris pour les lignes lorsque l'option "print" est vraie
 	bool sep           = 1.25pt,% s\xE9paration entre les blocs bool\xE9ens imbriqu\xE9s
 }
-\expandafter\let\expandafter\resetscratch\csname hlst_[\scrname]\endcsname
+\def\resetscratch{\csname skv_[\scrname]\endcsname\scr_setcolors}
 \def\setscratch#1{\setKV[\scrname]{#1}\scr_setcolors}
 \def\setdefaultscratch#1{\setKVdefault[\scrname]{#1}\scr_setcolors}
 \def\scr_setcolors{%
-	\hlst_eearg{\definecolor{scr_fillgray}{gray}}{\useKV[\scrname]{fill gray}}%
-	\hlst_eearg{\definecolor{scr_linegray}{gray}}{\useKV[\scrname]{line gray}}%
-	\hlst_eearg{\definecolor{scr_flaggray}{gray}}{\useKV[\scrname]{flag gray}}%
+	\skv_eearg{\definecolor{scr_fillgray}{gray}}{\useKV[\scrname]{fill gray}}%
+	\skv_eearg{\definecolor{scr_linegray}{gray}}{\useKV[\scrname]{line gray}}%
+	\skv_eearg{\definecolor{scr_flaggray}{gray}}{\useKV[\scrname]{flag gray}}%
 }
 
 \def\scr_thesentinelkern{17}% nombre de "sp" sentinelle pour les booleanbox. Personne n'utilise 17sp j'esp\xE8re ?
-\def\scr_blockstrut{\vrule height2.1ex depth.9ex width0pt\relax}% TODO \xE0 modifier ?
-\def\scr_ovalstrut{\vphantom{\`Alpgqyj}}% TODO c'est pas un peu petit en hauteur tout \xE7a ?
+\def\scr_blockstrut{\vrule height2.1ex depth.9ex width0pt\relax}
+\def\scr_ovalstrut{\vphantom{\`Alpgqyj}}
 \def\scr_cslet#1{\expandafter\let\csname#1\endcsname}
 \def\scr_csedef#1{\expandafter\edef\csname#1\endcsname}
 \newcount\scr_loopnest
@@ -377,8 +379,8 @@
 			\draw[fill=\scr_current_fillcolor,draw=none](\scr_boolsep,-\scr_boolsep)--++(\scr_retainedwd-\scr_boolsep*2,0)--++(\scr_totheight/2+\scr_boolsep,\scr_totheight/2+\scr_boolsep)--++(-\scr_totheight/2-\scr_boolsep,\scr_totheight/2+\scr_boolsep)--++(-\scr_retainedwd+\scr_boolsep*2,0)--++(-\scr_totheight/2-\scr_boolsep,-\scr_totheight/2-\scr_boolsep)--cycle;%
 			\draw[\scr_current_linedark](\scr_retainedwd+\scr_totheight/2,\scr_totheight/2)--(\scr_retainedwd-\scr_boolsep,-\scr_boolsep)--(\scr_boolsep,-\scr_boolsep)
 			\ifboolKV[\scrname]{print}{--(-\scr_totheight/2,\scr_totheight/2)}{};
-			\draw[\scr_current_linelight](\scr_retainedwd+\scr_totheight/2,\scr_totheight/2)--(\scr_retainedwd-\scr_boolsep,\scr_boolsep+\scr_totheight)--(\scr_boolsep,\scr_boolsep+\scr_totheight)
-			\ifboolKV[\scrname]{print}{--(-\scr_totheight/2,\scr_totheight/2)}{};
+			\draw[\scr_current_linelight](-\scr_totheight/2,\scr_totheight/2)--(\scr_boolsep,\scr_boolsep+\scr_totheight)--(\scr_retainedwd-\scr_boolsep,\scr_boolsep+\scr_totheight)
+			\ifboolKV[\scrname]{print}{--(\scr_retainedwd+\scr_totheight/2,\scr_totheight/2)}{};
 			\node[inner sep=0pt,outer sep=0pt,minimum size=0pt,draw=none,anchor=south west,text=\scr_current_textcolor](x){\sffamily\bfseries\scr_ovalstrut\kern\scr_thesentinelkern sp #2};%
 		\end{tikzpicture}%
 	\endgroup
@@ -388,10 +390,11 @@
 %                        environnement scratch                         %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newenvironment{scratch}[1][]
-	{\hlst_ifempty{#1}{}{\setscratch{#1}}%
+	{\skv_ifempty{#1}{}{\setscratch{#1}}%
 	\normalfont
 	\edef\scr_ex{\the\dimexpr1ex\relax}% valeur d'1ex pour le trac\xE9 de la fl\xE8che
-	\edef\scr_corner{\the\dimexpr\useKV[\scrname]{corner}\relax}
+	\edef\scr_corner{\the\dimexpr\useKV[\scrname]{corner}\relax}%
+	\edef\scr_currentscale{\useKV[\scrname]{scale}}%
 	\edef\scr_xsep{\the\dimexpr\useKV[\scrname]{x sep}\relax}%
 	\edef\scr_ysepsup{\the\dimexpr\useKV[\scrname]{y sepsup}\relax}%
 	\edef\scr_ysepinf{\the\dimexpr\useKV[\scrname]{y sepinf}\relax}%
@@ -412,7 +415,7 @@
 	\let\blockinitclone\scr_blockinitclone\let\blockcontrol\scr_blockcontrol
 	\let\blocksensing\scr_blocksensing\let\blockmoreblocks\scr_blockmoreblocks
 	\catcode`\:12 \catcode`\;12 \catcode`\!12 \catcode`\?12 \catcode`\_12
-	\begin{tikzpicture}[line width=\scr_linewidth,inner sep=0pt,outer sep=0pt,minimum size=0pt,line cap=round]
+	\begin{tikzpicture}[line width=\scr_linewidth,inner sep=0pt,outer sep=0pt,minimum size=0pt,line cap=round,scale=\scr_currentscale,every node/.style={scale=\scr_currentscale}]
 		\node[shape=coordinate](origin){};% origine
 	}
 	{\end{tikzpicture}}
@@ -441,7 +444,7 @@
 \def\ovallook{\scr_ovalbox{scrlook}}
 \def\txtbox#1{% #1=texte dans un rectangle blanc
 	\begin{tikzpicture}[inner xsep=0.2em,inner ysep=0pt,baseline=(text.base west)]
-		\node[fill=white,text=black](text){\normalfont\sffamily\strut#1};
+		\node[rectangle,fill=white,text=black](text){\normalfont\sffamily\strut#1};
 		\draw[draw=white!80!black,line width=0.5pt](text.south west)--(text.north west)--(text.north east);
 		\ifboolKV[\scrname]{print}
 			{\draw[draw=white!80!black,line width=0.5pt](text.south west)--(text.south east)--(text.north east); }
@@ -540,6 +543,13 @@
 |-----------------------------------------------------------------------------|
 |   0.1   | 16/05/2017 | Premi\xE8re version                                     |
 |-----------------------------------------------------------------------------|
-|   0.2   | 27/05/2017 | Ajout des options "constast" et print ainsi que      |
+|   0.2   | 28/05/2017 | Ajout des options "constast", "print" ainsi que      |
 |         |            | les options relatives \xE0 "print"                      |
+|-----------------------------------------------------------------------------|
+|   0.3   | 08/08/2017 | - Correction d'une erreur dans le trac\xE9 des lignes   |
+|         |            |   de contraste des "boolbox"                         |
+|         |            | - Correction d'un bug dans \resetscratch             |
+|         |            | - Correction d'un bug dans \txtbox                   |
+|         |            | - Appel \xE0 simplekv pour les cl\xE9s/valeurs             |
+|         |            | - Ajout de la cl\xE9 "scale"                            |
 |-----------------------------------------------------------------------------|
\ No newline at end of file



More information about the tex-live-commits mailing list