Je me suis confronté aux caractères spéciaux .
Du coup, le programme, simple au départ, est devenu complexe avec plein de tests.
*** 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(1.1cm);
- defaultpen(fontsize(10pt));
- int[] speciaux={35, 36, 37, 38, 92, 94, 95, 123, 125, 126};
- string table(int n, int p) {
- string l1, l2;
- for(int i=n; i<p; ++i) {
- if(i==34) {l1 = l1 + '"'; l1 += " &"; l2 += format("%i", i) + " &";}
- else {
- if(i==92) {l1 = l1 + "\textbackslash"; l1 += " &"; l2 += format("%i", i) + " &";}
- else {
- if(i==94) {l1 = l1 + "\textasciicircum"; l1 += " &"; l2 += format("%i", i) + " &";}
- else {
- if(i==35 | i ==36 | p==37 | i==38 | i==92 | i==95 | i==123 | i==125 | i==126) {
- l1 = l1 + '\\' + format("%c", i); l1 += " &";
- l2 += format("%i", i) + " &";
- } else {
- l1 += format("%c", i); l1 += " &";
- l2 += format("%i", i) + " &";
- }
- }
- }
- }
- }
- if(p==35 | p ==36 | p==37 | p==38 | p==92 | p==95 | p==123 | p==125) {
- l1 = l1 + '\\' + format("%c", p); l1 += " \\";
- l2 += format("%i", p) + " \\";
- } else {
- if (p==126) {
- l1 += " \textasciitilde \\";
- l2 += format("%i", p) + " \\";
- } else {
- l1 += format("%c", p) + " \\";
- l2 += format("%i", p) + " \\";
- }
- }
- write(l1);
- write(l2);
- return "\begin{tabular}{|l|*{18}{c|}} \hline Caract\`ere &" + l1 + "\hline Code &" + l2 + " \hline \end{tabular}";
- }
- label(table(51,68), (0,0));
- label(table(69,86), (0,-1));
- label(table(87, 103), (0,-2));
- label(table(104,118), (0,-3));
- label(table(119,126), (-3,-4));
Euh, Y'a pas plus simple ?...
Il reste le problème de l'alignement et des lignes de même longueur (usepackage("tabularx")) ?
Merci
Bruno