Asymptote Latex et les fonctions...

Ne soyons pas sectaires : il est possible de lancer ici un sujet de discussion sans rapport avec Asymptote.
jmz
Messages : 14
Enregistré le : mer. 16 janv. 2013, 23:37

Asymptote Latex et les fonctions...

Message non lu par jmz » mer. 15 janv. 2014, 13:00

Bonjour,
N'ayant pas assez de recul avec Asymptote deux questions..
Asymptote et Latex
Que peut-on réaliser sous éditeur Latex sans utiliser Asymptote
et qui serait irréalisable sous Asymptote, Notepad++/Nppexec?

Asymptote et les fonctions..
En parcourant la documentation officielle.. librairie libGSL..
Si je comprends bien, on ne dispose que des fonctions du module gsl qui lui est invisible!
Question: Asymptote: un système hermétiquement clos!?..
Aucune possibilité d'utiliser des fonctions de librairies externes?..
Merci
Comme je débute la rubrique pour 2014...
Meilleurs Vœux de longévité, dynamisme, au site et à la galerie qui sont vraiment bien utiles !...

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

Re: Asymptote Latex et les fonctions...

Message non lu par GM » mer. 15 janv. 2014, 14:06

Bonjour,

jmz a écrit :N'ayant pas assez de recul avec Asymptote deux questions..
Asymptote et Latex
Que peut-on réaliser sous éditeur Latex sans utiliser Asymptote
et qui serait irréalisable sous Asymptote, Notepad++/Nppexec?


Je ne comprends pas du tout la question... au point de me demander s'il y a des erreurs de mots... ou s'il n'y a pas des confusions quant au rôle de chacun.

Sachant cela :

  • LaTeX : langage et système de composition de documents
  • Asymptote : l'un des langages vectoriels possibles pour intégrer des figures dans ces documents.
  • Editeur LaTeX : un éditeur qui offre des facilités pour la pratique du langage LaTeX en apportant généralement la coloration syntaxique et des raccourcis pour compiler.
  • Notepad++ et son plugin NppExec sont pratiques pour compiler des scripts dans des langages divers.

... je n'arrive pas à comprendre ce qui est demandé.


jmz a écrit :Asymptote et les fonctions..
En parcourant la documentation officielle.. librairie libGSL..
Si je comprends bien, on ne dispose que des fonctions du module gsl qui lui est invisible!
Question: Asymptote: un système hermétiquement clos!?..
Aucune possibilité d'utiliser des fonctions de librairies externes?..


Que faut-il comprendre quant aux fonctions espérées ? Peut-on avoir des exemples précis ?


Pour GSL avec Asymptote, je rappelle cette page : http://asymptote.sourceforge.net/doc/Ma ... tions.html
Voir ici ce que la librairie GSL propose en dehors d'Asymptote : http://www.gnu.org/software/gsl/manual/ ... -Functions
Et quand on connait le nom d'une fonction dans la librairie GSL d'origine, faire une recherche sur ce nom dans ce fichier : http://sourceforge.net/p/asymptote/code ... ote/gsl.cc

Par exemple : la fonction gsl_sf_erf (dont il est question là https://www.gnu.org/software/gsl/manual/html_node/Error-Function.html#Error-Function)m'a renvoyé vers cette ligne du fichier asymptote gsl.cc :

Code : Tout sélectionner

// Error functions
  addGSLRealFunc<gsl_sf_erf>(SYM(erf));

Je crois pouvoir dire alors que l'équivalent de gsl_sf_erf dans la librairie d'origine est erf dans Asymptote.

jmz a écrit :Comme je débute la rubrique pour 2014...
Meilleurs Vœux de longévité, dynamisme, au site et à la galerie qui sont vraiment bien utiles !...


Merci.
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 10/10/17) :
PC n°1 :Windows 10 - Asymptote(2.41)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 16.04LTS - Asymptote(2.42 git) + TexLive2017 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !

jmz
Messages : 14
Enregistré le : mer. 16 janv. 2013, 23:37

Re: Asymptote Latex et les fonctions...

Message non lu par jmz » ven. 17 janv. 2014, 12:43

Asymptote et Latex
L’incompréhension provient de ma méconnaissance de Latex , de ses règles et usages.
Si on s’autorise à écrire du texte à l’aide de tabular en utilisant un tableau d’une seule colonne , il est facile de créer une fonction Asymptote avec deux paramètres qui contiendra le code Latex de tabular. (cf.exemple)

L’exécution de l’écriture devient alors très simple par l’appel d’une fonction Asymptote et tient en deux lignes.
L’intérêt : Une rapidité d’édition sans qu’il soit nécessaire de passer par l’écriture Latex permettant également d’insérer le texte où l’on veut sur la page.
Si on a l’habitude de présenter ses résultats dans un tableau compliqué avec des lignes de séparation en double, des lignes sans séparation de colonne etc..etc..
Il suffit de rentrer une seule fois l’écriture Latex dans une fonction, de bien choisir les paramètres et l’édition s’effectuera de même en deux lignes de code.

Ma question serait plutôt :
Est-ce que toutes les écritures Latex peuvent s’intégrer dans des fonctions Asymptote ?
je serais tenté de répondre oui… sans le savoir !

Code : Tout sélectionner


settings.outformat="pdf";
usepackage("fourier");        //pour les accents

string edition0(
string sdepart ,      //texte initial éventuellement sur  plusieurs lignes
string cadrage="l" ,  //les alignements c,r,l ; ""=sans colonnes aligntxt
string lignehz="",      //  ""= PAS de lignes ; "hz" lignes dessous et dessus
string sep="\\"
)
{
string s,  q=sep+'\x0A';
string    lcr,hz,  dbantis="\\";
string deb_mat,fin_mat,fin_mat=" \end{tabular}  ";
//on enlève les " "
 lcr=replace (cadrage,' ',''); hz=replace (lignehz,' ','');
 
//sdepart en tableau
//==================
s=replace(sdepart,'\x0A',  q);
string[] tabinit0=split(s,sep);//la chaîne en tableau
int ii, nb_lig=tabinit0.length;
//Le cadrage choisi
deb_mat=" \begin{tabular}{"+lcr+"} ";
 
//AJOUT des \ hline + CONTENU de A + les \\ de tabular
//====================================================
string lig="",s="";
if(hz=="hz"){lig=" \hline "; } ;
 for (int i=0;i<nb_lig;++i){s= tabinit0[ii]+dbantis ;++ii;
 lig=lig+s;   
 };
 
//le dernier hline
//================
if (hz=="hz") {lig=lig+ " \hline ";};  //la dernière ligne hz du dessous
s=deb_mat+lig+fin_mat;
return s;
};


//UTILISATION:
//***********

//Ex3: Un texte de circonstance...
string s="Un copier/coller (légèrement modifié) car issu d'un .PDF :

\textbf{Apprentissage et pratique de LATEX}
\textbf{Manuel  PEGOURIER-GONNARD  UPCM module LM204}
Malgré ces nombreux succès, LATEX reste trop souvent perçu comme un outil de spécialiste.
Une des raisons est sa difficulté d'apprentissage. Celle-ci est en partie réelle : d'une part, sa méthode de
préparation des documents, séparant code source et résultat, n'est pas intuitive pour qui n'a pas
une certaine culture informatique, et elle se prête peu à un auto-apprentissage sans document de
référence. Enfin, de part son histoire, LATEX ne forme pas un tout cohérent, et son univers peuplé
de modules et de programmes auxiliaires, souvent encore trop éloigné des standards actuels, peut
dérouter.
Mais une partie des difficultés d'apprentissage est plus environnementale qu'intrinsèque. En
effet, on  apprend  souvent LATEX sur le tas, à la va-vite, pour produire un mémoire, forcément à
rendre pour hier, en recopiant des recettes trouvées ça et là, chez un collègue ou sur internet.
Sur ce point, LATEX ne se distingue pas des autres outils ou disciplines : on l'apprend mieux et plus vite
en suivant un cours structuré et en prenant le temps de progresser étape par étape, que tout seul
et dans l'urgence.";

s=edition0(s);label (s,(0,0));


//Illustration des cadrages
string s0="Malgré ces nombreux succès
Une des raisons
préparation des documents, séparant";
s=edition0(s0,"|l|","hz");label (s,(0,-5cm));
s=edition0(s0,"|c|","hz");label (s,(0,-7cm));
s=edition0(s0,"|r|","hz");label (s,(0,-9cm));


Asymptote et les fonctions
Je voulais simplement écrire les valeurs propres d’une matrice sans sortir d’Asymptote.

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

Re: Asymptote Latex et les fonctions...

Message non lu par GM » ven. 17 janv. 2014, 18:14

Ce genre de demande (à savoir "Comment tout faire avec Asymptote ?") me rappelle quelque chose : cela.

---

Si je devais avoir un modèle avec beaucoup de textes et éléments de présentation fixes... en devant y changer des valeurs, je me demande si, je n'aurais pas plutôt envisagé de tester des solutions telles que :
  1. tester un système de template avec un modèle de document en format tex... et un script externe qui :
    • effectuerait les calculs ;
    • remplacerait aux bons endroits par les résultats des calculs dans une copie du modèle ;
    • lancerait la compilation du tex pour produire le tex.
  2. tester ce qui est possible du côté d'un tex avec des appels à un logiciel du type xcas ;
  3. ou encore tester ce que permet lualatex avec des calculs dans le tex, via le langage lua.

Mais je dis tout cela sans avoir testé... ni sans avoir le temps de le tester.
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 10/10/17) :
PC n°1 :Windows 10 - Asymptote(2.41)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 16.04LTS - Asymptote(2.42 git) + TexLive2017 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !

jmz
Messages : 14
Enregistré le : mer. 16 janv. 2013, 23:37

Re: Asymptote Latex et les fonctions...

Message non lu par jmz » lun. 20 janv. 2014, 18:09

Effectivement, le programme est une reprise d'un programme de mkr figurant dans ses "brouillons" en remplaçant minipage par tabular pour éditer rapidement un texte.

En se limitant au mode mathématique et en gros aux environnements array,matrix,j'y vois donc deux approches pour réaliser un .Pdf concernant l’édition de nombreux textes, tableaux et figures diverses..
Une académique comme tu proposes mais qui nécessite une solide pratique et culture Latex .(..Système de template et script externe...il me faudrait attendre les vacances pour m’y lancer.. et encore !..)

Une seconde : " Avec les moyens du bord.. " en construisant des fonctions Asymptote contenant les codes Latex des 5 ou 6 utilisations les plus courantes... L’ édition d’un tableau 10x8 se résumant à :

Code : Tout sélectionner

string s=mafonction(10,8,nomdutableau) ;label(s,position) ;


Concernant la question :Latex système fermé ?
J’ai lu les pages signalées… pas tout compris !.. Il en ressort que la librairie GSL ne fonctionne que sous Linux ...Qu’elle contient de nombreuses rubriques inaccessibles depuis Asymptote sauf celle des Special Functions .
Pour espérer afficher vecteur propres et valeurs propres lors de la rédaction, il faudra donc attendre qu’un généreux donateur nous traduise un programme de diagonalisation du Pascal ou du C en Asymptote ?...
Merci pour toutes tes réponses.

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

Re: Asymptote Latex et les fonctions...

Message non lu par GM » lun. 20 janv. 2014, 21:39

jmz a écrit :Effectivement, le programme est une reprise d'un programme de mkr figurant dans ses "brouillons" en remplaçant minipage par tabular pour éditer rapidement un texte

Il aura donc convaincu au moins une personne... :mrgreen:

Pour gsl, désolé je n'ai pas le temps de creuser la question cette semaine.
Je ne réponds qu'aux messages qui ne me nécessite pas de chercher... car j'ai trop de copies à corriger en ce moment.
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 10/10/17) :
PC n°1 :Windows 10 - Asymptote(2.41)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 16.04LTS - Asymptote(2.42 git) + TexLive2017 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !

jmz
Messages : 14
Enregistré le : mer. 16 janv. 2013, 23:37

Re: Asymptote Latex et les fonctions...

Message non lu par jmz » jeu. 31 juil. 2014, 16:10

Bien compliqué de te répondre vu l'abîme de connaissances qui sépare...mais brièvement
dans le cadre de la tribune libre.

Pas très convaincu!

Considérer Asymptote comme le digne successeur de Metapost me semble bien trop réducteur...
Avec l'utilisation des "usepackage(..), texpreamble(..), text(..) .." et la possibilité
d'utiliser du code Latex dans des fonctions Asymptote on finit même
par se demander dans quelle mesure ce langage ne phagocyterait pas partiellement Latex!..

Ta réponse soulève justement une question: Comment considérer Latex?
Comme un Art avec ses Règles, sa Culture, ses orthodoxies...
Comme un simple outil permettant de rédiger rapidement(?..) des .PDF de qualité professionnelle.
Ayant abordé Asymptote sans pratiquer Latex, je pencherai plutôt pour la deuxième option..

Concernant l'édition par programmation de nombreux tableaux et calculs annexes..
Tu proposes la programmation Latex.
C'est un peu frustrant si on débute en Asymptote car finalement c'est assez simple.
Il suffit de créer une fonction d'édition de tableaux sous Asymptote.
On ajoute quelques fonctions d'édition spécifiques si nécessaire..
Pour l'édition finale,la propriété de tout pouvoir loger dans des frames: Textes,tableaux,graphiques,
figures diverses..comme d'ailleurs tu le montres dans la galerie, permet de construire facilement
une fonction introduisant les "newpage" dans le .PDF lorsque nécessaire.
(Les tailles des tableaux et textes divers édités étant inconnues au départ.)
C'est compréhensible par tous ceux qui programment ou ont eu l'occasion de programmer en Basic,Pascal,C,C++,
Python et même Javascript et qui s'intéressent à Asymptote.
En plus,si Asymptote ne sait pas effectuer les calculs il est très facile de communiquer avec les logiciels
mathématiques genre Xcas ou autres.. par fichier .txt avant ou pendant l'édition.
Personnellement j'ai juste récupéré et adapté quelques fonctions des pages de mkr pour programmer mes éditions
de traitements de tableaux.

Répondre