numéroter les lettres

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
zariski
Messages : 141
Enregistré le : dim. 30 sept. 2012, 18:50

numéroter les lettres

Message non lu par zariski » dim. 2 déc. 2012, 19:27

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. :)

Figure asymptote cbd3ce38b2d7ec3a44e5d1b53f9b702b
*** 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
  1. usepackage("amsmath,amsfonts,amssymb");
  2. unitsize(1cm);
  3.  
  4. string s="Eric et Manon sont en voyage";
  5.  
  6. label("$\underset{0}{\mbox{E}}\underset{1}{\mbox{r}}\underset{2}{\mbox{i}}
  7. \underset{3}{\mbox{c}}\underset{4}{\mbox{ }}\underset{5}{\mbox{e}}
  8. \underset{6}{\mbox{t}}\underset{7}{\mbox{ }}\underset{8}{\mbox{M}}
  9. \underset{9}{\mbox{a}}\underset{10}{\mbox{n}}\underset{11}{\mbox{o}}
  10. \underset{12}{\mbox{n}}\underset{13}{\mbox{ }}\underset{14}{\mbox{s}}
  11. \underset{15}{\mbox{o}}\underset{16}{\mbox{n}}\underset{17}{\mbox{t}}
  12. \underset{18}{\mbox{ }}\underset{19}{\mbox{e}}\underset{20}{\mbox{n}}
  13. \underset{21}{\mbox{ }}\underset{22}{\mbox{v}}\underset{23}{\mbox{o}}
  14. \underset{24}{\mbox{y}}\underset{25}{\mbox{a}}\underset{26}{\mbox{g}}
  15. \underset{27}{\mbox{e}}$",(0,12),E);
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: numéroter les lettres

Message non lu par maurice » dim. 2 déc. 2012, 20:23

Bonsoir, c'est du vite fait mais bon :

Figure asymptote b7cd3dec10218f5245b9c0acf8bec2cd
*** 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
  1. unitsize(.35cm);
  2.  
  3. string s="Eric et Manon sont en voyage";
  4.  
  5. for(int i=0; i<length(s); ++i) {
  6. label(substr(s,i,1), (i,0), N);
  7. label(format("\tiny %i", i+1), (i,0), S);
  8. }


Bruno
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: numéroter les lettres

Message non lu par maurice » dim. 2 déc. 2012, 20:28

Salut, avec un void :

Figure asymptote 3d070f1b44aa4f888539fe5c1140646e
*** 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
  1. unitsize(.35cm);
  2.  
  3. string s="Eric et Manon sont en voyage";
  4. string t1="compter les lettres c'est bien ";
  5. string t2="mais si il y a plusieurs lignes ?";
  6.  
  7. void compter_lettres(string s, real ordonnee=0) {
  8. for(int i=0; i<length(s); ++i) {
  9. label(substr(s,i,1), (i,ordonnee), N);
  10. label(format("\tiny %i", i+1), (i,ordonnee), S);
  11. }
  12. }
  13.  
  14. compter_lettres(s);
  15. compter_lettres(t1,-5);
  16. 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
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: numéroter les lettres

Message non lu par GM » dim. 2 déc. 2012, 20:38

Bonsoir,

maurice a écrit :Pour l'affichage de lettres bien toutes alignées, je ne sais pas.


basealign ;-)

Figure asymptote 04c47b882213506b6c1f3f421e5348d5
*** 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
  1. unitsize(.35cm);
  2.  
  3. string s="Eric et Manon sont en voyage";
  4.  
  5. for(int i=0; i<length(s); ++i) {
  6. label(substr(s,i,1), (i,0), N, basealign);
  7. label(format("\tiny %i", i+1), (i,0), S);
  8. }
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: numéroter les lettres

Message non lu par maurice » dim. 2 déc. 2012, 20:46

Merci, pour basealign :

Figure asymptote 25b61bdd3fd13e91bfa7a8dd7be009b9
*** 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
  1. unitsize(.35cm);
  2.  
  3. string s="Eric et Manon sont en voyage";
  4. string t="compter les lettres c'est bien mais si il y a plusieurs lignes ?";
  5.  
  6. void compter_lettres(string s, real ordonnee=0,int longueur=35) {
  7. for(int i=0; i<length(s); ++i) {
  8. label(substr(s,i,1), (i-longueur*quotient(i,longueur),ordonnee-3*quotient(i,longueur)), N, basealign);
  9. label(format("\tiny %i", i+1), (i-longueur*quotient(i,longueur),ordonnee-3*quotient(i,longueur)), S);
  10. }
  11. }
  12.  
  13.  
  14. compter_lettres(s);
  15. compter_lettres(t,-5);
  16. compter_lettres(s,-12,5);


Bon j'arête là, j'ai du boulot !

Bruno
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

zariski
Messages : 141
Enregistré le : dim. 30 sept. 2012, 18:50

Re: numéroter les lettres

Message non lu par zariski » dim. 2 déc. 2012, 22:32

génial, merci à vous !
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: numéroter les lettres

Message non lu par GM » lun. 3 déc. 2012, 00:13

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 :

Code : Tout sélectionner

i-longueur*quotient(i,longueur)

par :

Code : Tout sélectionner

i%longueur
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: numéroter les lettres

Message non lu par maurice » lun. 3 déc. 2012, 04:19

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 :

Code : Tout sélectionner

i-longueur*quotient(i,longueur)

par :

Code : Tout sélectionner

i%longueur


Effectivement, ....

c'est ça d'écrire le code en live, on ne fait pas toujours le mieux.

Merci

Bruno
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Répondre