summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-08-08 20:42:25 +0000
committerKarl Berry <karl@freefriends.org>2017-08-08 20:42:25 +0000
commit19d739268d5ddc1cded19571b7d665efa4c0c999 (patch)
tree8630785d7de5afa77cee3acc339bdd6c77c05109 /Master
parent8065b9f4ce6618e2a867b384059805a0d56050cb (diff)
scratch (8aug17)
git-svn-id: svn://tug.org/texlive/trunk@44989 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/scratch/README6
-rw-r--r--Master/texmf-dist/doc/latex/scratch/scratch-fr.pdfbin450231 -> 450611 bytes
-rw-r--r--Master/texmf-dist/doc/latex/scratch/scratch-fr.tex34
-rw-r--r--Master/texmf-dist/tex/latex/scratch/scratch.sty48
4 files changed, 55 insertions, 33 deletions
diff --git a/Master/texmf-dist/doc/latex/scratch/README b/Master/texmf-dist/doc/latex/scratch/README
index b91de4430df..4bceaaa7cc7 100644
--- a/Master/texmf-dist/doc/latex/scratch/README
+++ b/Master/texmf-dist/doc/latex/scratch/README
@@ -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@openmailbox.org (CT)
+E-mail : unbonpetit@netc.fr (CT)
Commentaires, signalements de bugs et
suggestions bienvenus
Licence : Released under the LaTeX Project Public License v1.3c or
diff --git a/Master/texmf-dist/doc/latex/scratch/scratch-fr.pdf b/Master/texmf-dist/doc/latex/scratch/scratch-fr.pdf
index 2c95c1f8db4..7568e190906 100644
--- a/Master/texmf-dist/doc/latex/scratch/scratch-fr.pdf
+++ b/Master/texmf-dist/doc/latex/scratch/scratch-fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex b/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex
index 8d7a30f5c5f..f32378ae4d8 100644
--- a/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex
+++ b/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex
@@ -2,7 +2,7 @@
% Ceci est la documentation du package "scratch"
%
% Fichier compilé 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éfaut} : {\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@openmailbox.org}}\par
+ Christian \bsc{Tellechea}\par
+ \texttt{unbonpetit@netc.fr}\par
\endgroup
\vskip2cm
\leftskip=.2\linewidth \rightskip=.2\linewidth \small
@@ -141,9 +142,9 @@
\end{titlepage}
\parindent0pt
\section{Avant propos}
-La présente extension \SCRATCH requiert les extensions \texttt{hlist} et \texttt{ti\textit kz}. Celles-ci sont automatiquement chargées par \SCRATCH.
+La présente extension \SCRATCH requiert les extensions \texttt{simplekv} et \texttt{ti\textit kz}. Celles-ci sont automatiquement chargées par \SCRATCH.
-En raison de la récente parution de \texttt{hlist}, postérieure au gel de \TeX live~2016, il peut être nécessaire d'installer à la main l'extension \texttt{hlist}. Pour ce faire, il suffit de télécharger les fichiers \texttt{hlist.sty} et \texttt{hlist.tex} sur le CTAN et copier ces fichiers dans un endroit où \LaTeX{} les voit; le répertoire \texttt{texmf} personnel est tout indiqué (il faut ensuite exécuter la commande \texttt{texhash}), ou le répertoire de compilation, pour une portée plus locale.
+Fidèle à mes convictions, la documentation de cette extension n'est disponible qu'en français.
\section{L'environnement \SCRATCH}
Pour dessiner un programme comme le fait \SCRATCH, il faut ouvrir un environnement «\SCRATCH» et écrire dans cet environnement les macros correspondant aux \emph{blocs} que l'on veut y mettre :
@@ -152,7 +153,7 @@ Pour dessiner un programme comme le fait \SCRATCH, il faut ouvrir un environneme
macros pour dessiner des blocs
\end{scratch}|
-Comme le savent ceux qui enseignent l'algorithmique et la programmation avec le très-à-la-mode logiciel « \SCRATCH », les programmes sont construits avec des briques, appelés «blocs», qui peuvent s'emboiter les uns sur les autres. Ces blocs sont de plusieurs couleurs, chacune correspondant à 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ès-à-la-mode\footnote{Je ne déteste rien de plus comme langage de programmation que ce \emph{truc} vaguement graphique, ultra limité et contre-productif dans l'apprentissage du codage qu'est scratch et que l'éducation nationale veut à tout prix imposer. Je ne compte bien évidemment pas me plier à ce nouveau dogme ridicule et ne l'utiliserai ni ne l'enseignerai; je considère que les élèves méritent mieux que scratch --~ADA par exemple~-- comme entrée dans le monde de la programmation. Ceci dit, coder cette extension a été un petit amusement.} logiciel « \SCRATCH », les programmes sont construits avec des briques, appelés «blocs», qui peuvent s'emboiter les uns sur les autres. Ces blocs sont de plusieurs couleurs, chacune correspondant à un type d'instruction que l'on retrouve dans les menus de \SCRATCH.
J'ai pris le parti d'écrire des macros ayant comme argument le texte qui figure dans le bloc. Ce faisant, on a plus de liberté que dans \SCRATCH où les blocs ont des textes prédéfinis, mais cette liberté permet d'utiliser cette extension quelle que soit la langue dans laquelle on écrit.
@@ -164,7 +165,7 @@ Ces blocs sont les plus courants et possèdent une encoche d'emboitement, femelle
La police d'écriture dans chaque bloc est la police « \textsf{sans serif} » en gras qui est définie dans le document au moment où l'environnement est appelé : pratiquement, cela signifie que les macros \verb|\sffamily| et \verb|\bfseries| sont exécutées avant que le texte des blocs ne soit composé. Dans cette documentation, la police sans serif est «\textsf{biolinum}».
-La plupart des dimensions des blocs sont proportionnelles à 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 à 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é «\texttt{scale}» pour mettre le dessin à l'échelle que l'on souhaite, voir page~\pageref{cle-scale}} .
Voici un inventaire des tous les blocs disponibles, empilés les uns sous les autres :
@@ -256,10 +257,10 @@ Un carré rempli de couleur et accessible avec la macro \verb|\squarecolor{<coule
Dans la symbolique graphique de \SCRATCH, les losanges contiennent des valeurs booléennes ayant vocation à se retrouver dans un bloc de test. Pour dessiner de tels objets booléens, les macros \verb|\bool<suffixe>{<texte>}| sont utilisées où les \verb|<suffixes>| représentent les couleurs correspondant à la fonction du booléen tracé : \suffixe{list}, \suffixe{sensing} ou \suffixe{operator}.
Les blocs de test sont de deux types,selon qu'ils possèdent ou pas une branche « else».
-\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 @@ Représente est l'épaisseur des barres horizontales « else » et inférieure des bl
\cleval{corner}{dimension}
Représente la dimension des chanfreins des blocs. Cette dimension est utilisée proportionnellement pour le placement horizontal, l'épaisseur et la largeur des encoches des blocs.
+\cleval{scale}{coefficient}\label{cle-scale}
+Représente l'échelle à laquelle est représenté le dessin.
+
\cleval{init arcangle}{angle}
Représente l'angle avec l'horizontale de l'arc de cercle tracé dans la partie haute des blocs de départ.
\cleval{init arclength}{dimension}
-Représente la longueur horizontale de l'arc de cercle tracé dans la partie haute des blocs de départ.*
+Représente la longueur horizontale de l'arc de cercle tracé dans la partie haute des blocs de départ.
\cleval{moreblock arcangle}{angle}
Représente l'angle avec l'horizontale de l'arc de cercle tracé dans la partie haute des blocs de de type « moreblock».
@@ -474,12 +478,20 @@ Lorsque \verb|print| est vrai, ce taux de gris est utilisé pour la couleur des l
\section{Mot de la fin}
Le code de cette extension démontre mon immense ignorance de ti\textit kz/pgf et les méthodes de programmation qui lui sont propres que, décidément, je ne comprendrai jamais! C'est sans doute le trop grand éloignement avec la logique de \TeX{} et la documentation de ti\textit kz/pgf, aussi indigeste qu'illisible, qui explique cette incompatibilité d'humeur et mon désintérêt à l'égard de ti\textit kz. Toujours est-il que cette extension fonctionne, avec une lenteur certaine que j'attribue à ma programmation hasardeuse ainsi qu'à la lenteur intrinsèque de ti\textit kz.
-Toute remarque, remontée de bug ---~je n'ose pas dire amélioration du code~---, demande d'implémentation de fonctionnalité est bien évidemment bienvenue; j'invite les utilisateurs à m'en faire part \emph{via} email.
+Toute remarque, remontée de bug ---~je n'ose pas dire amélioration du code~---, demande d'implémentation de fonctionnalité est bien évidemment bienvenue; j'invite les utilisateurs à m'en faire part \emph{via} email à \texttt{unbonpetit@netc.fr}
\section{Historique}
\paragraph{v0.1\quad 16/05/2017} Première version.
\paragraph{v0.2\quad 28/05/2017} Pour une impression en noir et blanc, ajout de l'option «\texttt{print}», suite à une demande de P.~\bsc{Celdran}. De cette option découlent les options «\texttt{fill blocks}», «\texttt{fill gray}», «\texttt{text color}», «\texttt{flag gray}» et «\texttt{line gray}».
Ajout également de l'option «\texttt{contrast}» qui qualifie la différence 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é 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és/valeurs.
+Ajout de la clé «scale».
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/scratch/scratch.sty b/Master/texmf-dist/tex/latex/scratch/scratch.sty
index a764975caa5..ae4fa5cb6af 100644
--- a/Master/texmf-dist/tex/latex/scratch/scratch.sty
+++ b/Master/texmf-dist/tex/latex/scratch/scratch.sty
@@ -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@openmailbox.org
+% email: unbonpetit@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ée 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églages par défaut (modifiables avec \setdefaulthlist)
+% Les réglages par défaut (modifiables avec \setdefaultscratch)
\setKVdefault[\scrname]{
else word = sinon,% mot dans branche "else"
x sep = 0.5em,% séparation entre côtés droits et gauche du bloc et le texte
@@ -52,9 +53,10 @@
loop width = 3ex,% épaisseur de la barre verticale à 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,% échelle du dessin
init arcangle = 30,% angle début et fin de l'arc
init arclength = 5em,% longueur de l'arc
- moreblock arcangle = 15,% angle de départ et arriéve des "more blocks"
+ moreblock arcangle = 15,% angle de départ et arrivée 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éparation entre les blocs booléens imbriqués
}
-\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ère ?
-\def\scr_blockstrut{\vrule height2.1ex depth.9ex width0pt\relax}% TODO à modifier ?
-\def\scr_ovalstrut{\vphantom{\`Alpgqyj}}% TODO c'est pas un peu petit en hauteur tout ça ?
+\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é de la flèche
- \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 @@ Versions :
|-----------------------------------------------------------------------------|
| 0.1 | 16/05/2017 | Première 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 à "print" |
+|-----------------------------------------------------------------------------|
+| 0.3 | 08/08/2017 | - Correction d'une erreur dans le tracé des lignes |
+| | | de contraste des "boolbox" |
+| | | - Correction d'un bug dans \resetscratch |
+| | | - Correction d'un bug dans \txtbox |
+| | | - Appel à simplekv pour les clés/valeurs |
+| | | - Ajout de la clé "scale" |
|-----------------------------------------------------------------------------| \ No newline at end of file