Page 1 sur 1
numéroter les lettres
Posté : dim. 2 déc. 2012, 19:27
par zariski
Bonsoir !
J'ai bidouillé un truc pour numéroter les mots d'une phrase ainsi que les blancs mais je pense qu'on peut faire mieux...
Aussi un coup de pouce serait le bienvenu, merci.
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
usepackage("amsmath,amsfonts,amssymb");
unitsize(1cm);
string s="Eric et Manon sont en voyage";
label("$\underset{0}{\mbox{E}}\underset{1}{\mbox{r}}\underset{2}{\mbox{i}}
\underset{3}{\mbox{c}}\underset{4}{\mbox{ }}\underset{5}{\mbox{e}}
\underset{6}{\mbox{t}}\underset{7}{\mbox{ }}\underset{8}{\mbox{M}}
\underset{9}{\mbox{a}}\underset{10}{\mbox{n}}\underset{11}{\mbox{o}}
\underset{12}{\mbox{n}}\underset{13}{\mbox{ }}\underset{14}{\mbox{s}}
\underset{15}{\mbox{o}}\underset{16}{\mbox{n}}\underset{17}{\mbox{t}}
\underset{18}{\mbox{ }}\underset{19}{\mbox{e}}\underset{20}{\mbox{n}}
\underset{21}{\mbox{ }}\underset{22}{\mbox{v}}\underset{23}{\mbox{o}}
\underset{24}{\mbox{y}}\underset{25}{\mbox{a}}\underset{26}{\mbox{g}}
\underset{27}{\mbox{e}}$",(0,12),E);
Re: numéroter les lettres
Posté : dim. 2 déc. 2012, 20:23
par maurice
Bonsoir, c'est du vite fait mais bon :
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
unitsize(.35cm);
string s="Eric et Manon sont en voyage";
for(int i=0; i<length(s); ++i) {
label(substr(s,i,1), (i,0), N);
label(format("\tiny %i", i+1), (i,0), S);
}
Bruno
Re: numéroter les lettres
Posté : dim. 2 déc. 2012, 20:28
par maurice
Salut, avec un void :
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
unitsize(.35cm);
string s="Eric et Manon sont en voyage";
string t1="compter les lettres c'est bien ";
string t2="mais si il y a plusieurs lignes ?";
void compter_lettres(string s, real ordonnee=0) {
for(int i=0; i<length(s); ++i) {
label(substr(s,i,1), (i,ordonnee), N);
label(format("\tiny %i", i+1), (i,ordonnee), S);
}
}
compter_lettres(s);
compter_lettres(t1,-5);
compter_lettres(t2,-8);
On peut effectivement sophistiquer cette fonction (nombre de caractère par ligne, espace entre les lignes, ...)
Pour l'affichage de lettres bien toutes alignées, je ne sais pas.
Bruno
Re: numéroter les lettres
Posté : dim. 2 déc. 2012, 20:38
par GM
Bonsoir,
maurice a écrit :Pour l'affichage de lettres bien toutes alignées, je ne sais pas.
basealign
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
unitsize(.35cm);
string s="Eric et Manon sont en voyage";
for(int i=0; i<length(s); ++i) {
label(substr(s,i,1), (i,0), N, basealign);
label(format("\tiny %i", i+1), (i,0), S);
}
Re: numéroter les lettres
Posté : dim. 2 déc. 2012, 20:46
par maurice
Merci, pour basealign :
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
unitsize(.35cm);
string s="Eric et Manon sont en voyage";
string t="compter les lettres c'est bien mais si il y a plusieurs lignes ?";
void compter_lettres(string s, real ordonnee=0,int longueur=35) {
for(int i=0; i<length(s); ++i) {
label(substr(s,i,1), (i-longueur*quotient(i,longueur),ordonnee-3*quotient(i,longueur)), N, basealign);
label(format("\tiny %i", i+1), (i-longueur*quotient(i,longueur),ordonnee-3*quotient(i,longueur)), S);
}
}
compter_lettres(s);
compter_lettres(t,-5);
compter_lettres(s,-12,5);
Bon j'arête là, j'ai du boulot !
Bruno
Re: numéroter les lettres
Posté : dim. 2 déc. 2012, 22:32
par zariski
génial, merci à vous !
Re: numéroter les lettres
Posté : lun. 3 déc. 2012, 00:13
par GM
Je viens de jeter au code (ce que je n'avais pas eu le temps de faire tout à l'heure) et j'y vais d'une suggestion :
Remplacer les :
par :
Re: numéroter les lettres
Posté : lun. 3 déc. 2012, 04:19
par maurice
GM a écrit :Je viens de jeter au code (ce que je n'avais pas eu le temps de faire tout à l'heure) et j'y vais d'une suggestion :
Remplacer les :
par :
Effectivement, ....
c'est ça d'écrire le code en live, on ne fait pas toujours le mieux.
Merci
Bruno