summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/scratch/README4
-rw-r--r--Master/texmf-dist/doc/latex/scratch/scratch-fr.pdfbin488105 -> 497543 bytes
-rw-r--r--Master/texmf-dist/doc/latex/scratch/scratch-fr.tex18
-rw-r--r--Master/texmf-dist/tex/latex/scratch/scratch.sty706
4 files changed, 370 insertions, 358 deletions
diff --git a/Master/texmf-dist/doc/latex/scratch/README b/Master/texmf-dist/doc/latex/scratch/README
index 98ec7aaff3a..0131d6890d4 100644
--- a/Master/texmf-dist/doc/latex/scratch/README
+++ b/Master/texmf-dist/doc/latex/scratch/README
@@ -3,9 +3,9 @@ ___________________________________
L'extension
scratch
- v0.4
+ v0.41
- 8 avril 2018
+ 19 f\'evrier 2019
___________________________________
Author : Christian Tellechea
diff --git a/Master/texmf-dist/doc/latex/scratch/scratch-fr.pdf b/Master/texmf-dist/doc/latex/scratch/scratch-fr.pdf
index 97299661241..b6b6294059b 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 46aaab49b0a..ad43c10b5d9 100644
--- a/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex
+++ b/Master/texmf-dist/doc/latex/scratch/scratch-fr.tex
@@ -103,7 +103,7 @@
\@ifstar\@sverb\@verb}
\endgroup
\def\longfrscrdate@i#1/#2/#3\@nil{\number#3\relax\space \ifcase#2 \or janvier\or février\or mars\or avril\or mai\or juin\or juillet\or aout\or septembre\or octobre\or novembre\or décembre\fi\space#1}
-\edef\longfrscrdate{\expandafter\longfrscrdate@i\scrdate\@nil}
+\edef\longfrscrdate{\expandafter\longfrscrdate@i\SCRdate\@nil}
\makeatother
\begingroup
\catcode`\_11
@@ -119,7 +119,7 @@
\par\nobreak
}
\endgroup
-\def\suffixe#1{\begingroup\sffamily\bfseries\color{scr#1}#1\endgroup}
+\def\suffixe#1{\begingroup\sffamily\bfseries\color{SCR#1}#1\endgroup}
\newenvironment{version}[2]
{\paragraph{\hbox to 4em {v\hskip1pt #1\hfill}#2}\hskip0pt \par
\catcode`\>13 \begingroup\lccode`\~`\> \lowercase{\endgroup\let~}\item
@@ -132,9 +132,9 @@
\centering
\null\vskip.25\vsize
{\large\bfseries L'extension pour \LaTeX\medbreak
- \Huge \begin{scratch}[line width=1.5pt]\blockmove\scrname\end{scratch}\par}
+ \Huge \begin{scratch}[line width=1.5pt]\blockmove\SCRname\end{scratch}\par}
\bigbreak
- v \scrver
+ v \SCRver
\smallbreak
\longfrscrdate
\vskip1.5cm
@@ -150,6 +150,8 @@
La présente extension \SCRATCH requiert les extensions \texttt{simplekv} et \texttt{ti\textit kz}. Celles-ci sont automatiquement chargées par \SCRATCH.
Fidèle à mes convictions, la documentation de cette extension n'est disponible qu'en français.
+\medbreak
+{\color{red}\large\textbf{Attention} : cette extension est obsolète, est désormais gelée et \emph{n'est plus maintenue}. Par conséquent, cette version \SCRver{} sera la dernière. En effet, \SCRATCH v2 n'est plus utilisé au profit de \SCRATCH v3. La nouvelle extension «\texttt{scratch3}» rend possible le tracé de blocs similaires à ceux de \SCRATCH v3.}
\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 :
@@ -577,8 +579,8 @@ Toute remarque, remontée de bug ---~je n'ose pas dire amélioration du code~---,
\end{version}
\begin{version}{0.31}{15/09/2017}
- >Correction d'un bug signalé par G. \textsc{Mandallaz} dans \verb|\scr_ovalbox| qui s'exécute maintenant dans un groupe : l'assignation de \verb|\scr_current_fillcolor| est donc locale.
- >Correction d'une erreur dans le tracé des lignes de contraste des \verb|\scr_ovalbox|.
+ >Correction d'un bug signalé par G. \textsc{Mandallaz} dans \verb|\SCR_ovalbox| qui s'exécute maintenant dans un groupe : l'assignation de \verb|\SCR_current_fillcolor| est donc locale.
+ >Correction d'une erreur dans le tracé des lignes de contraste des \verb|\SCR_ovalbox|.
\end{version}
\begin{version}{0.32}{20/09/2017}
@@ -599,4 +601,8 @@ Toute remarque, remontée de bug ---~je n'ose pas dire amélioration du code~---,
>Nouvelle clé «notch» pour spécifier la longueur du trait horizontal des encoches.
>Nettoyage du code.
\end{version}
+
+\begin{version}{0.41}{20/03/2019}
+ >Dernière version, le package est gelé et n'est plus maintenu en raison de l'abandon de \SCRATCH v2 au profit de \SCRATCH v3.
+\end{version}
\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 6b354774d76..704308837ff 100644
--- a/Master/texmf-dist/tex/latex/scratch/scratch.sty
+++ b/Master/texmf-dist/tex/latex/scratch/scratch.sty
@@ -3,21 +3,21 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
-\def\scrname {scratch} %
-\def\scrver {0.4} %
+\def\SCRname {scratch} %
+\def\SCRver {0.41} %
% %
-\def\scrdate {2018/04/08} %
+\def\SCRdate {2019/02/19} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% --------------------------------------------------------------------
% Author : Christian Tellechea
-% Status : Maintained
+% Status : Frozen
% Email : unbonpetit@netc.fr
% Package URL: https://www.ctan.org/pkg/scratch
% Bug tracker: https://framagit.org/unbonpetit/scratch/issues
% Repository : https://framagit.org/unbonpetit/scratch/tree/master
-% Copyright : Christian Tellechea 2017-2018
+% Copyright : Christian Tellechea 2017-2019
% Licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txt
% Files : 1) scratch.sty
@@ -25,16 +25,21 @@
% 3) scratch-fr.pdf
% 4) README
% --------------------------------------------------------------------
-\ProvidesPackage{scratch}[\scrdate\space v\scrver\space Draw scratch instructions (CT)]
+\csname @ifpackageloaded\endcsname{scratch3}
+ {\PackageError{scratch}{scratch cannot be used since scratch3 is already loaded}{}%
+ \endinput
+ }
+ {}
+\ProvidesPackage{scratch}[\SCRdate\space v\SCRver\space Draw scratch instructions (CT)]
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{simplekv,tikz}
\usepgflibrary{shapes.misc,arrows.meta}
\usetikzlibrary{bending}
-\expandafter\edef\csname scr\string_restorecatcode\endcsname{\catcode`\noexpand\_=\the\catcode`\_\relax\catcode`^^*=\the\catcode`^^*\relax}
-\catcode`\_11 \catcode`^^*=^^w
+\expandafter\edef\csname SCR\string_restorecatcode\endcsname{\catcode`\noexpand\_=\the\catcode`\_\relax}
+\catcode`\_11
% Les réglages par défaut (modifiables avec \setdefaultscratch)
-\setKVdefault[\scrname]{
+\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
y sepsup = 1pt,% séparation entre côté sup (insert) et haut texte
@@ -60,157 +65,156 @@
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)
- jj"jj61jj6ojj)jj,jj`jj-odjj65jj3dfjj!jj,jj73jj%
}
\newcommand*\numblock[1]{\color{black}\footnotesize\bfseries#1}
-\newcommand*\resetscratch{\csname skv_[\scrname]\endcsname\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
+\newcommand*\resetscratch{\csname skv_[\SCRname]\endcsname\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
}
-\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}
-\def\scr_ovalstrut{\vphantom{\`Ag}}
-\def\scr_cslet#1{\expandafter\let\csname#1\endcsname}
-\def\scr_csdef#1{\expandafter\def\csname#1\endcsname}
-\def\scr_csedef#1{\expandafter\edef\csname#1\endcsname}
-\def\scr_maxdim(#1,#2){\the\dimexpr\ifdim\dimexpr#1-(#2)\relax<0pt #2\else#1\fi\relax}
-\def\scr_normalizedec#1#2[#3,#4]{\edef#1{\useKV[\scrname]{#2}}\ifdim#1pt<#3pt \def#1{#3}\else\ifdim#1pt>#4pt \def#1{#4}\fi\fi}
-\def\scr_normalizedim#1#2[#3,#4]{\edef#1{\the\dimexpr\useKV[\scrname]{#2}}\ifdim\dimexpr#1-(#3)\relax<0pt \edef#1{\the\dimexpr#3}\else\ifdim\dimexpr#1-(#4)\relax>0pt \edef#1{\the\dimexpr#4}\fi\fi}
-\def\scr_firsttonil#1#2\_nil{#1}
-\newcount\scr_loopnest
-\newcount\scr_blocknum
-\newbox\scr_box
-\newdimen\scr_yoffset
-\newdimen\scr_xoffset
+\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}
+\def\SCR_ovalstrut{\vphantom{\`Ag}}
+\def\SCR_cslet#1{\expandafter\let\csname#1\endcsname}
+\def\SCR_csdef#1{\expandafter\def\csname#1\endcsname}
+\def\SCR_csedef#1{\expandafter\edef\csname#1\endcsname}
+\def\SCR_maxdim(#1,#2){\the\dimexpr\ifdim\dimexpr#1-(#2)\relax<0pt #2\else#1\fi\relax}
+\def\SCR_normalizedec#1#2[#3,#4]{\edef#1{\useKV[\SCRname]{#2}}\ifdim#1pt<#3pt \def#1{#3}\else\ifdim#1pt>#4pt \def#1{#4}\fi\fi}
+\def\SCR_normalizedim#1#2[#3,#4]{\edef#1{\the\dimexpr\useKV[\SCRname]{#2}}\ifdim\dimexpr#1-(#3)\relax<0pt \edef#1{\the\dimexpr#3}\else\ifdim\dimexpr#1-(#4)\relax>0pt \edef#1{\the\dimexpr#4}\fi\fi}
+\def\SCR_firsttonil#1#2\_nil{#1}
+\newcount\SCR_loopnest
+\newcount\SCR_blocknum
+\newbox\SCR_box
+\newdimen\SCR_yoffset
+\newdimen\SCR_xoffset
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dessine un bloc normal %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\scr_normalblock#1#2{% #1=couleur #2=texte
- \def\scr_current_blockcolor{#1}%
- \edef\scr_current_fillcolor{\ifboolKV[\scrname]{print}{\ifboolKV[\scrname]{fill blocks}{scr_fillgray}{none}}{\scr_current_blockcolor}}%
- \edef\scr_current_linelight{\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!white}%
- \edef\scr_current_linedark {\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!black}%
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
- \setbox\scr_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#2\scr_blockstrut\endpgfinterruptpicture}%
- \edef\scr_boxwd{\scr_maxdim(\wd\scr_box,\scr_minwd)}%
- \edef\scr_boxht{\the\ht\scr_box}%
- \edef\scr_totht{\the\dimexpr\ht\scr_box+\dp\scr_box\relax}%
- \draw[draw=none,fill=\scr_current_fillcolor,yshift=\scr_yoffset,xshift=\scr_xoffset]
- (\scr_corner,0)--++(\scr_notch,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch,0)--++(\scr_corner,\scr_corner)--++(\scr_boxwd+2*\scr_xsep-\scr_corner*4-\scr_notch*2,0)--++(\scr_corner,-\scr_corner)% ligne sup
- --++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(0,\scr_totht+\scr_ysepsup+\scr_ysepinf-\scr_corner)--cycle;
- \node[at=(origin),draw=none,anchor=base west,xshift=\scr_xoffset+\scr_xsep,yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup,text=\scr_current_textcolor](txt\number\scr_blocknum){\sffamily\bfseries#2\scr_blockstrut};
- \ifboolKV[\scrname]{num blocks}
- {\node[at=(origin),draw=none,anchor=base east,xshift=-\scr_numsep,yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup](num){\skv_exparg\numblock{\number\scr_blocknum}};}
+\def\SCR_normalblock#1#2{% #1=couleur #2=texte
+ \def\SCR_current_blockcolor{#1}%
+ \edef\SCR_current_fillcolor{\ifboolKV[\SCRname]{print}{\ifboolKV[\SCRname]{fill blocks}{SCR_fillgray}{none}}{\SCR_current_blockcolor}}%
+ \edef\SCR_current_linelight{\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!white}%
+ \edef\SCR_current_linedark {\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!black}%
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
+ \setbox\SCR_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#2\SCR_blockstrut\endpgfinterruptpicture}%
+ \edef\SCR_boxwd{\SCR_maxdim(\wd\SCR_box,\SCR_minwd)}%
+ \edef\SCR_boxht{\the\ht\SCR_box}%
+ \edef\SCR_totht{\the\dimexpr\ht\SCR_box+\dp\SCR_box\relax}%
+ \draw[draw=none,fill=\SCR_current_fillcolor,yshift=\SCR_yoffset,xshift=\SCR_xoffset]
+ (\SCR_corner,0)--++(\SCR_notch,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,\SCR_corner)--++(\SCR_boxwd+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2,0)--++(\SCR_corner,-\SCR_corner)% ligne sup
+ --++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(0,\SCR_totht+\SCR_ysepsup+\SCR_ysepinf-\SCR_corner)--cycle;
+ \node[at=(origin),draw=none,anchor=base west,xshift=\SCR_xoffset+\SCR_xsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_corner-\SCR_ysepsup,text=\SCR_current_textcolor](txt\number\SCR_blocknum){\sffamily\bfseries#2\SCR_blockstrut};
+ \ifboolKV[\SCRname]{num blocks}
+ {\node[at=(origin),draw=none,anchor=base east,xshift=-\SCR_numsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_corner-\SCR_ysepsup](num){\skv_exparg\numblock{\number\SCR_blocknum}};}
{}%
- \advance\scr_blocknum1
- \draw[draw=\scr_current_linedark,yshift=\scr_yoffset,xshift=\scr_xoffset](\scr_boxwd+\scr_xsep*2,-\scr_corner)--++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0);
- \draw[draw=\scr_current_linelight,yshift=\scr_yoffset,xshift=\scr_xoffset](\scr_corner,-\scr_corner-\scr_ysepsup-\scr_totht-\scr_ysepinf)--++(-\scr_corner,\scr_corner)--++(0,\scr_totht+\scr_ysepsup+\scr_ysepinf-\scr_corner)--++(\scr_corner,\scr_corner)--++(\scr_notch,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch,0)--++(\scr_corner,\scr_corner)--++(\scr_boxwd+2*\scr_xsep-\scr_corner*4-\scr_notch*2,0)--++(\scr_corner,-\scr_corner);
- \advance\scr_yoffset\dimexpr-\scr_totht-\scr_ysepsup-\scr_ysepinf-\scr_corner-\scr_linewidth+\scr_extraoffset\relax
- \gdef\scr_blockstop{0}%
+ \advance\SCR_blocknum1
+ \draw[draw=\SCR_current_linedark,yshift=\SCR_yoffset,xshift=\SCR_xoffset](\SCR_boxwd+\SCR_xsep*2,-\SCR_corner)--++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0);
+ \draw[draw=\SCR_current_linelight,yshift=\SCR_yoffset,xshift=\SCR_xoffset](\SCR_corner,-\SCR_corner-\SCR_ysepsup-\SCR_totht-\SCR_ysepinf)--++(-\SCR_corner,\SCR_corner)--++(0,\SCR_totht+\SCR_ysepsup+\SCR_ysepinf-\SCR_corner)--++(\SCR_corner,\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,\SCR_corner)--++(\SCR_boxwd+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2,0)--++(\SCR_corner,-\SCR_corner);
+ \advance\SCR_yoffset\dimexpr-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf-\SCR_corner-\SCR_linewidth+\SCR_extraoffset\relax
+ \gdef\SCR_blockstop{0}%
}
\newcommand*\blockspace[1][1]{%
- \advance\scr_yoffset#1\dimexpr-\scr_blockstruttotht-\scr_ysepsup-\scr_ysepinf-\scr_corner-\scr_linewidth+\scr_extraoffset\relax
- \gdef\scr_blockstop{1}%
+ \advance\SCR_yoffset#1\dimexpr-\SCR_blockstruttotht-\SCR_ysepsup-\SCR_ysepinf-\SCR_corner-\SCR_linewidth+\SCR_extraoffset\relax
+ \gdef\SCR_blockstop{1}%
}
\newcommand*\blockstop[1]{% #1=texte
- \def\scr_current_blockcolor{scrcontrol}%
- \edef\scr_current_fillcolor{\ifboolKV[\scrname]{print}{\ifboolKV[\scrname]{fill blocks}{scr_fillgray}{none}}{\scr_current_blockcolor}}%
- \edef\scr_current_linelight{\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!white}%
- \edef\scr_current_linedark {\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!black}%
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
- \setbox\scr_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#1\scr_blockstrut\endpgfinterruptpicture}%
- \edef\scr_boxwd{\scr_maxdim(\wd\scr_box,\scr_minwd)}%
- \edef\scr_boxht{\the\ht\scr_box}%
- \edef\scr_totht{\the\dimexpr\ht\scr_box+\dp\scr_box\relax}%
- \draw[draw=none,fill=\scr_current_fillcolor,yshift=\scr_yoffset,xshift=\scr_xoffset]
- (\scr_corner,0)--++(\scr_notch,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch,0)--++(\scr_corner,\scr_corner)--++(\scr_boxwd+2*\scr_xsep-\scr_corner*4-\scr_notch*2,0)--++(\scr_corner,-\scr_corner)% ligne sup
- --++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*2,0)--++(-\scr_corner,\scr_corner)--++(0,\scr_totht+\scr_ysepsup+\scr_ysepinf-\scr_corner)--cycle
- node[at=(origin),draw=none,anchor=base west,xshift=\scr_xoffset+\scr_xsep,yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup,text=\scr_current_textcolor](txt\number\scr_blocknum){\sffamily\bfseries#1\scr_blockstrut};
- \ifboolKV[\scrname]{num blocks}
- {\node[at=(origin),draw=none,anchor=base east,xshift=-\scr_numsep,yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup](num){\skv_exparg\numblock{\number\scr_blocknum}};
+ \def\SCR_current_blockcolor{SCRcontrol}%
+ \edef\SCR_current_fillcolor{\ifboolKV[\SCRname]{print}{\ifboolKV[\SCRname]{fill blocks}{SCR_fillgray}{none}}{\SCR_current_blockcolor}}%
+ \edef\SCR_current_linelight{\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!white}%
+ \edef\SCR_current_linedark {\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!black}%
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
+ \setbox\SCR_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#1\SCR_blockstrut\endpgfinterruptpicture}%
+ \edef\SCR_boxwd{\SCR_maxdim(\wd\SCR_box,\SCR_minwd)}%
+ \edef\SCR_boxht{\the\ht\SCR_box}%
+ \edef\SCR_totht{\the\dimexpr\ht\SCR_box+\dp\SCR_box\relax}%
+ \draw[draw=none,fill=\SCR_current_fillcolor,yshift=\SCR_yoffset,xshift=\SCR_xoffset]
+ (\SCR_corner,0)--++(\SCR_notch,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,\SCR_corner)--++(\SCR_boxwd+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2,0)--++(\SCR_corner,-\SCR_corner)% ligne sup
+ --++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*2,0)--++(-\SCR_corner,\SCR_corner)--++(0,\SCR_totht+\SCR_ysepsup+\SCR_ysepinf-\SCR_corner)--cycle
+ node[at=(origin),draw=none,anchor=base west,xshift=\SCR_xoffset+\SCR_xsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_corner-\SCR_ysepsup,text=\SCR_current_textcolor](txt\number\SCR_blocknum){\sffamily\bfseries#1\SCR_blockstrut};
+ \ifboolKV[\SCRname]{num blocks}
+ {\node[at=(origin),draw=none,anchor=base east,xshift=-\SCR_numsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_corner-\SCR_ysepsup](num){\skv_exparg\numblock{\number\SCR_blocknum}};
}
{}%
- \advance\scr_blocknum1
- \draw[draw=\scr_current_linedark,yshift=\scr_yoffset,xshift=\scr_xoffset](\scr_boxwd+\scr_xsep*2,-\scr_corner)--++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*2,0);
- \draw[draw=\scr_current_linelight,yshift=\scr_yoffset,xshift=\scr_xoffset](\scr_corner,-\scr_corner*2-\scr_ysepsup-\scr_totht-\scr_ysepinf+\scr_corner)--++(-\scr_corner,\scr_corner)--++(0,\scr_totht+\scr_ysepsup+\scr_ysepinf-\scr_corner)--++(\scr_corner,\scr_corner)--++(\scr_notch,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch,0)--++(\scr_corner,\scr_corner)--++(\scr_boxwd+2*\scr_xsep-\scr_corner*4-\scr_notch*2,0)--++(\scr_corner,-\scr_corner);
- \advance\scr_yoffset\dimexpr-\scr_totht-\scr_ysepsup-\scr_ysepinf-\scr_corner-\scr_linewidth+\scr_extraoffset\relax
- \gdef\scr_blockstop{1}%
+ \advance\SCR_blocknum1
+ \draw[draw=\SCR_current_linedark,yshift=\SCR_yoffset,xshift=\SCR_xoffset](\SCR_boxwd+\SCR_xsep*2,-\SCR_corner)--++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*2,0);
+ \draw[draw=\SCR_current_linelight,yshift=\SCR_yoffset,xshift=\SCR_xoffset](\SCR_corner,-\SCR_corner*2-\SCR_ysepsup-\SCR_totht-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,\SCR_corner)--++(0,\SCR_totht+\SCR_ysepsup+\SCR_ysepinf-\SCR_corner)--++(\SCR_corner,\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,\SCR_corner)--++(\SCR_boxwd+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2,0)--++(\SCR_corner,-\SCR_corner);
+ \advance\SCR_yoffset\dimexpr-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf-\SCR_corner-\SCR_linewidth+\SCR_extraoffset\relax
+ \gdef\SCR_blockstop{1}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dessine un bloc de départ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\scr_initblock#1#2{%
- \def\scr_current_blockcolor{#1}%
- \edef\scr_current_fillcolor{\ifboolKV[\scrname]{print}{\ifboolKV[\scrname]{fill blocks}{scr_fillgray}{none}}{\scr_current_blockcolor}}%
- \edef\scr_current_linelight{\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!white}%
- \edef\scr_current_linedark {\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!black}%
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
- \setbox\scr_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#2\scr_blockstrut\endpgfinterruptpicture}%
- \edef\scr_boxwd{\scr_maxdim(\wd\scr_box,\scr_xsep+\scr_initarclength+\scr_em)}%
- \edef\scr_boxht{\the\ht\scr_box}%
- \edef\scr_totht{\the\dimexpr\ht\scr_box+\dp\scr_box\relax}%
- \draw[draw=\scr_current_fillcolor,fill=\scr_current_fillcolor,yshift=\scr_yoffset,xshift=\scr_xoffset]
- (0,0)to[out=\scr_initarcangle,in=180-\scr_initarcangle](\scr_xsep+\scr_initarclength,0)--(\scr_boxwd+2*\scr_xsep-\scr_corner,0)--++(\scr_corner,-\scr_corner)% ligne sup
- --++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(0,\scr_totht+\scr_ysepsup+\scr_ysepinf)--cycle
- node[at=(origin),draw=none,anchor=base west,xshift=\scr_xoffset+\scr_xsep,yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup,text=\scr_current_textcolor](txt\number\scr_blocknum){\sffamily\bfseries#2\scr_blockstrut};
- \ifboolKV[\scrname]{num blocks}
- {\node[at=(origin),draw=none,anchor=base east,xshift=-\scr_numsep,yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup](num){\skv_exparg\numblock{\number\scr_blocknum}};}
+\def\SCR_initblock#1#2{%
+ \def\SCR_current_blockcolor{#1}%
+ \edef\SCR_current_fillcolor{\ifboolKV[\SCRname]{print}{\ifboolKV[\SCRname]{fill blocks}{SCR_fillgray}{none}}{\SCR_current_blockcolor}}%
+ \edef\SCR_current_linelight{\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!white}%
+ \edef\SCR_current_linedark {\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!black}%
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
+ \setbox\SCR_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#2\SCR_blockstrut\endpgfinterruptpicture}%
+ \edef\SCR_boxwd{\SCR_maxdim(\wd\SCR_box,\SCR_xsep+\SCR_initarclength+\SCR_em)}%
+ \edef\SCR_boxht{\the\ht\SCR_box}%
+ \edef\SCR_totht{\the\dimexpr\ht\SCR_box+\dp\SCR_box\relax}%
+ \draw[draw=\SCR_current_fillcolor,fill=\SCR_current_fillcolor,yshift=\SCR_yoffset,xshift=\SCR_xoffset]
+ (0,0)to[out=\SCR_initarcangle,in=180-\SCR_initarcangle](\SCR_xsep+\SCR_initarclength,0)--(\SCR_boxwd+2*\SCR_xsep-\SCR_corner,0)--++(\SCR_corner,-\SCR_corner)% ligne sup
+ --++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(0,\SCR_totht+\SCR_ysepsup+\SCR_ysepinf)--cycle
+ node[at=(origin),draw=none,anchor=base west,xshift=\SCR_xoffset+\SCR_xsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_corner-\SCR_ysepsup,text=\SCR_current_textcolor](txt\number\SCR_blocknum){\sffamily\bfseries#2\SCR_blockstrut};
+ \ifboolKV[\SCRname]{num blocks}
+ {\node[at=(origin),draw=none,anchor=base east,xshift=-\SCR_numsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_corner-\SCR_ysepsup](num){\skv_exparg\numblock{\number\SCR_blocknum}};}
{}%
- \advance\scr_blocknum1
- \draw[draw=\scr_current_linedark,yshift=\scr_yoffset,xshift=\scr_xoffset](\scr_boxwd+\scr_xsep*2,-\scr_corner)--++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0);
- \draw[draw=\scr_current_linelight,yshift=\scr_yoffset,xshift=\scr_xoffset](\scr_corner,-\scr_corner-\scr_ysepsup-\scr_totht-\scr_ysepinf)--++(-\scr_corner,\scr_corner)--++(0,\scr_totht+\scr_ysepsup+\scr_ysepinf)--(0,0)to[out=\scr_initarcangle,in=180-\scr_initarcangle](\scr_xsep+\scr_initarclength,0)--(\scr_boxwd+2*\scr_xsep-\scr_corner,0)--++(\scr_corner,-\scr_corner);
- \advance\scr_yoffset\dimexpr-\scr_totht-\scr_ysepsup-\scr_ysepinf-\scr_corner-\scr_linewidth+\scr_extraoffset\relax
- \gdef\scr_blockstop{0}%
+ \advance\SCR_blocknum1
+ \draw[draw=\SCR_current_linedark,yshift=\SCR_yoffset,xshift=\SCR_xoffset](\SCR_boxwd+\SCR_xsep*2,-\SCR_corner)--++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0);
+ \draw[draw=\SCR_current_linelight,yshift=\SCR_yoffset,xshift=\SCR_xoffset](\SCR_corner,-\SCR_corner-\SCR_ysepsup-\SCR_totht-\SCR_ysepinf)--++(-\SCR_corner,\SCR_corner)--++(0,\SCR_totht+\SCR_ysepsup+\SCR_ysepinf)--(0,0)to[out=\SCR_initarcangle,in=180-\SCR_initarcangle](\SCR_xsep+\SCR_initarclength,0)--(\SCR_boxwd+2*\SCR_xsep-\SCR_corner,0)--++(\SCR_corner,-\SCR_corner);
+ \advance\SCR_yoffset\dimexpr-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf-\SCR_corner-\SCR_linewidth+\SCR_extraoffset\relax
+ \gdef\SCR_blockstop{0}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dessine un bloc de définition %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand*\initmoreblocks[1]{%
- \setbox\scr_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#1\scr_blockstrut\endpgfinterruptpicture}%
- \edef\scr_boxwd{\scr_maxdim(\wd\scr_box,\scr_minwd+\scr_em*2)}%
- \edef\scr_boxht{\the\ht\scr_box}%
- \edef\scr_totht{\the\dimexpr\ht\scr_box+\dp\scr_box\relax}%
- \def\scr_current_blockcolor{scrmoreblocks}%
- \edef\scr_current_fillcolor{\ifboolKV[\scrname]{print}{\ifboolKV[\scrname]{fill blocks}{scr_fillgray}{none}}{\scr_current_blockcolor}}%
- \edef\scr_current_linelight{\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!white}%
- \edef\current_linesurround{\ifboolKV[\scrname]{print}{scr_linegray!\scr_contrast!white}{scrmoreblocksurround}}%
- \edef\scr_current_linedark {\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!black}%
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
- \draw[draw=\scr_current_fillcolor,fill=\scr_current_fillcolor,yshift=\scr_yoffset,xshift=\scr_xoffset]
- (0,0)to[out=\scr_moreblockarcangle,in=180-\scr_moreblockarcangle](\scr_boxwd+2*\scr_xsep,0)% ligne sup
- --++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(0,\scr_totht+\scr_ysepsup+\scr_ysepinf)--cycle
- node[at=(origin),draw=none,anchor=base west,xshift=\scr_xoffset+\scr_xsep,yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup,text=\scr_current_textcolor](txt\number\scr_blocknum){\sffamily\bfseries#1\scr_blockstrut};
- \ifboolKV[\scrname]{num blocks}
- {\node[at=(origin),draw=none,anchor=base east,xshift=-\scr_numsep,yshift=\scr_yoffset-\scr_boxht-\scr_corner-\scr_ysepsup](num){\skv_exparg\numblock{\number\scr_blocknum}};}
+ \setbox\SCR_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#1\SCR_blockstrut\endpgfinterruptpicture}%
+ \edef\SCR_boxwd{\SCR_maxdim(\wd\SCR_box,\SCR_minwd+\SCR_em*2)}%
+ \edef\SCR_boxht{\the\ht\SCR_box}%
+ \edef\SCR_totht{\the\dimexpr\ht\SCR_box+\dp\SCR_box\relax}%
+ \def\SCR_current_blockcolor{SCRmoreblocks}%
+ \edef\SCR_current_fillcolor{\ifboolKV[\SCRname]{print}{\ifboolKV[\SCRname]{fill blocks}{SCR_fillgray}{none}}{\SCR_current_blockcolor}}%
+ \edef\SCR_current_linelight{\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!white}%
+ \edef\current_linesurround{\ifboolKV[\SCRname]{print}{SCR_linegray!\SCR_contrast!white}{SCRmoreblocksurround}}%
+ \edef\SCR_current_linedark {\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!black}%
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
+ \draw[draw=\SCR_current_fillcolor,fill=\SCR_current_fillcolor,yshift=\SCR_yoffset,xshift=\SCR_xoffset]
+ (0,0)to[out=\SCR_moreblockarcangle,in=180-\SCR_moreblockarcangle](\SCR_boxwd+2*\SCR_xsep,0)% ligne sup
+ --++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(0,\SCR_totht+\SCR_ysepsup+\SCR_ysepinf)--cycle
+ node[at=(origin),draw=none,anchor=base west,xshift=\SCR_xoffset+\SCR_xsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_corner-\SCR_ysepsup,text=\SCR_current_textcolor](txt\number\SCR_blocknum){\sffamily\bfseries#1\SCR_blockstrut};
+ \ifboolKV[\SCRname]{num blocks}
+ {\node[at=(origin),draw=none,anchor=base east,xshift=-\SCR_numsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_corner-\SCR_ysepsup](num){\skv_exparg\numblock{\number\SCR_blocknum}};}
{}%
- \advance\scr_blocknum1
- \draw[draw=\scr_current_linedark,yshift=\scr_yoffset,xshift=\scr_xoffset](\scr_boxwd+\scr_xsep*2,0)--++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0);
- \draw[draw=\scr_current_linelight,yshift=\scr_yoffset,xshift=\scr_xoffset](\scr_corner,-\scr_corner-\scr_ysepsup-\scr_totht-\scr_ysepinf)--++(-\scr_corner,\scr_corner)--++(0,\scr_totht+\scr_ysepsup+\scr_ysepinf)--(0,0);
- \draw[line width=1.5pt,draw=\current_linesurround,shorten <=-\scr_linewidth,shorten >=-\scr_linewidth](0,0)to[out=15,in=165](\scr_boxwd+2*\scr_xsep,0);
- \advance\scr_yoffset\dimexpr-\scr_totht-\scr_ysepsup-\scr_ysepinf-\scr_corner-\scr_linewidth+\scr_extraoffset\relax
- \gdef\scr_blockstop{0}%
+ \advance\SCR_blocknum1
+ \draw[draw=\SCR_current_linedark,yshift=\SCR_yoffset,xshift=\SCR_xoffset](\SCR_boxwd+\SCR_xsep*2,0)--++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0);
+ \draw[draw=\SCR_current_linelight,yshift=\SCR_yoffset,xshift=\SCR_xoffset](\SCR_corner,-\SCR_corner-\SCR_ysepsup-\SCR_totht-\SCR_ysepinf)--++(-\SCR_corner,\SCR_corner)--++(0,\SCR_totht+\SCR_ysepsup+\SCR_ysepinf)--(0,0);
+ \draw[line width=1.5pt,draw=\current_linesurround,shorten <=-\SCR_linewidth,shorten >=-\SCR_linewidth](0,0)to[out=15,in=165](\SCR_boxwd+2*\SCR_xsep,0);
+ \advance\SCR_yoffset\dimexpr-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf-\SCR_corner-\SCR_linewidth+\SCR_extraoffset\relax
+ \gdef\SCR_blockstop{0}%
}
\newcommand*\namemoreblocks[1]{%
\begin{tikzpicture}[baseline=(moreblocksdef.base)]
- \def\scr_ysepinf{2pt}\def\scr_ysepsup{2pt}%
- \edef\scr_xsep{\the\dimexpr\scr_em/2\relax}\edef\scr_minwd{\the\dimexpr\scr_corner*4+\scr_notch*3-\scr_xsep*2}%
- \setbox\scr_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries\scr_blockstrut#1\endpgfinterruptpicture}%
- \edef\scr_boxwd{\scr_maxdim(\wd\scr_box,\scr_minwd)}%
- \edef\scr_boxht{\the\ht\scr_box}%
- \edef\scr_totht{\the\dimexpr\ht\scr_box+\dp\scr_box\relax}
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
- \edef\current_contourcolor{\ifboolKV[\scrname]{print}{scr_linegray!\scr_contrast!white}{scrmoreblockcontour}}%
- \draw[draw=\current_contourcolor,line width=\scr_linewidth*2]
- (0,-\scr_corner)--(\scr_corner,0)--++(\scr_notch,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch,0)--++(\scr_corner,\scr_corner)--++(\scr_boxwd+2*\scr_xsep-\scr_corner*4-\scr_notch*2,0)--++(\scr_corner,-\scr_corner)% ligne sup
- --++(0,-\scr_totht-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\scr_boxwd-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--cycle
- node[draw=none,anchor=base west,xshift=\scr_xsep,yshift=\scr_yoffset-\scr_boxht-\scr_ysepsup,text=\scr_current_textcolor](moreblocksdef){\sffamily\bfseries\scr_blockstrut#1};
+ \def\SCR_ysepinf{2pt}\def\SCR_ysepsup{2pt}%
+ \edef\SCR_xsep{\the\dimexpr\SCR_em/2\relax}\edef\SCR_minwd{\the\dimexpr\SCR_corner*4+\SCR_notch*3-\SCR_xsep*2}%
+ \setbox\SCR_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries\SCR_blockstrut#1\endpgfinterruptpicture}%
+ \edef\SCR_boxwd{\SCR_maxdim(\wd\SCR_box,\SCR_minwd)}%
+ \edef\SCR_boxht{\the\ht\SCR_box}%
+ \edef\SCR_totht{\the\dimexpr\ht\SCR_box+\dp\SCR_box\relax}
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
+ \edef\current_contourcolor{\ifboolKV[\SCRname]{print}{SCR_linegray!\SCR_contrast!white}{SCRmoreblockcontour}}%
+ \draw[draw=\current_contourcolor,line width=\SCR_linewidth*2]
+ (0,-\SCR_corner)--(\SCR_corner,0)--++(\SCR_notch,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,\SCR_corner)--++(\SCR_boxwd+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2,0)--++(\SCR_corner,-\SCR_corner)% ligne sup
+ --++(0,-\SCR_totht-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_boxwd-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--cycle
+ node[draw=none,anchor=base west,xshift=\SCR_xsep,yshift=\SCR_yoffset-\SCR_boxht-\SCR_ysepsup,text=\SCR_current_textcolor](moreblocksdef){\sffamily\bfseries\SCR_blockstrut#1};
\end{tikzpicture}%
}
@@ -218,191 +222,191 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dessine un bloc de répétition ou test %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\scr_blockloop#1#2#3#4#5{% #1=texte #2=instructions sup #3=instructions inf #4=boucle infinie (1 ou 0) #5=fleche de répétition (1 ou 0)
- \edef\scr_blocminheight{\dimexpr\scr_loopblockheight+\scr_ysepinf+\scr_ysepsup+\scr_corner\relax}% hauteur minimale d'un bloc normal
- \setbox\scr_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#1\scr_blockstrut\endpgfinterruptpicture}%
- \scr_csedef{scr_txtloopwd\number\scr_loopnest}{\scr_maxdim(\wd\scr_box,\scr_minwd+\scr_corner*4+\scr_notch*2)}%
- \scr_csedef{scr_txtloopht\number\scr_loopnest}{\the\ht\scr_box}%
- \scr_csedef{scr_txtlooptotht\number\scr_loopnest}{\the\dimexpr\ht\scr_box+\dp\scr_box\relax}%
- \scr_csedef{toploopx\number\scr_loopnest}{\the\scr_xoffset}% coordonnées du point nord-west
- \scr_csedef{toploopy\number\scr_loopnest}{\the\scr_yoffset}%
- \scr_csedef{blocnum\number\scr_loopnest}{\number\scr_blocknum}%
- \advance\scr_xoffset\scr_loopblockwidth
- \advance\scr_yoffset\dimexpr-\scr_corner-\scr_ysepsup-\csname scr_txtlooptotht\number\scr_loopnest\endcsname-\scr_ysepinf-\scr_linewidth+\scr_extraoffset\relax
- \ifboolKV[\scrname]{num blocks}
- {\scr_csdef{scr_numblockif\number\scr_loopnest}{\node[at=(origin),draw=none,anchor=base east,xshift=-\scr_numsep,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}};}%
+\def\SCR_blockloop#1#2#3#4#5{% #1=texte #2=instructions sup #3=instructions inf #4=boucle infinie (1 ou 0) #5=fleche de répétition (1 ou 0)
+ \edef\SCR_blocminheight{\dimexpr\SCR_loopblockheight+\SCR_ysepinf+\SCR_ysepsup+\SCR_corner\relax}% hauteur minimale d'un bloc normal
+ \setbox\SCR_box\hbox{\pgfinterruptpicture\color{white}\sffamily\bfseries#1\SCR_blockstrut\endpgfinterruptpicture}%
+ \SCR_csedef{SCR_txtloopwd\number\SCR_loopnest}{\SCR_maxdim(\wd\SCR_box,\SCR_minwd+\SCR_corner*4+\SCR_notch*2)}%
+ \SCR_csedef{SCR_txtloopht\number\SCR_loopnest}{\the\ht\SCR_box}%
+ \SCR_csedef{SCR_txtlooptotht\number\SCR_loopnest}{\the\dimexpr\ht\SCR_box+\dp\SCR_box\relax}%
+ \SCR_csedef{toploopx\number\SCR_loopnest}{\the\SCR_xoffset}% coordonnées du point nord-west
+ \SCR_csedef{toploopy\number\SCR_loopnest}{\the\SCR_yoffset}%
+ \SCR_csedef{blocnum\number\SCR_loopnest}{\number\SCR_blocknum}%
+ \advance\SCR_xoffset\SCR_loopblockwidth
+ \advance\SCR_yoffset\dimexpr-\SCR_corner-\SCR_ysepsup-\csname SCR_txtlooptotht\number\SCR_loopnest\endcsname-\SCR_ysepinf-\SCR_linewidth+\SCR_extraoffset\relax
+ \ifboolKV[\SCRname]{num blocks}
+ {\SCR_csdef{SCR_numblockif\number\SCR_loopnest}{\node[at=(origin),draw=none,anchor=base east,xshift=-\SCR_numsep,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_cslet{scr_numblockif\number\scr_loopnest}\empty}%
- \advance\scr_loopnest1
- \advance\scr_blocknum1
- \advance\scr_xoffset-\scr_extraoffset
+ {\SCR_cslet{SCR_numblockif\number\SCR_loopnest}\empty}%
+ \advance\SCR_loopnest1
+ \advance\SCR_blocknum1
+ \advance\SCR_xoffset-\SCR_extraoffset
#2%
- \advance\scr_xoffset\scr_extraoffset
- \advance\scr_loopnest-1
- \expandafter\let\csname scr_blockstopif_\number\scr_loopnest\endcsname\scr_blockstop
- \scr_csedef{bottomifx\number\scr_loopnest}{\the\scr_xoffset}%
- \scr_csedef{bottomify\number\scr_loopnest}{\the\scr_yoffset}%
+ \advance\SCR_xoffset\SCR_extraoffset
+ \advance\SCR_loopnest-1
+ \expandafter\let\csname SCR_blockstopif_\number\SCR_loopnest\endcsname\SCR_blockstop
+ \SCR_csedef{bottomifx\number\SCR_loopnest}{\the\SCR_xoffset}%
+ \SCR_csedef{bottomify\number\SCR_loopnest}{\the\SCR_yoffset}%
\ifcat\relax\detokenize{#3}\relax\else% si instruction #3
- \advance\scr_yoffset\dimexpr-\scr_blocminheight-\scr_linewidth+\scr_extraoffset\relax% épaisseur théorique de la branche "sinon"
- \scr_csedef{blocelsenum\number\scr_loopnest}{\number\scr_blocknum}%
- \ifboolKV[\scrname]{num blocks}
- {\scr_csdef{scr_numblockelse\number\scr_loopnest}{\node[at=(origin),draw=none,anchor=base east,xshift=-\scr_numsep,yshift=\csname bottomify\number\scr_loopnest\endcsname-\scr_loopblockheight-\scr_corner](num){\skv_eearg\numblock{\csname blocelsenum\number\scr_loopnest\endcsname}};}
+ \advance\SCR_yoffset\dimexpr-\SCR_blocminheight-\SCR_linewidth+\SCR_extraoffset\relax% épaisseur théorique de la branche "sinon"
+ \SCR_csedef{blocelsenum\number\SCR_loopnest}{\number\SCR_blocknum}%
+ \ifboolKV[\SCRname]{num blocks}
+ {\SCR_csdef{SCR_numblockelse\number\SCR_loopnest}{\node[at=(origin),draw=none,anchor=base east,xshift=-\SCR_numsep,yshift=\csname bottomify\number\SCR_loopnest\endcsname-\SCR_loopblockheight-\SCR_corner](num){\skv_eearg\numblock{\csname blocelsenum\number\SCR_loopnest\endcsname}};}
}
- {\scr_cslet{scr_numblockelse\number\scr_loopnest}\empty}%
- \advance\scr_loopnest1
- \advance\scr_blocknum1
- \advance\scr_xoffset-\scr_extraoffset
+ {\SCR_cslet{SCR_numblockelse\number\SCR_loopnest}\empty}%
+ \advance\SCR_loopnest1
+ \advance\SCR_blocknum1
+ \advance\SCR_xoffset-\SCR_extraoffset
#3%
- \advance\scr_xoffset\scr_extraoffset
- \advance\scr_loopnest-1
- \scr_csedef{bottomelsex\number\scr_loopnest}{\the\scr_xoffset}%
- \scr_csedef{bottomelsey\number\scr_loopnest}{\the\scr_yoffset}%
+ \advance\SCR_xoffset\SCR_extraoffset
+ \advance\SCR_loopnest-1
+ \SCR_csedef{bottomelsex\number\SCR_loopnest}{\the\SCR_xoffset}%
+ \SCR_csedef{bottomelsey\number\SCR_loopnest}{\the\SCR_yoffset}%
\fi
- \advance\scr_yoffset by \dimexpr-\scr_blocminheight-\scr_linewidth+\scr_extraoffset\relax% épaisseur de la branche du bas
- \def\scr_current_blockcolor{scrcontrol}%
- \edef\scr_current_fillcolor{\ifboolKV[\scrname]{print}{\ifboolKV[\scrname]{fill blocks}{scr_fillgray}{none}}{\scr_current_blockcolor}}%
- \edef\scr_current_linelight{\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!white}%
- \edef\scr_current_linedark {\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\scr_contrast!black}%
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
+ \advance\SCR_yoffset by \dimexpr-\SCR_blocminheight-\SCR_linewidth+\SCR_extraoffset\relax% épaisseur de la branche du bas
+ \def\SCR_current_blockcolor{SCRcontrol}%
+ \edef\SCR_current_fillcolor{\ifboolKV[\SCRname]{print}{\ifboolKV[\SCRname]{fill blocks}{SCR_fillgray}{none}}{\SCR_current_blockcolor}}%
+ \edef\SCR_current_linelight{\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!white}%
+ \edef\SCR_current_linedark {\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\SCR_contrast!black}%
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
% ############## dessin du corps ##############
- \draw[draw=none,fill=\scr_current_fillcolor](\csname toploopx\number\scr_loopnest\endcsname+\scr_corner,\csname toploopy\number\scr_loopnest\endcsname)--++(\scr_notch,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch,0)--++(\scr_corner,\scr_corner)--++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*4-\scr_notch*2,0)% ligne haut du titre boucle "--\__/---------"
- --++(\scr_corner,-\scr_corner)--++(0,-\csname scr_txtlooptotht\number\scr_loopnest\endcsname-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)% ligne est "\ + | + /"
- --++(-\csname scr_txtloopwd\number\scr_loopnest\endcsname-2*\scr_xsep+\scr_corner*4+\scr_notch*2+\scr_loopblockwidth-\scr_extraoffset_rtwo,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch+\scr_extraoffset,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch-\scr_linewidth+\scr_extraoffset_rtwo_mone,0)--++(-\scr_corner,-\scr_corner)% ligne sud "/--\__/---------"
- --(\csname bottomifx\number\scr_loopnest\endcsname-\scr_linewidth,\csname bottomify\number\scr_loopnest\endcsname+\scr_corner)% descente gauche bloc "if"
+ \draw[draw=none,fill=\SCR_current_fillcolor](\csname toploopx\number\SCR_loopnest\endcsname+\SCR_corner,\csname toploopy\number\SCR_loopnest\endcsname)--++(\SCR_notch,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,\SCR_corner)--++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2,0)% ligne haut du titre boucle "--\__/---------"
+ --++(\SCR_corner,-\SCR_corner)--++(0,-\csname SCR_txtlooptotht\number\SCR_loopnest\endcsname-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)% ligne est "\ + | + /"
+ --++(-\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2+\SCR_loopblockwidth-\SCR_extraoffset_rtwo,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch+\SCR_extraoffset,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch-\SCR_linewidth+\SCR_extraoffset_rtwo_mone,0)--++(-\SCR_corner,-\SCR_corner)% ligne sud "/--\__/---------"
+ --(\csname bottomifx\number\SCR_loopnest\endcsname-\SCR_linewidth,\csname bottomify\number\SCR_loopnest\endcsname+\SCR_corner)% descente gauche bloc "if"
\ifcat\relax\detokenize{#3}\relax\else% tracé de la branche du bas du else
- --++(\scr_corner,-\scr_corner)% chanfrein"\" pour raccord sur ligne haut
- \ifnum\csname scr_blockstopif_\number\scr_loopnest\endcsname=1
- --++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*2-\scr_loopblockwidth+\scr_linewidth,0)% ligne haut de la barre else "--\__/---------"
+ --++(\SCR_corner,-\SCR_corner)% chanfrein"\" pour raccord sur ligne haut
+ \ifnum\csname SCR_blockstopif_\number\SCR_loopnest\endcsname=1
+ --++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*2-\SCR_loopblockwidth+\SCR_linewidth,0)% ligne haut de la barre else "--\__/---------"
\else
- --++(\scr_notch+\scr_linewidth-\scr_extraoffset_rtwo,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch+\scr_extraoffset,0)--++(\scr_corner,\scr_corner)--++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*4-\scr_notch*2-\scr_loopblockwidth+\scr_extraoffset_rtwo_mone,0)% ligne haut de la barre else "--\__/---------"
+ --++(\SCR_notch+\SCR_linewidth-\SCR_extraoffset_rtwo,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch+\SCR_extraoffset,0)--++(\SCR_corner,\SCR_corner)--++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2-\SCR_loopblockwidth+\SCR_extraoffset_rtwo_mone,0)% ligne haut de la barre else "--\__/---------"
\fi
- --++(\scr_corner,-\scr_corner)--++(0,-\scr_loopblockheight-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\csname scr_txtloopwd\number\scr_loopnest\endcsname-2*\scr_xsep+\scr_corner*4+\scr_notch*2+\scr_loopblockwidth-\scr_extraoffset_rtwo,0)--++(-\scr_corner,-\scr_corner)% ligne Est "\ + | + /"
- --++(-\scr_notch+\scr_extraoffset,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch-\scr_linewidth+\scr_extraoffset_rtwo_mone,0)--++(-\scr_corner,-\scr_corner)% ligne sud "/--\__/---------"
- --(\csname bottomelsex\number\scr_loopnest\endcsname-\scr_linewidth,\csname bottomelsey\number\scr_loopnest\endcsname+\scr_corner)% descente gauche bloc "else"
+ --++(\SCR_corner,-\SCR_corner)--++(0,-\SCR_loopblockheight-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2+\SCR_loopblockwidth-\SCR_extraoffset_rtwo,0)--++(-\SCR_corner,-\SCR_corner)% ligne Est "\ + | + /"
+ --++(-\SCR_notch+\SCR_extraoffset,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch-\SCR_linewidth+\SCR_extraoffset_rtwo_mone,0)--++(-\SCR_corner,-\SCR_corner)% ligne sud "/--\__/---------"
+ --(\csname bottomelsex\number\SCR_loopnest\endcsname-\SCR_linewidth,\csname bottomelsey\number\SCR_loopnest\endcsname+\SCR_corner)% descente gauche bloc "else"
\fi
- --++(\scr_corner,-\scr_corner)% chanfrein "\" pour rejoindre haut de la ligne de fin
- \ifnum\scr_blockstop=1
- --++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*2-\scr_loopblockwidth+\scr_linewidth,0)% ligne haut de la barre de fin "--\__/---------"
+ --++(\SCR_corner,-\SCR_corner)% chanfrein "\" pour rejoindre haut de la ligne de fin
+ \ifnum\SCR_blockstop=1
+ --++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*2-\SCR_loopblockwidth+\SCR_linewidth,0)% ligne haut de la barre de fin "--\__/---------"
\else
- --++(\scr_notch+\scr_linewidth-\scr_extraoffset_rtwo,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch+\scr_extraoffset,0)--++(\scr_corner,\scr_corner)--++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*4-\scr_notch*2-\scr_loopblockwidth+\scr_extraoffset_rtwo_mone,0)% ligne haut de la barre de fin "--\__/---------"
+ --++(\SCR_notch+\SCR_linewidth-\SCR_extraoffset_rtwo,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch+\SCR_extraoffset,0)--++(\SCR_corner,\SCR_corner)--++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2-\SCR_loopblockwidth+\SCR_extraoffset_rtwo_mone,0)% ligne haut de la barre de fin "--\__/---------"
\fi
- --++(\scr_corner,-\scr_corner)--++(0,-\scr_loopblockheight-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)% ligne Est "\ + | + /"
+ --++(\SCR_corner,-\SCR_corner)--++(0,-\SCR_loopblockheight-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)% ligne Est "\ + | + /"
\ifnum#4=1 %infiniteloop
- --++(-\csname scr_txtloopwd\number\scr_loopnest\endcsname-2*\scr_xsep+\scr_corner*2,0)% ligne Sud "\---------------"
+ --++(-\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-2*\SCR_xsep+\SCR_corner*2,0)% ligne Sud "\---------------"
\else
- --++(-\csname scr_txtloopwd\number\scr_loopnest\endcsname-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0)% ligne Sud "\--\__/---------"
+ --++(-\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0)% ligne Sud "\--\__/---------"
\fi
- --++(-\scr_corner,\scr_corner)
- --(\csname toploopx\number\scr_loopnest\endcsname,\csname toploopy\number\scr_loopnest\endcsname-\scr_corner)--cycle;% remontée tout en haut et cycle
- \advance\scr_xoffset\dimexpr-\scr_loopblockwidth\relax
+ --++(-\SCR_corner,\SCR_corner)
+ --(\csname toploopx\number\SCR_loopnest\endcsname,\csname toploopy\number\SCR_loopnest\endcsname-\SCR_corner)--cycle;% remontée tout en haut et cycle
+ \advance\SCR_xoffset\dimexpr-\SCR_loopblockwidth\relax
% ############## dessin des lignes de relief ##############
- \draw[draw=\scr_current_linelight](\scr_xoffset+\scr_corner-\scr_extraoffset+\scr_extraoffset,\scr_yoffset+\scr_linewidth-\scr_extraoffset)--++(-\scr_corner,\scr_corner)
- --(\csname toploopx\number\scr_loopnest\endcsname,\csname toploopy\number\scr_loopnest\endcsname-\scr_corner)--++(\scr_corner,\scr_corner)--++(\scr_notch,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch,0)--++(\scr_corner,\scr_corner)--++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*4-\scr_notch*2,0)--++(\scr_corner,-\scr_corner);% remontée gauche + ligne haut bandeau
- \draw[draw=\scr_current_linedark](\csname toploopx\number\scr_loopnest\endcsname+\scr_xsep*2+\csname scr_txtloopwd\number\scr_loopnest\endcsname,\csname toploopy\number\scr_loopnest\endcsname-\scr_corner)--++(0,-\csname scr_txtlooptotht\number\scr_loopnest\endcsname-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\csname scr_txtloopwd\number\scr_loopnest\endcsname-2*\scr_xsep+\scr_corner*4+\scr_notch*2+\scr_loopblockwidth-\scr_extraoffset_rtwo,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch+\scr_extraoffset,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch-\scr_linewidth+\scr_extraoffset_rtwo_mone,0)--++(-\scr_corner,-\scr_corner)--(\csname bottomifx\number\scr_loopnest\endcsname-\scr_linewidth,\csname bottomify\number\scr_loopnest\endcsname+\scr_corner);
- \draw[draw=\scr_current_linelight](\csname bottomifx\number\scr_loopnest\endcsname-\scr_linewidth,\csname bottomify\number\scr_loopnest\endcsname+\scr_corner)--++(\scr_corner,-\scr_corner)
- \ifnum\csname scr_blockstopif_\number\scr_loopnest\endcsname=1
- --++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*2-\scr_loopblockwidth+\scr_linewidth,0)
+ \draw[draw=\SCR_current_linelight](\SCR_xoffset+\SCR_corner-\SCR_extraoffset+\SCR_extraoffset,\SCR_yoffset+\SCR_linewidth-\SCR_extraoffset)--++(-\SCR_corner,\SCR_corner)
+ --(\csname toploopx\number\SCR_loopnest\endcsname,\csname toploopy\number\SCR_loopnest\endcsname-\SCR_corner)--++(\SCR_corner,\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch,0)--++(\SCR_corner,\SCR_corner)--++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2,0)--++(\SCR_corner,-\SCR_corner);% remontée gauche + ligne haut bandeau
+ \draw[draw=\SCR_current_linedark](\csname toploopx\number\SCR_loopnest\endcsname+\SCR_xsep*2+\csname SCR_txtloopwd\number\SCR_loopnest\endcsname,\csname toploopy\number\SCR_loopnest\endcsname-\SCR_corner)--++(0,-\csname SCR_txtlooptotht\number\SCR_loopnest\endcsname-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2+\SCR_loopblockwidth-\SCR_extraoffset_rtwo,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch+\SCR_extraoffset,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch-\SCR_linewidth+\SCR_extraoffset_rtwo_mone,0)--++(-\SCR_corner,-\SCR_corner)--(\csname bottomifx\number\SCR_loopnest\endcsname-\SCR_linewidth,\csname bottomify\number\SCR_loopnest\endcsname+\SCR_corner);
+ \draw[draw=\SCR_current_linelight](\csname bottomifx\number\SCR_loopnest\endcsname-\SCR_linewidth,\csname bottomify\number\SCR_loopnest\endcsname+\SCR_corner)--++(\SCR_corner,-\SCR_corner)
+ \ifnum\csname SCR_blockstopif_\number\SCR_loopnest\endcsname=1
+ --++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*2-\SCR_loopblockwidth+\SCR_linewidth,0)
\else
- --++(\scr_notch+\scr_linewidth-\scr_extraoffset_rtwo,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch+\scr_extraoffset,0)--++(\scr_corner,\scr_corner)--++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*4-\scr_notch*2-\scr_loopblockwidth+\scr_extraoffset_rtwo_mone,0)
+ --++(\SCR_notch+\SCR_linewidth-\SCR_extraoffset_rtwo,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch+\SCR_extraoffset,0)--++(\SCR_corner,\SCR_corner)--++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2-\SCR_loopblockwidth+\SCR_extraoffset_rtwo_mone,0)
\fi
- --++(\scr_corner,-\scr_corner);
- \edef\scr_tempname{\ifcat\relax\detokenize{#3}\relax bottomif\else bottomelse\fi}%
- \draw[draw=\scr_current_linedark](\csname \scr_tempname x\number\scr_loopnest\endcsname+\scr_xsep*2+\csname scr_txtloopwd\number\scr_loopnest\endcsname-\scr_loopblockwidth,\csname \scr_tempname y\number\scr_loopnest\endcsname-\scr_corner)--++(0,-\scr_loopblockheight-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)
+ --++(\SCR_corner,-\SCR_corner);
+ \edef\SCR_tempname{\ifcat\relax\detokenize{#3}\relax bottomif\else bottomelse\fi}%
+ \draw[draw=\SCR_current_linedark](\csname \SCR_tempname x\number\SCR_loopnest\endcsname+\SCR_xsep*2+\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-\SCR_loopblockwidth,\csname \SCR_tempname y\number\SCR_loopnest\endcsname-\SCR_corner)--++(0,-\SCR_loopblockheight-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)
\ifnum#4=1 %infiniteloop
- --++(-\csname scr_txtloopwd\number\scr_loopnest\endcsname-2*\scr_xsep+\scr_corner*2,0)
+ --++(-\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-2*\SCR_xsep+\SCR_corner*2,0)
\else
- --++(-\csname scr_txtloopwd\number\scr_loopnest\endcsname-2*\scr_xsep+\scr_corner*4+\scr_notch*2,0)--++(-\scr_corner,-\scr_corner)--++(-\scr_notch,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch,0)
+ --++(-\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2,0)--++(-\SCR_corner,-\SCR_corner)--++(-\SCR_notch,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch,0)
\fi;% ligne Sud de la barre du bas
- \node[at=(origin),draw=none,anchor=base west,xshift=\csname toploopx\number\scr_loopnest\endcsname+\scr_xsep,yshift=\csname toploopy\number\scr_loopnest\endcsname-\csname scr_txtloopht\number\scr_loopnest\endcsname-\scr_corner-\scr_ysepsup,text=\scr_current_textcolor](txt\csname blocnum\number\scr_loopnest\endcsname){\sffamily\bfseries#1\scr_blockstrut};
- \csname scr_numblockif\number\scr_loopnest\endcsname% numérote ou pas le texte dans le bandeau du haut
+ \node[at=(origin),draw=none,anchor=base west,xshift=\csname toploopx\number\SCR_loopnest\endcsname+\SCR_xsep,yshift=\csname toploopy\number\SCR_loopnest\endcsname-\csname SCR_txtloopht\number\SCR_loopnest\endcsname-\SCR_corner-\SCR_ysepsup,text=\SCR_current_textcolor](txt\csname blocnum\number\SCR_loopnest\endcsname){\sffamily\bfseries#1\SCR_blockstrut};
+ \csname SCR_numblockif\number\SCR_loopnest\endcsname% numérote ou pas le texte dans le bandeau du haut
\ifcat\relax\detokenize{#3}\relax\else
- \node[at=(origin),draw=none,anchor=base west,xshift=\csname toploopx\number\scr_loopnest\endcsname+\scr_xsep,yshift=\csname bottomify\number\scr_loopnest\endcsname-\scr_loopblockheight-\scr_corner,text=\scr_current_textcolor](txt\csname blocelsenum\number\scr_loopnest\endcsname){\sffamily\bfseries\useKV[\scrname]{else word}};
- \csname scr_numblockelse\number\scr_loopnest\endcsname% numérotation bloc else ou pas
- \draw[draw=\scr_current_linedark](\csname bottomifx\number\scr_loopnest\endcsname+\scr_xsep*2+\csname scr_txtloopwd\number\scr_loopnest\endcsname-\scr_loopblockwidth,\csname bottomify\number\scr_loopnest\endcsname-\scr_corner)--++(0,-\scr_loopblockheight-\scr_ysepsup-\scr_ysepinf+\scr_corner)--++(-\scr_corner,-\scr_corner)--++(-\csname scr_txtloopwd\number\scr_loopnest\endcsname-2*\scr_xsep+\scr_corner*4+\scr_notch*2+\scr_loopblockwidth-\scr_extraoffset_rtwo,0)--++(-\scr_corner,-\scr_corner)% ligne Est "\ + | + /"
- --++(-\scr_notch+\scr_extraoffset,0)--++(-\scr_corner,\scr_corner)--++(-\scr_notch-\scr_linewidth+\scr_extraoffset_rtwo_mone,0)--++(-\scr_corner,-\scr_corner)% ligne sud "/--\__/---------"
- --(\csname bottomelsex\number\scr_loopnest\endcsname-\scr_linewidth,\csname bottomelsey\number\scr_loopnest\endcsname+\scr_corner);
- \draw[draw=\scr_current_linelight](\csname bottomelsex\number\scr_loopnest\endcsname-\scr_linewidth,\csname bottomelsey\number\scr_loopnest\endcsname+\scr_corner)--++(\scr_corner,-\scr_corner)% chanfrein "\" pour rejoindre haut de la ligne de fin
- \ifnum\scr_blockstop=1
- --++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*2-\scr_loopblockwidth+\scr_linewidth,0)--++(\scr_corner,-\scr_corner);
+ \node[at=(origin),draw=none,anchor=base west,xshift=\csname toploopx\number\SCR_loopnest\endcsname+\SCR_xsep,yshift=\csname bottomify\number\SCR_loopnest\endcsname-\SCR_loopblockheight-\SCR_corner,text=\SCR_current_textcolor](txt\csname blocelsenum\number\SCR_loopnest\endcsname){\sffamily\bfseries\useKV[\SCRname]{else word}};
+ \csname SCR_numblockelse\number\SCR_loopnest\endcsname% numérotation bloc else ou pas
+ \draw[draw=\SCR_current_linedark](\csname bottomifx\number\SCR_loopnest\endcsname+\SCR_xsep*2+\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-\SCR_loopblockwidth,\csname bottomify\number\SCR_loopnest\endcsname-\SCR_corner)--++(0,-\SCR_loopblockheight-\SCR_ysepsup-\SCR_ysepinf+\SCR_corner)--++(-\SCR_corner,-\SCR_corner)--++(-\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-2*\SCR_xsep+\SCR_corner*4+\SCR_notch*2+\SCR_loopblockwidth-\SCR_extraoffset_rtwo,0)--++(-\SCR_corner,-\SCR_corner)% ligne Est "\ + | + /"
+ --++(-\SCR_notch+\SCR_extraoffset,0)--++(-\SCR_corner,\SCR_corner)--++(-\SCR_notch-\SCR_linewidth+\SCR_extraoffset_rtwo_mone,0)--++(-\SCR_corner,-\SCR_corner)% ligne sud "/--\__/---------"
+ --(\csname bottomelsex\number\SCR_loopnest\endcsname-\SCR_linewidth,\csname bottomelsey\number\SCR_loopnest\endcsname+\SCR_corner);
+ \draw[draw=\SCR_current_linelight](\csname bottomelsex\number\SCR_loopnest\endcsname-\SCR_linewidth,\csname bottomelsey\number\SCR_loopnest\endcsname+\SCR_corner)--++(\SCR_corner,-\SCR_corner)% chanfrein "\" pour rejoindre haut de la ligne de fin
+ \ifnum\SCR_blockstop=1
+ --++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*2-\SCR_loopblockwidth+\SCR_linewidth,0)--++(\SCR_corner,-\SCR_corner);
\else
- --++(\scr_notch+\scr_linewidth-\scr_extraoffset_rtwo,0)--++(\scr_corner,-\scr_corner)--++(\scr_notch+\scr_extraoffset,0)--++(\scr_corner,\scr_corner)--++(\csname scr_txtloopwd\number\scr_loopnest\endcsname+2*\scr_xsep-\scr_corner*4-\scr_notch*2-\scr_loopblockwidth+\scr_extraoffset_rtwo_mone,0)--++(\scr_corner,-\scr_corner);
+ --++(\SCR_notch+\SCR_linewidth-\SCR_extraoffset_rtwo,0)--++(\SCR_corner,-\SCR_corner)--++(\SCR_notch+\SCR_extraoffset,0)--++(\SCR_corner,\SCR_corner)--++(\csname SCR_txtloopwd\number\SCR_loopnest\endcsname+2*\SCR_xsep-\SCR_corner*4-\SCR_notch*2-\SCR_loopblockwidth+\SCR_extraoffset_rtwo_mone,0)--++(\SCR_corner,-\SCR_corner);
\fi
\fi
\ifnum#5=1 %fleche
- \edef\scr_arrowcolor{\ifboolKV[\scrname]{print}{scr_flaggray}{scrcontrol}!80!black}%
- \draw[\scr_arrowcolor,line width=1.5pt,-{Triangle[length=\scr_scale*1.25ex,width=\scr_scale*1.5ex]},rounded corners=1pt](\scr_xoffset+\scr_xsep*2+\csname scr_txtloopwd\number\scr_loopnest\endcsname-\scr_ex*3.5+1pt,\scr_yoffset+\scr_linewidth+\scr_ysepinf-1.25pt)--++(\scr_loopblockheight,0)--++(0,\scr_loopblockheight+\scr_corner*0.5);
- \edef\scr_arrowcolor{\ifboolKV[\scrname]{print}{scr_flaggray}{white}}%
- \draw[\scr_arrowcolor,line width=\scr_scale*1.5pt,-{Triangle[length=\scr_scale*1.25ex,width=\scr_scale*1.5ex]},rounded corners=1pt](\scr_xoffset+\scr_xsep*2+\csname scr_txtloopwd\number\scr_loopnest\endcsname-\scr_ex*3.5,\scr_yoffset+\scr_linewidth+\scr_ysepinf)--++(\scr_loopblockheight,0)--++(0,\scr_loopblockheight+\scr_corner*0.5);
+ \edef\SCR_arrowcolor{\ifboolKV[\SCRname]{print}{SCR_flaggray}{SCRcontrol}!80!black}%
+ \draw[\SCR_arrowcolor,line width=1.5pt,-{Triangle[length=\SCR_scale*1.25ex,width=\SCR_scale*1.5ex]},rounded corners=1pt](\SCR_xoffset+\SCR_xsep*2+\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-\SCR_ex*3.5+1pt,\SCR_yoffset+\SCR_linewidth+\SCR_ysepinf-1.25pt)--++(\SCR_loopblockheight,0)--++(0,\SCR_loopblockheight+\SCR_corner*0.5);
+ \edef\SCR_arrowcolor{\ifboolKV[\SCRname]{print}{SCR_flaggray}{white}}%
+ \draw[\SCR_arrowcolor,line width=\SCR_scale*1.5pt,-{Triangle[length=\SCR_scale*1.25ex,width=\SCR_scale*1.5ex]},rounded corners=1pt](\SCR_xoffset+\SCR_xsep*2+\csname SCR_txtloopwd\number\SCR_loopnest\endcsname-\SCR_ex*3.5,\SCR_yoffset+\SCR_linewidth+\SCR_ysepinf)--++(\SCR_loopblockheight,0)--++(0,\SCR_loopblockheight+\SCR_corner*0.5);
\fi
- \xdef\scr_blockstop{\ifnum#4=1 1\else0\fi}%
+ \xdef\SCR_blockstop{\ifnum#4=1 1\else0\fi}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dessine un ovale %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\scr_ovalbox#1#2{% #1=couleur remplissage et contour #2=texte
+\def\SCR_ovalbox#1#2{% #1=couleur remplissage et contour #2=texte
\begingroup
- \edef\scr_linewidth{\the\dimexpr\useKV[\scrname]{line width}\relax}%
- \def\scr_current_blockcolor{#1}%
- \edef\scr_current_fillcolor{\ifboolKV[\scrname]{print}{\ifboolKV[\scrname]{fill blocks}{scr_fillgray}{none}}{\scr_current_blockcolor}}%
- \edef\scr_current_linelight{\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\the\numexpr100-\useKV[\scrname]{contrast}\relax!white}%
- \edef\scr_current_linedark {\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\the\numexpr100-\useKV[\scrname]{contrast}\relax!black}%
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
- \begin{tikzpicture}[baseline=(x.base),x=1ex,y=1ex,inner ysep=0.25ex,inner xsep=0.1ex,line width=\scr_linewidth]
- \node[rounded rectangle,draw=none,fill=\scr_current_fillcolor,text=\scr_current_textcolor](x){\sffamily\bfseries\relax#2\scr_ovalstrut};%
- \draw[draw=\scr_current_linedark](x.west)to[out=270,in=180](x.south west)--(x.south east)to[out=0,in=270](x.east);
- \draw[draw=\scr_current_linelight](x.west)to[out=90,in=180](x.north west)--(x.north east)to[out=0,in=90](x.east);
+ \edef\SCR_linewidth{\the\dimexpr\useKV[\SCRname]{line width}\relax}%
+ \def\SCR_current_blockcolor{#1}%
+ \edef\SCR_current_fillcolor{\ifboolKV[\SCRname]{print}{\ifboolKV[\SCRname]{fill blocks}{SCR_fillgray}{none}}{\SCR_current_blockcolor}}%
+ \edef\SCR_current_linelight{\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\the\numexpr100-\useKV[\SCRname]{contrast}\relax!white}%
+ \edef\SCR_current_linedark {\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\the\numexpr100-\useKV[\SCRname]{contrast}\relax!black}%
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
+ \begin{tikzpicture}[baseline=(x.base),x=1ex,y=1ex,inner ysep=0.25ex,inner xsep=0.1ex,line width=\SCR_linewidth]
+ \node[rounded rectangle,draw=none,fill=\SCR_current_fillcolor,text=\SCR_current_textcolor](x){\sffamily\bfseries\relax#2\SCR_ovalstrut};%
+ \draw[draw=\SCR_current_linedark](x.west)to[out=270,in=180](x.south west)--(x.south east)to[out=0,in=270](x.east);
+ \draw[draw=\SCR_current_linelight](x.west)to[out=90,in=180](x.north west)--(x.north east)to[out=0,in=90](x.east);
\end{tikzpicture}%
\endgroup
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dessine un triangle de sélection %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\scr_menuselectarrow{%
- \tikz[baseline=-1ex,x=1ex,y=1ex,rounded corners=0pt]\draw[fill=\scr_current_blockcolor!35!black,draw=none](0,0)--(1,0)--(0.5,-0.6)--cycle;%
+\def\SCR_menuselectarrow{%
+ \tikz[baseline=-1ex,x=1ex,y=1ex,rounded corners=0pt]\draw[fill=\SCR_current_blockcolor!35!black,draw=none](0,0)--(1,0)--(0.5,-0.6)--cycle;%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dessine un menu %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand*\selectmenu[1]{% #1=texte du menu (sera composé et suivi du triangle de sélection)
\begin{tikzpicture}[anchor=base west,baseline=(textmenu.base west),outer sep=0pt,inner sep=0pt,minimum size=0pt]
- \edef\scr_current_fillcolor{\ifboolKV[\scrname]{print}{\ifboolKV[\scrname]{fill blocks}{scr_fillgray!85!black}{none}}{\scr_current_blockcolor!85!black}}%
- \edef\scr_current_linelight{\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\the\numexpr100-\useKV[\scrname]{contrast}\relax!white}%
- \edef\scr_current_linedark {\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\the\numexpr100-\useKV[\scrname]{contrast}\relax!black}%
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
- \node[rectangle,draw=none,inner xsep=0.2em,fill=\scr_current_fillcolor,text=\scr_current_textcolor](textmenu){\normalfont\sffamily#1\scr_ovalstrut\hskip.6666em \scr_menuselectarrow};
- \draw[draw=\scr_current_linedark,line width=\scr_linewidth\ifdefined\scr_scale/\scr_scale\fi](textmenu.south west)--(textmenu.north west)--(textmenu.north east);
- \draw[draw=\scr_current_linelight,line width=\scr_linewidth\ifdefined\scr_scale/\scr_scale\fi](textmenu.south west)--(textmenu.south east)--(textmenu.north east);
+ \edef\SCR_current_fillcolor{\ifboolKV[\SCRname]{print}{\ifboolKV[\SCRname]{fill blocks}{SCR_fillgray!85!black}{none}}{\SCR_current_blockcolor!85!black}}%
+ \edef\SCR_current_linelight{\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\the\numexpr100-\useKV[\SCRname]{contrast}\relax!white}%
+ \edef\SCR_current_linedark {\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\the\numexpr100-\useKV[\SCRname]{contrast}\relax!black}%
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
+ \node[rectangle,draw=none,inner xsep=0.2em,fill=\SCR_current_fillcolor,text=\SCR_current_textcolor](textmenu){\normalfont\sffamily#1\SCR_ovalstrut\hskip.6666em \SCR_menuselectarrow};
+ \draw[draw=\SCR_current_linedark,line width=\SCR_linewidth\ifdefined\SCR_scale/\SCR_scale\fi](textmenu.south west)--(textmenu.north west)--(textmenu.north east);
+ \draw[draw=\SCR_current_linelight,line width=\SCR_linewidth\ifdefined\SCR_scale/\SCR_scale\fi](textmenu.south west)--(textmenu.south east)--(textmenu.north east);
\end{tikzpicture}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dessine un losange %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\scr_boolbox#1#2{% #1=couleur #2=texte
+\def\SCR_boolbox#1#2{% #1=couleur #2=texte
\begingroup
- \edef\scr_previouskern{\number\lastkern}%
- \edef\scr_linewidth{\useKV[\scrname]{line width}}%
- \jj%jj$jj%jj&jj5cjj5fjj;jj5ctjj(jj65jj5cdjj)jj-ejj8jj0rjj5cjj)fjj"ojj/jj,jj4bVjj5bjj5cjj3jj63rjj.jj!jj-ejj5djj;jj62jj!jj76ojj69jj,jj20jj6dojj64jj65jj=jj;jjn5jjsjjpjjsjj33jj=0jj5cjj$jj)mjj65jj8jj0r jj5csjj63jj2jj5fljj)njj65jj7ijj$tjj(jj5cjj2jj65ljj!jj8jj5cjj72ejj6cjj61jj8jj=% correction secrète pour ceux qui zooment sur le 1/4 de 1/10 de pixel qui se chevauche.
- \def\scr_current_blockcolor{#1}%
- \edef\scr_current_fillcolor{\ifboolKV[\scrname]{print}{\ifboolKV[\scrname]{fill blocks}{scr_fillgray}{none}}{\scr_current_blockcolor}}%
- \edef\scr_current_linelight{\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\the\numexpr100-\useKV[\scrname]{contrast}\relax!white}%
- \edef\scr_current_linedark {\ifboolKV[\scrname]{print}{scr_linegray}{\scr_current_blockcolor}!\the\numexpr100-\useKV[\scrname]{contrast}\relax!black}%
- \edef\scr_current_textcolor{\ifboolKV[\scrname]{print}{\useKV[\scrname]{text color}}{white}}%
- \edef\scr_boolsep{\useKV[\scrname]{bool sep}}%
- \begin{tikzpicture}[inner sep=0pt,outer sep=0pt,minimum size=0pt,baseline=(x.base),line width=0.75*\scr_linewidth]
- \setbox\scr_box\hbox{\pgfinterruptpicture\sffamily\bfseries\scr_ovalstrut\kern\scr_thesentinelkern sp #2\xdef\scr_endkern{\number\lastkern}\endpgfinterruptpicture}%
- \edef\scr_totheight{\the\dimexpr\ht\scr_box+\dp\scr_box\relax}\edef\scr_boxwd{\the\wd\scr_box}%
- \edef\scr_retainedwd{\the\dimexpr\scr_boxwd\ifnum\scr_endkern=\scr_thesentinelkern-\scr_totheight/2+\scr_boolsep*2\fi+\_*2\relax}%
- \draw[draw=none,use as bounding box](\ifnum\scr_previouskern=\scr_thesentinelkern\space -\scr_boolsep\else -\scr_totheight/2\fi,-\scr_boolsep)rectangle(\scr_retainedwd+\scr_totheight/2,\scr_totheight+\scr_boolsep);%
- \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_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\_\kern\scr_thesentinelkern sp #2\kern\_};%
+ \edef\SCR_previouskern{\number\lastkern}%
+ \edef\SCR_linewidth{\useKV[\SCRname]{line width}}%
+ \edef\_{\the \dimexpr .530330\dimexpr\SCR_linewidth\relax\relax}%
+ \def\SCR_current_blockcolor{#1}%
+ \edef\SCR_current_fillcolor{\ifboolKV[\SCRname]{print}{\ifboolKV[\SCRname]{fill blocks}{SCR_fillgray}{none}}{\SCR_current_blockcolor}}%
+ \edef\SCR_current_linelight{\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\the\numexpr100-\useKV[\SCRname]{contrast}\relax!white}%
+ \edef\SCR_current_linedark {\ifboolKV[\SCRname]{print}{SCR_linegray}{\SCR_current_blockcolor}!\the\numexpr100-\useKV[\SCRname]{contrast}\relax!black}%
+ \edef\SCR_current_textcolor{\ifboolKV[\SCRname]{print}{\useKV[\SCRname]{text color}}{white}}%
+ \edef\SCR_boolsep{\useKV[\SCRname]{bool sep}}%
+ \begin{tikzpicture}[inner sep=0pt,outer sep=0pt,minimum size=0pt,baseline=(x.base),line width=0.75*\SCR_linewidth]
+ \setbox\SCR_box\hbox{\pgfinterruptpicture\sffamily\bfseries\SCR_ovalstrut\kern\SCR_thesentinelkern sp #2\xdef\SCR_endkern{\number\lastkern}\endpgfinterruptpicture}%
+ \edef\SCR_totheight{\the\dimexpr\ht\SCR_box+\dp\SCR_box\relax}\edef\SCR_boxwd{\the\wd\SCR_box}%
+ \edef\SCR_retainedwd{\the\dimexpr\SCR_boxwd\ifnum\SCR_endkern=\SCR_thesentinelkern-\SCR_totheight/2+\SCR_boolsep*2\fi+\_*2\relax}%
+ \draw[draw=none,use as bounding box](\ifnum\SCR_previouskern=\SCR_thesentinelkern\space -\SCR_boolsep\else -\SCR_totheight/2\fi,-\SCR_boolsep)rectangle(\SCR_retainedwd+\SCR_totheight/2,\SCR_totheight+\SCR_boolsep);%
+ \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_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\_\kern\SCR_thesentinelkern sp #2\kern\_};%
\end{tikzpicture}%
\endgroup
- \kern\scr_thesentinelkern sp
+ \kern\SCR_thesentinelkern sp
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% environnement scratch %
@@ -410,57 +414,57 @@
\newenvironment{scratch}[1][]
{\skv_ifempty{#1}{}{\setscratch{#1}}%
\sffamily% pas de \normalsize ici, bugfix 1.4
- \edef\scr_ex{\the\dimexpr1ex\relax}% valeur d'1ex pour le tracé de la flèche
- \edef\scr_em{\the\dimexpr1em\relax}%
- \scr_normalizedim\scr_corner corner[\scr_ex/3,\scr_ex]%
- \scr_normalizedim\scr_notch notch[\scr_em/3,\scr_em*3]%
- \scr_normalizedec\scr_scale scale[0.2,5]% échelle
- \scr_normalizedim\scr_xsep x sep[0pt,\scr_em]%
- \scr_normalizedim\scr_ysepsup y sepsup[1pt,\scr_ex*3]%
- \scr_normalizedim\scr_ysepinf y sepinf[1pt,\scr_ex*3]%
- \scr_normalizedim\scr_linewidth line width[0pt,5pt]% épaisseur des lignes soumises à l'échelle
- \scr_normalizedim\scr_loopblockwidth loop width[3pt,\scr_em*3]%
- \scr_normalizedim\scr_loopblockheight loop height[3pt,\scr_ex*3]%
- \scr_normalizedec\scr_initarcangle init arcangle[20,40]%
- \scr_normalizedim\scr_initarclength init arclength[\scr_em*3,\scr_em*8]%
- \edef\scr_contrast{\number\numexpr100-\ifnum\useKV[\scrname]{contrast}<0 0\else\ifnum\useKV[\scrname]{contrast}>100 100\else\useKV[\scrname]{contrast}\fi\fi\relax}%
- \scr_normalizedec\scr_moreblockarcangle moreblock arcangle[10,20]%
- \scr_normalizedim\scr_numsep num sep[0pt,\scr_em*3/2]%
- \edef\scr_extraoffset{\the\dimexpr\scr_linewidth-\useKV[\scrname]{line width}\relax}% décalage supplémentaire pour tenir compte de l'échelle = (ech-1)*linewidth
- \edef\scr_extraoffset_rtwo{\the\dimexpr1.41421\dimexpr\scr_extraoffset\relax\relax}% décalage * racine 2
- \edef\scr_extraoffset_rtwo_mone{\the\dimexpr.41421\dimexpr\scr_extraoffset\relax\relax}% décalage * (racine 2 -1)
- \edef\scr_minwd{\the\dimexpr\scr_corner*4+\scr_notch*3-\scr_xsep*2}%
- \edef\scr_valign{\useKV[\scrname]{baseline}}%
- \scr_blocknum\number\numexpr\useKV[\scrname]{num start}\relax\relax
- \setbox\scr_box\hbox{\scr_blockstrut}\edef\scr_blockstruttotht{\the\dimexpr\ht\scr_box+\dp\scr_box\relax}% haut totale du strut
+ \edef\SCR_ex{\the\dimexpr1ex\relax}% valeur d'1ex pour le tracé de la flèche
+ \edef\SCR_em{\the\dimexpr1em\relax}%
+ \SCR_normalizedim\SCR_corner corner[\SCR_ex/3,\SCR_ex]%
+ \SCR_normalizedim\SCR_notch notch[\SCR_em/3,\SCR_em*3]%
+ \SCR_normalizedec\SCR_scale scale[0.2,5]% échelle
+ \SCR_normalizedim\SCR_xsep x sep[0pt,\SCR_em]%
+ \SCR_normalizedim\SCR_ysepsup y sepsup[1pt,\SCR_ex*3]%
+ \SCR_normalizedim\SCR_ysepinf y sepinf[1pt,\SCR_ex*3]%
+ \SCR_normalizedim\SCR_linewidth line width[0pt,5pt]% épaisseur des lignes soumises à l'échelle
+ \SCR_normalizedim\SCR_loopblockwidth loop width[3pt,\SCR_em*3]%
+ \SCR_normalizedim\SCR_loopblockheight loop height[3pt,\SCR_ex*3]%
+ \SCR_normalizedec\SCR_initarcangle init arcangle[20,40]%
+ \SCR_normalizedim\SCR_initarclength init arclength[\SCR_em*3,\SCR_em*8]%
+ \edef\SCR_contrast{\number\numexpr100-\ifnum\useKV[\SCRname]{contrast}<0 0\else\ifnum\useKV[\SCRname]{contrast}>100 100\else\useKV[\SCRname]{contrast}\fi\fi\relax}%
+ \SCR_normalizedec\SCR_moreblockarcangle moreblock arcangle[10,20]%
+ \SCR_normalizedim\SCR_numsep num sep[0pt,\SCR_em*3/2]%
+ \edef\SCR_extraoffset{\the\dimexpr\SCR_linewidth-\useKV[\SCRname]{line width}\relax}% décalage supplémentaire pour tenir compte de l'échelle = (ech-1)*linewidth
+ \edef\SCR_extraoffset_rtwo{\the\dimexpr1.41421\dimexpr\SCR_extraoffset\relax\relax}% décalage * racine 2
+ \edef\SCR_extraoffset_rtwo_mone{\the\dimexpr.41421\dimexpr\SCR_extraoffset\relax\relax}% décalage * (racine 2 -1)
+ \edef\SCR_minwd{\the\dimexpr\SCR_corner*4+\SCR_notch*3-\SCR_xsep*2}%
+ \edef\SCR_valign{\useKV[\SCRname]{baseline}}%
+ \SCR_blocknum\number\numexpr\useKV[\SCRname]{num start}\relax\relax
+ \setbox\SCR_box\hbox{\SCR_blockstrut}\edef\SCR_blockstruttotht{\the\dimexpr\ht\SCR_box+\dp\SCR_box\relax}% haut totale du strut
\def\turnleft{\turn_arrow{}}\def\turnright{\turn_arrow{xscale=-1}}%
- \let\blockmove \scr_blockmove \let\blocklook \scr_blocklook
- \let\blocksound \scr_blocksound \let\blocklist \scr_blocklist
- \let\blockpen \scr_blockpen \let\blockvariable \scr_blockvariable
- \let\blockevent \scr_blockevent \let\blockinit \scr_blockinit
- \let\blockrepeat \scr_blockrepeat \let\blockinfloop \scr_blockinfloop
- \let\blockifelse \scr_blockifelse \let\blockif \scr_blockif
- \let\blockinitclone\scr_blockinitclone \let\blockcontrol \scr_blockcontrol
- \let\blocksensing \scr_blocksensing \let\blockmoreblocks\scr_blockmoreblocks
- \scr_xoffset0pt \scr_yoffset0pt
+ \let\blockmove \SCR_blockmove \let\blocklook \SCR_blocklook
+ \let\blocksound \SCR_blocksound \let\blocklist \SCR_blocklist
+ \let\blockpen \SCR_blockpen \let\blockvariable \SCR_blockvariable
+ \let\blockevent \SCR_blockevent \let\blockinit \SCR_blockinit
+ \let\blockrepeat \SCR_blockrepeat \let\blockinfloop \SCR_blockinfloop
+ \let\blockifelse \SCR_blockifelse \let\blockif \SCR_blockif
+ \let\blockinitclone\SCR_blockinitclone \let\blockcontrol \SCR_blockcontrol
+ \let\blocksensing \SCR_blocksensing \let\blockmoreblocks\SCR_blockmoreblocks
+ \SCR_xoffset0pt \SCR_yoffset0pt
\catcode`\:12 \catcode`\;12 \catcode`\!12 \catcode`\?12 \catcode`\_12
- \csname skv_\if c\expandafter\scr_firsttonil\scr_valign c\_nil first\else second\fi\endcsname
- {\def\scr_scratchend{\egroup\egroup$}$\vcenter\bgroup\hbox\bgroup\begin{tikzpicture}[}
- {\let\scr_scratchend\relax\begin{tikzpicture}[baseline=(txt\scr_valign.base),}
- transform shape,line width=\scr_linewidth,inner sep=0pt,outer sep=0pt,minimum size=0pt,line cap=round,scale=\scr_scale]
+ \csname skv_\if c\expandafter\SCR_firsttonil\SCR_valign c\_nil first\else second\fi\endcsname
+ {\def\SCR_scratchend{\egroup\egroup$}$\vcenter\bgroup\hbox\bgroup\begin{tikzpicture}[}
+ {\let\SCR_scratchend\relax\begin{tikzpicture}[baseline=(txt\SCR_valign.base),}
+ transform shape,line width=\SCR_linewidth,inner sep=0pt,outer sep=0pt,minimum size=0pt,line cap=round,scale=\SCR_scale]
\node[shape=coordinate](origin){};% origine
}
- {\end{tikzpicture}\scr_scratchend}
+ {\end{tikzpicture}\SCR_scratchend}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu mouvement %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{scrmove}{rgb}{0.2902,0.4235,0.8314}
-\def\scr_blockmove{\scr_normalblock{scrmove}}
-\newcommand*\ovalmove{\scr_ovalbox{scrmove}}
+\definecolor{SCRmove}{rgb}{0.2902,0.4235,0.8314}
+\def\SCR_blockmove{\SCR_normalblock{SCRmove}}
+\newcommand*\ovalmove{\SCR_ovalbox{SCRmove}}
\newcommand*\ovalnum[1]{% ovale blanc qui doit contenir un _nombre_
- \begin{tikzpicture}[baseline=(x.base),x=1ex,y=1ex,minimum size=2.5ex,inner ysep=1pt,inner xsep=0.15em,outer sep=0pt,line width={\useKV[\scrname]{line width}}]
- \node[rounded rectangle,draw={\ifboolKV[\scrname]{print}{gray}{none}},fill=white,text=black](x){\vphantom{0}\let\select\selectarrownum\sffamily#1};%
+ \begin{tikzpicture}[baseline=(x.base),x=1ex,y=1ex,minimum size=2.5ex,inner ysep=1pt,inner xsep=0.15em,outer sep=0pt,line width={\useKV[\SCRname]{line width}}]
+ \node[rounded rectangle,draw={\ifboolKV[\SCRname]{print}{gray}{none}},fill=white,text=black](x){\vphantom{0}\let\select\selectarrownum\sffamily#1};%
\end{tikzpicture}%
}
\def\turn_arrow#1{\tikz[baseline=.25ex,x=6.5ex,y=6.5ex,#1]\draw[-{Triangle[angle=45:0.5ex 0.5ex,bend]},line width=.3333ex](0,0) arc[start angle=-80,end angle=190,radius=1ex];}
@@ -471,14 +475,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu apparence %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{scrlook}{rgb}{0.5412,0.3333,0.8431}
-\def\scr_blocklook{\scr_normalblock{scrlook}}
-\newcommand*\ovallook{\scr_ovalbox{scrlook}}
+\definecolor{SCRlook}{rgb}{0.5412,0.3333,0.8431}
+\def\SCR_blocklook{\SCR_normalblock{SCRlook}}
+\newcommand*\ovallook{\SCR_ovalbox{SCRlook}}
\newcommand*\txtbox[1]{% #1=texte dans un rectangle blanc
\begin{tikzpicture}[inner xsep=0.2em,inner ysep=0pt,baseline=(text.base west)]
- \node[rectangle,fill=white,text=black](text){\normalfont\sffamily\scr_ovalstrut#1};
+ \node[rectangle,fill=white,text=black](text){\normalfont\sffamily\SCR_ovalstrut#1};
\draw[draw=white!80!black,line width=0.5pt](text.south west)--(text.north west)--(text.north east);
- \ifboolKV[\scrname]{print}
+ \ifboolKV[\SCRname]{print}
{\draw[draw=white!80!black,line width=0.5pt](text.south west)--(text.south east)--(text.north east); }
{}%
\end{tikzpicture}%
@@ -487,16 +491,16 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu son %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{scrsound}{rgb}{0.7333,0.2588,0.7647}
-\def\scr_blocksound{\scr_normalblock{scrsound}}
-\newcommand*\ovalsound{\scr_ovalbox{scrsound}}
+\definecolor{SCRsound}{rgb}{0.7333,0.2588,0.7647}
+\def\SCR_blocksound{\SCR_normalblock{SCRsound}}
+\newcommand*\ovalsound{\SCR_ovalbox{SCRsound}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu stylo %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{scrpen}{rgb}{0.0549,0.6039,0.4235}
-\def\scr_blockpen{\scr_normalblock{scrpen}}
-\newcommand*\ovalpen{\scr_ovalbox{scrpen}}
+\definecolor{SCRpen}{rgb}{0.0549,0.6039,0.4235}
+\def\SCR_blockpen{\SCR_normalblock{SCRpen}}
+\newcommand*\ovalpen{\SCR_ovalbox{SCRpen}}
\newcommand*\squarecolor[1]{% #1 est la couleur
\begin{tikzpicture}[x=1ex,y=1ex,baseline=.33333ex]
\colorlet{__tempcolor}{#1}%
@@ -509,23 +513,23 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu données %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{scrvariable}{rgb}{0.9333,0.4902,0.0863}
-\definecolor{scrlist}{rgb}{0.8,0.3569,0.1333}
-\def\scr_blockvariable{\scr_normalblock{scrvariable}}
-\def\scr_blocklist{\scr_normalblock{scrlist}}
-\newcommand*\ovalvariable{\scr_ovalbox{scrvariable}}
-\newcommand*\ovallist{\scr_ovalbox{scrlist}}
-\newcommand*\boollist{\scr_boolbox{scrlist}}
+\definecolor{SCRvariable}{rgb}{0.9333,0.4902,0.0863}
+\definecolor{SCRlist}{rgb}{0.8,0.3569,0.1333}
+\def\SCR_blockvariable{\SCR_normalblock{SCRvariable}}
+\def\SCR_blocklist{\SCR_normalblock{SCRlist}}
+\newcommand*\ovalvariable{\SCR_ovalbox{SCRvariable}}
+\newcommand*\ovallist{\SCR_ovalbox{SCRlist}}
+\newcommand*\boollist{\SCR_boolbox{SCRlist}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu événement %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{screvent}{rgb}{0.7843,0.5137,0.1882}
-\def\scr_blockevent{\scr_normalblock{screvent}}
-\def\scr_blockinit{\scr_initblock{screvent}}
+\definecolor{SCRevent}{rgb}{0.7843,0.5137,0.1882}
+\def\SCR_blockevent{\SCR_normalblock{SCRevent}}
+\def\SCR_blockinit{\SCR_initblock{SCRevent}}
\definecolor{greenflag}{rgb}{0.2471,0.5529,0.0824}
\newcommand*\greenflag{%
- \tikz[baseline=2pt]\draw[fill={\ifboolKV[\scrname]{print}{scr_flaggray}{greenflag}},draw=none,scale=.4,rotate=-12]
+ \tikz[baseline=2pt]\draw[fill={\ifboolKV[\SCRname]{print}{SCR_flaggray}{greenflag}},draw=none,scale=.4,rotate=-12]
(-.1,0)--(-.1,1)--(0,1)--(0,0.95)..controls(.5,1.2) and (.7,.8)..(1,1)..controls(.95,.7)..
(1,.4)..controls(.7,.3)and(.45,.6)..(0,.4)--(0,0)--cycle; % espace ici
}
@@ -533,40 +537,40 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu contrôle %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{scrcontrol}{rgb}{0.8824,0.6627,0.1020}
-\def\scr_blockrepeat#1#2{\scr_blockloop{#1}{#2}{}01}
-\def\scr_blockinfloop#1#2{\scr_blockloop{#1}{#2}{}11}% 1= texte #2=instructions dans la boucle
-\def\scr_blockifelse#1#2#3{\scr_blockloop{#1}{#2}{#3}00}% 1= texte #2=instructions dans la boucle
-\def\scr_blockif#1#2{\scr_blockifelse{#1}{#2}{}}
-\def\scr_blockinitclone{\scr_initblock{scrcontrol}}
-\def\scr_blockcontrol{\scr_normalblock{scrcontrol}}
+\definecolor{SCRcontrol}{rgb}{0.8824,0.6627,0.1020}
+\def\SCR_blockrepeat#1#2{\SCR_blockloop{#1}{#2}{}01}
+\def\SCR_blockinfloop#1#2{\SCR_blockloop{#1}{#2}{}11}% 1= texte #2=instructions dans la boucle
+\def\SCR_blockifelse#1#2#3{\SCR_blockloop{#1}{#2}{#3}00}% 1= texte #2=instructions dans la boucle
+\def\SCR_blockif#1#2{\SCR_blockifelse{#1}{#2}{}}
+\def\SCR_blockinitclone{\SCR_initblock{SCRcontrol}}
+\def\SCR_blockcontrol{\SCR_normalblock{SCRcontrol}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu capteur %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{scrsensing}{rgb}{0.1725,.6471,0.8863}
-\definecolor{scroperator}{rgb}{0.3608,0.7176,0.0706}
-\newcommand*\ovalsensing{\scr_ovalbox{scrsensing}}
-\def\scr_blocksensing{\scr_normalblock{scrsensing}}
-\newcommand*\boolsensing{\scr_boolbox{scrsensing}}
+\definecolor{SCRsensing}{rgb}{0.1725,.6471,0.8863}
+\definecolor{SCRoperator}{rgb}{0.3608,0.7176,0.0706}
+\newcommand*\ovalsensing{\SCR_ovalbox{SCRsensing}}
+\def\SCR_blocksensing{\SCR_normalblock{SCRsensing}}
+\newcommand*\boolsensing{\SCR_boolbox{SCRsensing}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu opérateur %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand*\ovaloperator{\scr_ovalbox{scroperator}}
-\newcommand*\booloperator{\scr_boolbox{scroperator}}
+\newcommand*\ovaloperator{\SCR_ovalbox{SCRoperator}}
+\newcommand*\booloperator{\SCR_boolbox{SCRoperator}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% menu ajouter bloc %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{scrmoreblocks}{rgb}{0.3882,0.1765,0.6}
-\definecolor{scrmoreblocksurround}{rgb}{0.5569,0.1804,0.7608}
-\definecolor{scrmoreblockcontour}{rgb}{0.5098,0.3412,0.6784}
-\definecolor{scrmoreblocksaux}{rgb}{0.3504,0.2784,0.6941}
-\newcommand*\ovalmoreblocks{\scr_ovalbox{scrmoreblocksaux}}
-\def\scr_blockmoreblocks{\scr_normalblock{scrmoreblocks}}
-\newcommand*\boolmoreblocks{\scr_boolbox{scrmoreblocksaux}}
-\scr_restorecatcode
+\definecolor{SCRmoreblocks}{rgb}{0.3882,0.1765,0.6}
+\definecolor{SCRmoreblocksurround}{rgb}{0.5569,0.1804,0.7608}
+\definecolor{SCRmoreblockcontour}{rgb}{0.5098,0.3412,0.6784}
+\definecolor{SCRmoreblocksaux}{rgb}{0.3504,0.2784,0.6941}
+\newcommand*\ovalmoreblocks{\SCR_ovalbox{SCRmoreblocksaux}}
+\def\SCR_blockmoreblocks{\SCR_normalblock{SCRmoreblocks}}
+\newcommand*\boolmoreblocks{\SCR_boolbox{SCRmoreblocksaux}}
+\SCR_restorecatcode
\endinput
Versions :
@@ -585,12 +589,12 @@ Versions :
| | | - Appel à simplekv pour les clés/valeurs |
| | | - Ajout de la clé "scale" |
|---------+------------+------------------------------------------------------|
-| 0.31 | 15/09/2017 | - Correction d'un bug dans \scr_ovalbox qui |
+| 0.31 | 15/09/2017 | - Correction d'un bug dans \SCR_ovalbox qui |
| | | s'exécute maintenant dans un groupe semi-simple |
| | | pour rendre locale l'assignation à |
-| | | \scr_current_fillcolor |
+| | | \SCR_current_fillcolor |
| | | - Correction d'un bug dans le tracé des lignes de |
-| | | relief dans \scr_ovalbox |
+| | | relief dans \SCR_ovalbox |
|---------+------------+------------------------------------------------------|
| 0.32 | 20/09/2017 | - le node de \selectmenu est désormais "rectangle" |
| | | - la couleur de \ovallist est désormais correcte |
@@ -607,4 +611,6 @@ Versions :
| | | - nouvelle clé «notch» : largeur des encoches |
| | | - clé secrète pour correction dans les losanges |
| | | - nettoyage du code |
+|---------+------------+------------------------------------------------------|
+| 0.41 | 19/02/2019 | - l'extension est obsolète et n'est plus maintenue |
|---------+------------+------------------------------------------------------| \ No newline at end of file