From 1f78f246f3294f893aa24fd7594c8aa19ac70928 Mon Sep 17 00:00:00 2001 From: Astalaseven Date: Sat, 19 Oct 2013 19:27:15 +0200 Subject: [PATCH 1/4] Cadre autour du pseudo-code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Résout le problème du cadre autour du pseudo-code comme signalé dans https://github.com/mcodutti/Logique1-Syllabus/blob/master/MANUEL-ALGO.txt --- algoesi.sty | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/algoesi.sty b/algoesi.sty index 0a09126..658d4c5 100644 --- a/algoesi.sty +++ b/algoesi.sty @@ -1,8 +1,9 @@ % Adaptation du package algorithmicx pour écrire les algorithmes % du cours de logique à l'ESI -\usepackage{algpseudocode} % Perme d'écrire des algorithmes +\usepackage{algpseudocode} % Permet d'écrire des algorithmes \usepackage{algorithm} % Pour des algorithmes flottants +\usepackage{environ} % Pour avoir un cadre autour du pseudo-code % ============================================================================== % Le code suivant permet d'avoir des lignes verticales pour délimiter les blocs. @@ -165,6 +166,14 @@ \end{minipage} } +\NewEnviron{pseudoC}{% + \cadre{ + \begin{pseudo} + \BODY + \end{pseudo} + } + } + \newcommand{\cadre}[1]{% \fcolorbox{gray}{gray!10}{% \begin{minipage}{0.97\linewidth}#1\end{minipage}% From 61fc6cf0960bf137934e1dacd05eab90dad20d93 Mon Sep 17 00:00:00 2001 From: Astalaseven Date: Sat, 19 Oct 2013 21:32:55 +0200 Subject: [PATCH 2/4] =?UTF-8?q?2=20switch=20diff=C3=A9rents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nouvelle commande pour un switch avec condition : `\SwitchC`, qui rajoute automatiquement un `vaut` en fin de ligne. --- algoesi.sty | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/algoesi.sty b/algoesi.sty index 658d4c5..de126e1 100644 --- a/algoesi.sty +++ b/algoesi.sty @@ -65,6 +65,9 @@ \algdef{SE}[SWITCH]{Switch}{EndSwitch}[1] {\printandpush\algorithmicswitch\ #1} {\popandprint\algorithmicend\ \algorithmicswitch}% +\algdef{SE}[SWITCH]{SwitchC}{EndSwitch}[1] + {\printandpush\algorithmicswitch\ #1 \algorithmicworth} + {\popandprint\algorithmicend\ \algorithmicswitch}% \algdef{C}[SWITCH]{SWITCH}{Case}[1] {\popandprint\pushindent\ #1:}% \algdef{SE}[STRUCT]{Struct}{EndStruct}[1] @@ -101,6 +104,7 @@ \algrenewcommand\algorithmicthen{\textbf{alors}} \algrenewcommand\algorithmicelse{\textbf{sinon}} \algnewcommand\algorithmicswitch{\textbf{selon que}} +\algnewcommand\algorithmicworth{\textbf{vaut}} \floatname{algorithm}{Algorithme} % Modifications de style From f4d8e0ed8d45bdae7e2209bce32dd8329f4f7491 Mon Sep 17 00:00:00 2001 From: Astalaseven Date: Sat, 19 Oct 2013 21:53:40 +0200 Subject: [PATCH 3/4] Nouvelle fonction `for` Utilisation `for` classique : \ForC{i}{1}{10} \Write i \EndFor Utilisation `for` avec pas : \ForStep{i}{1}{10}{2} \Write i \EndFor --- algoesi.sty | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/algoesi.sty b/algoesi.sty index de126e1..18491aa 100644 --- a/algoesi.sty +++ b/algoesi.sty @@ -35,6 +35,12 @@ \algdef{SE}[FOR]{For}{EndFor}[1] {\printandpush\algorithmicfor\ #1\ \algorithmicdo} {\popandprint\algorithmicend\ \algorithmicfor}% +\algdef{SE}[FOR]{ForC}{EndFor}[3] + {\printandpush\algorithmicfor\ #1\ \algorithmicfrom\ #2\ \algorithmicto\ #3 \algorithmicdo} + {\popandprint\algorithmicend\ \algorithmicfor}% +\algdef{SE}[FOR]{ForStep}{EndFor}[4] + {\printandpush\algorithmicfor\ #1\ \algorithmicfrom\ #2\ \algorithmicto\ #3\ \algorithmicstep #4\ \algorithmicdo} + {\popandprint\algorithmicend\ \algorithmicfor}% %\algdef{S}[FOR]{ForAll}[1] % {\printindent\algorithmicforall\ #1\ \algorithmicdo}% \algdef{SE}[LOOP]{Loop}{EndLoop} @@ -96,6 +102,9 @@ \algrenewcommand\algorithmicfunction{\textbf{module}} \algrenewcommand\algorithmicwhile{\textbf{tant que}} \algrenewcommand\algorithmicfor{\textbf{pour}} +\algrenewcommand\algorithmicfrom{\textbf{de}} +\algrenewcommand\algorithmicto{\textbf{à}} +\algrenewcommand\algorithmicstep{\textbf{par}} \algrenewcommand\algorithmicrepeat{\textbf{faire}} \algrenewcommand\algorithmicuntil{\textbf{jusqu'à ce que}} \algrenewcommand\algorithmicdo{\textbf{faire}} From beb209c84d7debe38f516c54c75a23abf5faa297 Mon Sep 17 00:00:00 2001 From: Astalaseven Date: Sat, 19 Oct 2013 22:18:21 +0200 Subject: [PATCH 4/4] `for` plus lisible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Utilisation : \For{i \From 1 \To 10 \By 2} (le pas est optionnel) --- algoesi.sty | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/algoesi.sty b/algoesi.sty index 18491aa..4f01eed 100644 --- a/algoesi.sty +++ b/algoesi.sty @@ -129,6 +129,10 @@ \newcommand{\T}[1]{\textsf{#1}} % Type \newcommand{\K}[1]{\textbf{#1}} % Keyword +\newcommand{\From}{\textbf{de}\ } +\newcommand{\To}{\textbf{à}\ } +\newcommand{\By}{\textbf{par}\ } + %\definecolor{declarecolor}{gray}{0.2} \newcommand{\Declare}[2]{\LState{#1 : #2}} \newcommand{\Decl}{\LState}