Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

multido imbriqués

7 views
Skip to first unread message

pluton

unread,
Nov 8, 2009, 8:01:39 PM11/8/09
to
bonjour,

pensez-vous qu'il est possible d'imbriquer des multido ? En fait,
j'essaie d'imbriquer des pscharclip mais c'est pas très bien parti !!
Ca revient un peu à faire l'effet "vache-qui-rit" (il y a un terme
plus approprié pour ça mais je ne le retrouve pas).

merci

Jean-Côme Charpentier

unread,
Nov 9, 2009, 1:43:41 AM11/9/09
to
pluton a �crit :

> bonjour,
>
> pensez-vous qu'il est possible d'imbriquer des multido ?

J'en suis m�me archi-s�r.

> En fait,
> j'essaie d'imbriquer des pscharclip

??? Embo�ter des pscharclip ??? C'est quoi la signification ? C'est
pour avoir un clip qui ait la forme de l'intersection d'un � g � et d'un
� k � ? C'est �a ?

> mais c'est pas tr�s bien parti !!
> Ca revient un peu � faire l'effet "vache-qui-rit" (il y a un terme
> plus appropri� pour �a mais je ne le retrouve pas).

Il faudrait un essai de code pour voir... ou un sch�ma pourri avec
gimp ou paint :-) Pour l'instant, je ne saisis pas trop la demande mais
il est t�t donc c'est peut-�tre de ma faute.

Jean-C�me Charpentier

--
Ouuuuh (que je me dis), fait gaffe Jean-C^W mon vieux TeX, il va
falloir que je mette le prochain lex�me au chaud et que je d�veloppe
le suivant avant de sortir le premier de sa cachette.
-+- Jean-C�me in fr.comp.text.tex -+-

quark67

unread,
Nov 9, 2009, 4:45:16 AM11/9/09
to
pluton <pluto...@gmail.com> wrote:
> Ca revient un peu � faire l'effet "vache-qui-rit" (il y a un terme
> plus appropri� pour �a mais je ne le retrouve pas).

Bonjour, le terme recherch� est "Mise en abyme".
http://fr.wikipedia.org/wiki/Mise_en_abyme

pluton

unread,
Nov 9, 2009, 8:08:03 AM11/9/09
to

> Bonjour, le terme recherché est "Mise en abyme".http://fr.wikipedia.org/wiki/Mise_en_abyme

merci pour le lien !! très bien

pluton

unread,
Nov 9, 2009, 8:10:33 AM11/9/09
to
On 9 nov, 01:43, Jean-Côme Charpentier <Jean-
Come.Charpent...@wanadoo.fr> wrote:
> pluton a écrit :

>
> > bonjour,
>
> > pensez-vous qu'il est possible d'imbriquer des multido ?
>
>   J'en suis même archi-sûr.

>
> > En fait,
> > j'essaie d'imbriquer des pscharclip
>
>   ??? Emboîter des pscharclip ??? C'est quoi la signification ? C'est

> pour avoir un clip qui ait la forme de l'intersection d'un « g » et d'un
> « k » ? C'est ça ?

non, en fait j'utilise un exemple de la doc de pstricks où il y a du
texte dans le mot PSTRICKS.
Je voulais faire la même chose avec une itération supplémentaire. Du
texte dans un mot qui
est lui même dans le mot PSTRICKS (par exemple). J'ai essayé
rapidement mais je me suis
lamentablement planté !

Sinon, je viens de voir dans la doc de multido qu'ils pouvaient être
"nestés" donc je vais regarder ça de plus prêt....

MErci

pluton

unread,
Nov 9, 2009, 8:41:23 AM11/9/09
to
en fait, je viens de faire un essai mais ça ne fonctionne pas comme
attendu :

\psgrid(0,0)(15,20)
\multido{\i=0+1}{3}{
\FPeval{\posX}{\i+1}
\multido{\I=0+1}{3}{
\FPeval{\posY}{\I+1}
\FPeval{\couleurA}{2*\I+5*\i}
\psframe[fillstyle=solid,fillcolor=black!
\couleurA,linewidth=2pt,linecolor=blue!\couleurA](\i,\I)(\posX,\posY)
}
}

les petits carrés sont incorrectement positionnés selon l'axe
horizontal, j'ai l'impression qu'il y a un problème
d'initialisation mais bon, peut-être pas.... ??

Si vous avez une idée ? merci

Jean-Côme Charpentier

unread,
Nov 9, 2009, 11:33:51 AM11/9/09
to
pluton a �crit :
> en fait, je viens de faire un essai mais �a ne fonctionne pas comme
> attendu :
>
> \psgrid(0,0)(15,20)
> \multido{\i=0+1}{3}{ <-- ici
> \FPeval{\posX}{\i+1} <-- ici
> \multido{\I=0+1}{3}{ <- ici
> \FPeval{\posY}{\I+1} <- ici
> \FPeval{\couleurA}{2*\I+5*\i} <- ici

> \psframe[fillstyle=solid,fillcolor=black!
> \couleurA,linewidth=2pt,linecolor=blue!\couleurA](\i,\I)(\posX,\posY)
> }
> }
>
> les petits carr�s sont incorrectement positionn�s selon l'axe
> horizontal, j'ai l'impression qu'il y a un probl�me
> d'initialisation mais bon, peut-�tre pas.... ??

Pas de probl�me d'initialisation : il s'agir uniquement d'espaces
parasites (l� o� il y a les � <-- ici � ci-dessus). La premi�re version
de mon code reprend votre exemple (sous la forme d'un code compilable)
avec des pourcents aux endroits strat�giques. Je propose �galement une
deuxi�me fa�on plus �l�gante... ou moins bulldozer disons. Demander � fp
de faire des calculs aussi simples, c'est vraiment le marteau-pilon pour
�craser une mouche. � noter �galement l'emploi du \rput, commande dont
la puissance est souvent m�connue de ceux d�butant en pstricks. Ici,
cela �conomise deux calculs et deux macros (\posX et \posY)

> Si vous avez une id�e ? merci

Donc oui, des tas :

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[a4paper]{geometry}
\usepackage{lmodern}
\usepackage{pst-all}
\usepackage{fp}
\usepackage{calc} % pour la deuxi�me version
\newcounter{couleurA}
\usepackage[frenchb]{babel}

\begin{document}
\psgrid(0,0)(15,20)
\multido{\i=0+1}{3}{%
\FPeval{\posX}{\i+1}%
\multido{\I=0+1}{3}{%
\FPeval{\posY}{\I+1}%
\FPeval{\couleurA}{2*\I+5*\i}%


\psframe[fillstyle=solid,fillcolor=black!
\couleurA,linewidth=2pt,linecolor=blue!\couleurA](\i,\I)(\posX,\posY)
}
}

\newpage
\begin{pspicture}(0,0)(15,20)
\psset{fillstyle=solid, linewidth=2pt}
\psgrid
\multido{\i=0+1}{3}{%
\multido{\I=0+1}{3}{%
\setcounter{couleurA}{2*\I+5*\i}%
\rput(\i,\I){%
\psframe[fillcolor=black!\thecouleurA,
linecolor=blue!\thecouleurA](0,0)(1,1)
}
}
}
\end{pspicture}
\end{document}


--
Ay�, j'ai compris. Comment �a se fait que je ne me sois pas encore
fait �gorger sur fctt ....
-+- Patrick in fr.comp.text.tex -+-

pluton

unread,
Nov 9, 2009, 12:07:40 PM11/9/09
to
ah oui, c'est beau merci !

pluton

unread,
Nov 9, 2009, 11:01:55 PM11/9/09
to
j'essaie de petites variation mais avec le code ci-dessous, j'obtiens
un bogue
à cause de la ligne concernant l'angle de rotation, c'est dommage ???

\multido{\i=0+1}{2}{%
\FPeval{\posXA}{\i-10.8}%
\FPeval{\posXB}{\i-9.8}%
\multido{\I=0+1}{3}{%
\FPeval{\posYA}{\I-26.7}%
\FPeval{\posYB}{\I-25.7}%
\FPeval{\couleurA}{1.7*\I+1.7*\i}%
\FPeval{\couleurB}{100-\couleurA}%
\FPeval{\AngleA}{\I+\i}%
\rput{\angleA}(\posXA,\posYA){\psframe
[fillstyle=solid,fillcolor=black!
\couleurA,linewidth=2pt,linecolor=ocre!\couleurB](0,0)(1,1)}
}
}

en gros, le \angleA passe très mal avec un "number too big 00000000
00000000 ... lalalal....
qu'est-ce qu'il y a de mal dans le code ?

merci


pluton

unread,
Nov 9, 2009, 11:47:07 PM11/9/09
to
en fait ça fonction grâce au package clacl

\usepackage{calc} % pour la deuxième version
\newcounter{angleA}


\multido{\i=0+1}{2}{%
\FPeval{\posXA}{\i-10.8}%

\multido{\I=0+1}{3}{%
\FPeval{\posYA}{\I-26.7}%

\FPeval{\couleurA}{1.7*\I+1.7*\i}%
\FPeval{\couleurB}{100-\couleurA}%

\setcounter{angleA}{2*\I+2*\i}
\FPeval{\angleA}{2*\i}%
\rput{\theangleA}(\posXA,\posYA){\psframe
[fillstyle=solid,fillcolor=black!
\couleurA,linewidth=2pt,linecolor=ocre!\couleurB](0,0)(1,1)}
}
}

mais je ne sais pas trop pourquoi l'autre option est problématique....

Jean-Côme Charpentier

unread,
Nov 10, 2009, 12:15:09 PM11/10/09
to
pluton a �crit :
> en fait �a fonction gr�ce au package clacl
>
> \usepackage{calc} % pour la deuxi�me version

> \newcounter{angleA}
> \multido{\i=0+1}{2}{%
> \FPeval{\posXA}{\i-10.8}%
> \multido{\I=0+1}{3}{%
> \FPeval{\posYA}{\I-26.7}%
> \FPeval{\couleurA}{1.7*\I+1.7*\i}%
> \FPeval{\couleurB}{100-\couleurA}%
> \setcounter{angleA}{2*\I+2*\i}
> \FPeval{\angleA}{2*\i}%
> \rput{\theangleA}(\posXA,\posYA){\psframe
> [fillstyle=solid,fillcolor=black!
> \couleurA,linewidth=2pt,linecolor=ocre!\couleurB](0,0)(1,1)}
> }
> }

Est-ce que ce serait possible d'avoir un code qui compile ? C'est
super p�nible d'avoir des bouts de code qui ne peuvent absolument pas
compiler. Je passe sur la confusion \angleA avec \AngleA du code du
message pr�c�dent. Je signale juste que je viens de passer 10 bonnes
minutes � essayer de trouver o� �tait d�fini la couleur ocre (et je n'ai
pas trouv�) et quelle �tait la bonne fen�tre pspicture pour afficher la
chose. Avec le code tel quel, on ne voit strictement rien (m�me une fois
qu'on a mis un \documentclass, un pr�ambule qui tient la route et le
reste du code dans le corps du document.
La prochaine fois, je ne regarderai m�me pas la question. Je n'aime
pas perdre mon temps sur des b�tises qui n'ont aucun rapport avec le
probl�me pos�.

> mais je ne sais pas trop pourquoi l'autre option est probl�matique....

Bon. Le probl�me, c'est que fp est un gros bourin. Lorsqu'il fait le
calcul \FPeval{\angleA}{2*\i} (ce n'�tait pas le m�me calcul dans le
message pr�c�dent) et lorsque \i vaut 1, \angleA ne contient pas 2 mais
2.000000000000000000 (ou quelque chose d'approchant) et pstricks n'aime
pas du tout qu'on lui balance des nombres avec 18 chiffres apr�s la
virgule. On peut toujours utiliser \FPclip pour se d�barrasser des z�ros
non significatifs mais personnellement, plus je peux me passer de fp,
plus je suis content.

Jean-C�me Charpentier

--
<Joss> Si j'avais fait du LaTeX il y a quinze ans, c'est-�-dire quand
j'en avais dix, je me serais pos� des questions sur ma sant�
mentale et aurais demand� l'euthanasie sans autre forme de
proc�s.
<Patrice K> Tu m'aurais dit cela pour plain, je ne dis pas mais pour
LaTeX, *LE* langage par excellence o� l'on a rien � faire,
c'est plus douteux...
<Joss> Justement Plain, je l'ai eu en bouillie � partir d'un an, avant
c'�tait INITEX au biberon. Le LaTeX ne devrait �tre vendu
qu'en pharmacie aux personnes majeures ayant leur carnet de
vaccination � jour.
-+- in fr.comp.text.tex -+-

pluton

unread,
Nov 10, 2009, 12:34:12 PM11/10/09
to
oui désolé, je n'ai pas été brillant mais en fait j'avais repris vos
exemples à par la couleur ocre (qui n'a pas d'importance): Voici
l'exemple qui va bien.
Le dernier ne compile pas et génère un message d'erreur :

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[a4paper]{geometry}

\usepackage[dvips]{color}


\usepackage{lmodern}
\usepackage{pst-all}
\usepackage{fp}

\usepackage{calc} % pour la deuxième version
\newcounter{couleurA}
\newcounter{angleA}
\usepackage[frenchb]{babel}


\definecolor{ocre}{RGB}{243,102,25}


\begin{document}
% votre code initial (ou presque)
\begin{pspicture}(0,0)(15,20)
\psset{fillstyle=solid,linewidth=2pt}
\psgrid
\multido{\i=0+1}{5}{%
\multido{\I=0+1}{5}{%
\setcounter{couleurA}{2*\I+2*\i}%


\rput(\i,\I){%
\psframe[fillcolor=black!\thecouleurA,
linecolor=blue!\thecouleurA](0,0)(1,1)
}
}
}
\end{pspicture}

\begin{pspicture}(0,0)(15,20)
\psset{fillstyle=solid, linewidth=2pt}
\psgrid
\multido{\i=0+1}{5}{%
\FPeval{\posXA}{1.5*\i}%
\multido{\I=0+1}{5}{%
\FPeval{\posYA}{1.5*\I}%
\FPeval{\couleurA}{3*\I+2*\i}%


\FPeval{\couleurB}{100-\couleurA}%

\FPeval{\coeff}{\i/3+\I/3}%
\setcounter{angleA}{4*\I+4*\i}%
\setcounter{couleurA}{3*\I+2*\i}%
\rput[c]{\theangleA}(\posXA,\posYA){\psframe
[fillstyle=solid,fillcolor=black!\thecouleurA,linecolor=ocre!\couleurB]
(0,0)(1,1)}
}
}
\end{pspicture}

% commenter cet exemple qui ne fonctionne pas mais voir le message
d'erreur indiqué
\newpage
\begin{pspicture}(0,0)(15,20)
\multido{\i=0+1}{10}{%
\FPeval{\posXA}{1.5*\i}%
\multido{\I=0+1}{10}{%
\FPeval{\posYA}{1.5*\I}%
\FPeval{\couleurA}{3*\I+2*\i}%


\FPeval{\couleurB}{100-\couleurA}%

\FPeval{\coeff}{\i/3+\I/3}%
\setcounter{couleurA}{3*\I+2*\i}%
\rput[c]{\coeff}(\posXA,\posYA){\psframe
[fillstyle=solid,fillcolor=black!\thecouleurA,linecolor=ocre!\couleurB]
(0,0)(2,2)}
}
}
\end{pspicture}

\end{document}

Jean-Côme Charpentier

unread,
Nov 10, 2009, 1:54:19 PM11/10/09
to
pluton a �crit :
> oui d�sol�, je n'ai pas �t� brillant mais en fait j'avais repris vos
> exemples � par la couleur ocre (qui n'a pas d'importance): Voici

> l'exemple qui va bien.
> Le dernier ne compile pas et g�n�re un message d'erreur :
>
> \documentclass{article}
> [couic]
> \end{document}

Aaaah ! C'est *beaucoup* plus simple comme �a. Donc, comme je le
disais, c'est la fa�on qu'� fp de traiter les nombres. Apr�s un calcul,
un nombre a obligatoirement 18 chiffres apr�s la virgule et PSTricks
n'aime pas toujours ce genre d'amusement.
Il suffit d'arrondir le nombre qui fait ch... La seule commande qui
fait diff�rence avec votre code, c'est l'ajout de

\FPround{\coeff}{\coeff}{3}%

Avant de balancer \coeff � une commande PSTricks.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[a4paper]{geometry}
\usepackage[dvips]{color}
\usepackage{lmodern}
\usepackage{pst-all}

\usepackage[nomessages]{fp} % Sans 'nomessages', le log est vraiment
% imbuvable !
\usepackage{calc} % pour la deuxi�me version


\definecolor{ocre}{RGB}{243,102,25}

\rput[c]{\theangleA}(\posXA,\posYA){%
\psframe[fillcolor=black!\thecouleurA,


linecolor=ocre!\couleurB](0,0)(1,1)
}
}
}
\end{pspicture}

% commenter cet exemple qui ne fonctionne pas mais voir le message

% d'erreur indiqu�
\newpage


\begin{pspicture}(0,0)(15,20)
\psset{fillstyle=solid, linewidth=2pt}

\multido{\i=0+1}{10}{%
\FPeval{\posXA}{1.5*\i}%
\multido{\I=0+1}{10}{%
\FPeval{\posYA}{1.5*\I}%
\FPeval{\couleurA}{3*\I+2*\i}%
\FPeval{\couleurB}{100-\couleurA}%
\FPeval{\coeff}{\i/3+\I/3}%

\FPround{\coeff}{\coeff}{3}%


\setcounter{couleurA}{3*\I+2*\i}%

\rput[c]{\coeff}(\posXA,\posYA){%
\psframe[fillcolor=black!\thecouleurA,


linecolor=ocre!\couleurB](0,0)(2,2)
}
}
}
\end{pspicture}

\end{document}

Jean-C�me Charpentier

--
En plus, cela va permettre de s'engueuler en priv�. Par exemple, je ne
dit pas expansion mais d�veloppement. Je sais aussi que tu dis token
et j'utilise plut�t unit� lexicale. Esp�ce de djeun d�form� :-)

pluton

unread,
Nov 10, 2009, 2:16:13 PM11/10/09
to
parfait, merci. Même si fp est lourd, il est assez flexible dans sa
gestion des entiers ou réels
et permet de se sortir simplement de certaines situations un peu
difficiles et comme la commande
\FPround{\coeff}{\coeff}{3} n'est pas pénalisante dans les cas qui
m'intéressent, c'est parfait !
0 new messages