summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/scratch3
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-28 03:02:53 +0000
committerNorbert Preining <norbert@preining.info>2020-04-28 03:02:53 +0000
commit7f8fffa1c8b5b30f8e2a9fd4b76778147dbb9128 (patch)
treeb43fadfafc34c82c8323d6c6ad021c8ef0f81bb7 /macros/latex/contrib/scratch3
parentae496a1c963576dfe63885afa818b2af745ed44a (diff)
CTAN sync 202004280302
Diffstat (limited to 'macros/latex/contrib/scratch3')
-rw-r--r--macros/latex/contrib/scratch3/README4
-rw-r--r--macros/latex/contrib/scratch3/scratch3-fr.pdfbin508522 -> 508759 bytes
-rw-r--r--macros/latex/contrib/scratch3/scratch3-fr.tex3
-rw-r--r--macros/latex/contrib/scratch3/scratch3.sty99
4 files changed, 58 insertions, 48 deletions
diff --git a/macros/latex/contrib/scratch3/README b/macros/latex/contrib/scratch3/README
index c9829a9dfb..a8ee05f184 100644
--- a/macros/latex/contrib/scratch3/README
+++ b/macros/latex/contrib/scratch3/README
@@ -3,9 +3,9 @@ ___________________________________
L'extension
scratch3
- v0.16
+ v0.17
- 20 mars 2020
+ 27 avril 2020
___________________________________
Author : Christian Tellechea
diff --git a/macros/latex/contrib/scratch3/scratch3-fr.pdf b/macros/latex/contrib/scratch3/scratch3-fr.pdf
index 1eb21d8b58..22d00f2c56 100644
--- a/macros/latex/contrib/scratch3/scratch3-fr.pdf
+++ b/macros/latex/contrib/scratch3/scratch3-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/scratch3/scratch3-fr.tex b/macros/latex/contrib/scratch3/scratch3-fr.tex
index da7c723eb7..03cbfc64e3 100644
--- a/macros/latex/contrib/scratch3/scratch3-fr.tex
+++ b/macros/latex/contrib/scratch3/scratch3-fr.tex
@@ -624,4 +624,7 @@ Toute remarque, remontée de bug ---~je n'ose pas dire amélioration du code~---,
\begin{version}{0.16}{20/03/2020}
>Le bug corrigé dans la v0.15 est fautif, \verb|scr_scale| est désormais initialisée dans \verb|\initmoreblocks|.
\end{version}
+\begin{version}{0.17}{27/04/2020}
+ >Quelques petites modifications pour ne plus appeler aucune macro privée de simplekv et sa version 0.2.
+\end{version}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/scratch3/scratch3.sty b/macros/latex/contrib/scratch3/scratch3.sty
index 26b771cc27..fe6ca27523 100644
--- a/macros/latex/contrib/scratch3/scratch3.sty
+++ b/macros/latex/contrib/scratch3/scratch3.sty
@@ -4,10 +4,10 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
-\def\scrname{ scratch3 }%
-\def\scrver { 0.16 }%
+\def\scrname {scratch3} %
+\def\scrver {0.17} %
% %
-\def\scrdate{ 2020/03/20 }%
+\def\scrdate {2020/04/27} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -39,51 +39,27 @@
\expandafter\edef\csname scr\string _restorecatcode\endcsname{\catcode`\noexpand\_=\the\catcode`\_\relax}
\catcode`\_11
-\def\scr_removespaces#1{\edef#1{\skv_exparg\skv_removeextremespaces#1}}
-\scr_removespaces\scrname
-\scr_removespaces\scrver
-\scr_removespaces\scrdate
-% Les réglages par défaut (modifiables avec \setdefaultscratch)
-\setKVdefault[\scrname]{
- pre text = \sffamily ,% choix de la police
- else word = sinon ,% mot dans branche "else"
- x sep = 0.33333em ,% séparation entre côtés droits et gauche du bloc et le texte
- y sepsup = 3pt ,% séparation entre côté sup (insert) et haut texte
- y sepinf = 5pt ,% séparation entre côté inf et bas texte
- line width = .4pt ,% épaisseur des lignes de relief
- 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
- notch = 1em ,% longueur des encoches
- scale = 1 ,% échelle du dessin
- init arcangle = 30 ,% angle début et fin de l'arc
- init arclength = 5em ,% longueur de l'arc
- contrast = 20 ,% contraste des lignes de relief
- print = false ,% impression noir et blanc ?
- fill blocks = false ,% remplissage des blocks lorsque l'option "print" est vraie
- fill gray = 0.85 ,% taux de gris pour le remplissage si fill blocks est vraie
- text color = black ,% couleur du texte lorsque l'option "print" est vraie
- flag gray = 0.33 ,% taux de gris pour le drapeau et la flèche de répétition lorsque l'option "print" est vraie
- 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
- num blocks = false ,% numérotation des blocs
- num sep = 3pt ,% séparation entre bord gauche et numérotation
- num start = 1 ,% numéro de départ
- baseline = 1 ,% alignement sur le 1er bloc (en partant du haut)
-}
+\long\def\scr_eearg#1#2{\expandafter\scr_eearg_i\expandafter{#2}{#1}}\let\scr_eexparg\scr_eearg
+\long\def\scr_eeearg#1#2{\expandafter\expandafter\expandafter\scr_eearg_i\expandafter\expandafter\expandafter{#2}{#1}}%
+\long\def\scr_eearg_i#1#2{#2{#1}}
+\long\def\scr_first#1#2{#1}
+\long\def\scr_second#1#2{#2}
+\long\def\scr_ifempty#1{\scr_ifempty_i#1\_nil\_nil\scr_second\scr_first\__nil}%
+\long\def\scr_ifempty_i#1#2\_nil#3#4#5\__nil{#4}
+
\newcommand*\numblock[1]{%
\color{black}%
\footnotesize
\bfseries
#1%
}
-\newcommand*\resetscratch{\csname skv_[\scrname]\endcsname\scr_setcolors}
+\newcommand*\resetscratch{\restore[\scrname]\scr_setcolors}
\newcommand*\setscratch[1]{\setKV[\scrname]{#1}\scr_setcolors}
\newcommand*\setdefaultscratch[1]{\setKVdefault[\scrname]{#1}\scr_setcolors}
\def\scr_setcolors{%
- \scr_normalizedec\scr_fillgray fill gray[0,1]\skv_exparg{\definecolor{scr_fillgray}{gray}}\scr_fillgray
- \scr_normalizedec\scr_linegray line gray[0,1]\skv_exparg{\definecolor{scr_linegray}{gray}}\scr_linegray
- \scr_normalizedec\scr_flaggray flag gray[0,1]\skv_exparg{\definecolor{scr_flaggray}{gray}}\scr_flaggray
+ \scr_normalizedec\scr_fillgray fill gray[0,1]\scr_eearg{\definecolor{scr_fillgray}{gray}}\scr_fillgray
+ \scr_normalizedec\scr_linegray line gray[0,1]\scr_eearg{\definecolor{scr_linegray}{gray}}\scr_linegray
+ \scr_normalizedec\scr_flaggray flag gray[0,1]\scr_eearg{\definecolor{scr_flaggray}{gray}}\scr_flaggray
}
\expandafter\let\expandafter\scr_ifstar\csname @ifstar\endcsname
\def\scr_boolsentinel{17}%
@@ -202,7 +178,7 @@
yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup
]
(num)
- {\skv_exparg\numblock{\number\scr_blocknum}};%
+ {\scr_eearg\numblock{\number\scr_blocknum}};%
}
{}%
\advance\scr_blocknum1
@@ -273,7 +249,7 @@
yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup
]
(num)
- {\skv_exparg\numblock{\number\scr_blocknum}};
+ {\scr_eearg\numblock{\number\scr_blocknum}};
}
{}%
\advance\scr_blocknum1
@@ -344,7 +320,7 @@
yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup
]
(num)
- {\skv_exparg\numblock{\number\scr_blocknum}};}
+ {\scr_eearg\numblock{\number\scr_blocknum}};}
{}%
\advance\scr_blocknum1
\advance\scr_yoffset\dimexpr-\scr_totht-\scr_ysepsup-\scr_ysepinf-\scr_corner\relax
@@ -416,7 +392,7 @@
yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup
]
(num)
- {\skv_exparg\numblock{\number\scr_blocknum}};%
+ {\scr_eearg\numblock{\number\scr_blocknum}};%
}
{}%
\advance\scr_blocknum1
@@ -466,7 +442,7 @@
yshift=\csname toploopy\number\scr_loopnest\endcsname-\csname scr_txtloopht\number\scr_loopnest\endcsname-\scr_corner-\scr_ysepsup
]
(num)
- {\skv_eearg\numblock{\csname blocnum\number\scr_loopnest\endcsname}};%
+ {\scr_eeearg\numblock{\csname blocnum\number\scr_loopnest\endcsname}};%
}%
}
{\scr_cslet{scr_numblockif\number\scr_loopnest}\empty
@@ -491,7 +467,7 @@
yshift=\csname bottomify\number\scr_loopnest\endcsname-\scr_loopblockheight-\scr_corner
]
(num)
- {\skv_eearg\numblock{\csname blocelsenum\number\scr_loopnest\endcsname}};}%
+ {\scr_eeearg\numblock{\csname blocelsenum\number\scr_loopnest\endcsname}};}%
}
{\scr_cslet{scr_numblockelse\number\scr_loopnest}\empty
}%
@@ -874,8 +850,37 @@
\definecolor{boolemptyd} {HTML}{cf8b17}% new 0.14
\definecolor{boolemptydd} {HTML}{cf8b17}% new 0.14
+% Les réglages par défaut (modifiables avec \setdefaultscratch)
+\setKVdefault[\scrname]{
+ pre text = \sffamily ,% choix de la police
+ else word = sinon ,% mot dans branche "else"
+ x sep = 0.33333em ,% séparation entre côtés droits et gauche du bloc et le texte
+ y sepsup = 3pt ,% séparation entre côté sup (insert) et haut texte
+ y sepinf = 5pt ,% séparation entre côté inf et bas texte
+ line width = .4pt ,% épaisseur des lignes de relief
+ 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
+ notch = 1em ,% longueur des encoches
+ scale = 1 ,% échelle du dessin
+ init arcangle = 30 ,% angle début et fin de l'arc
+ init arclength = 5em ,% longueur de l'arc
+ contrast = 20 ,% contraste des lignes de relief
+ print = false ,% impression noir et blanc ?
+ fill blocks = false ,% remplissage des blocks lorsque l'option "print" est vraie
+ fill gray = 0.85 ,% taux de gris pour le remplissage si fill blocks est vraie
+ text color = black ,% couleur du texte lorsque l'option "print" est vraie
+ flag gray = 0.33 ,% taux de gris pour le drapeau et la flèche de répétition lorsque l'option "print" est vraie
+ 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
+ num blocks = false ,% numérotation des blocs
+ num sep = 3pt ,% séparation entre bord gauche et numérotation
+ num start = 1 ,% numéro de départ
+ baseline = 1 ,% alignement sur le 1er bloc (en partant du haut)
+}
+
\newenvironment{scratch}[1][]
- {\skv_ifempty{#1}{}{\setscratch{#1}}%
+ {\scr_ifempty{#1}{}{\setscratch{#1}}%
\sffamily
\edef\scr_ex{\the\dimexpr1ex\relax}% valeur d'1ex pour le tracé de la flèche
\edef\scr_em{\the\dimexpr1em\relax}%
@@ -1239,4 +1244,6 @@ Versions :
|---------+------------+------------------------------------------------------|
| 0.16 | 20/03/2020 | * regression 0.15 --> l'échelle est désormais |
| | | initialisée dans \initmoreblocks |
+|---------+------------+------------------------------------------------------|
+| 0.17 | 27/04/2020 | * 2 ou 3 modifs en rapport avec la v0.2 de simplekv |
|---------+------------+------------------------------------------------------| \ No newline at end of file