Journal gaim + LaTeX

Posté par .
Tags : aucun
0
4
juin
2005
Bon, je voulais en faire une dépêche de première page, mais elle à été refusée [1].
J'écrit ce petit journal pour vous faire part de la dernière version d'un petit plugin gaim que j'ai écrit. Il permet d'insérer des formules LaTeX dans une conversation de gaim [2]. Il existait déjà avant, mais était très plantogène.

Bon, alors, à qui s'adresse ce plugin? Personnellement, je l'ai écrit en période d'examen, l'an dernier, [3] [4], et je pense qu'il peux servir aux étudiants en sciences/ingé/math qui ont besoin d'expliquer/se faire expliquer quelque concepts, et qui en ont marre de s'échanger des formules scannées/la source LaTeX/des fichiers doc avec des équations dedans.

D'un point de vue technique, le code se met entre des balises $$ ... $$ (C'est une nouveauté, avant c'était [tex] ... [/tex], il y a toujours rétrocompatibilité bien sur, mais j'encourage le $$ pour la compatibilité avec KopeteTeX). Le code ainsi inséré est traité comme s'il était dans un environnement {eqnarray*} [5]. Tout le traitement se fait en local, c'est à dire qu'il n'y a pas de transmission d'image.

Ah oui, aussi, c'est quand même un truc avec beaucoup de dépendances (LaTeX et convert[6], pour un plugin de 500 lignes...) donc ça s'adresse principalement à ceux qui ont déjà LaTeX installé.

Tiens, au passage, quelque remerciement... [7] (dans le désordre)
Jacopo qui a posté un ebuild pour gentoo [8]
GRIm@ pour le makefile de la version 0.2 (ou 0.1, sais plus)
Eric Betts pour un patch qui m'a permit de le faire marcher pour gaim 1.x et son petit changement d'API
Gof [9], pour ses quelque conseils et explication du fonctionnement de KopeteTeX (et pour sa liste de mot blacklisté que j'ai honteusement copié collé, sans chercher à comprendre)

Bon, il manque encore quelque chose, je pense, non? Un lien? ok : http://sourceforge.net/projects/gaim-latex(...)

PS : un contact n'ayant ni kopete ni ce plugin verra le texte comme vous l'avez tapé (Texte normal $$votre code LaTeX$$ fin du texte normal)

[1] (ou pas)
[2] théoriquement, uniquement les conversations à deux, je ne pense pas que ca marche dans les conversations de groupe, pas testé, mais bon, de tête, il y a une série de fonctions *_im_*utilisée alors qu'il existe des équivalents *_chat_*
[3] oui, les périodes d'examen, moi, ça me laisse du temps libre
[4] n'empêche, je l'avais codé à l'arrache, en vitesse, d'où le code très laid maintenant
[5] il faudrait peu d'adaptation pour pouvoir faire du code qui ne serait pas dans un mode math, mais je ne suis pas persuadé de l'interêt... si des gens le veulent, peut-être que si je croule sous les mails, je le ferait... disons que si une personne m'envois un mail, je le code cet été.
[6] Je regarderait quand j'aurais un peu de temps si c'est possible de faire quelque chose avec MathML.
[7] Oh non, ça fait festival de Cannes... Merci aux frère du cousin du producteur pour m'avoir prêté sa voiture, et tout ca...
[8] Avant, mon plugin se plantait lamentablement (et avec lui gaim) d'au moins deux façons différentes... Le voir dans portage, c'a m'a un peu foutu la honte, c'est pour ca que je l'ai repris et enlevé quelque bugs gênants.
[9] Oui, un développeur KDE peu aider à développer quelque chose pour gtk... c'est formidable, le libre... :)
  • # oubli (je le savais, ça devait m'arriver...)

    Posté par . Évalué à 10.

    un petit détail... comme je n'ai pas les périodes de test, il est possible qu'il reste des bugs. Il y a mon adresse à l'intérieur, pour les insultes et menaces de morts (voire pour les remarques contructives...)

    La période de test à duré de ce matin 2h jusqu'à ce matin 9h, sachant que je me suis levé à 8h30 et couché à 2h30 :-)

    voila voila
  • # question bête

    Posté par . Évalué à 2.

    Dis moi, ton plugin est compatible avec celui de kopete ?
    si un ami a gaim, est-ce que je verrai bien les formules qu'il m'envoie ?
    • [^] # Re: question bête

      Posté par (page perso) . Évalué à 4.

      si j'ai bien compris la façon dont ça marche, les équations sont envoyés comme du texte et interprétées en local sur la machine destinataire. Donc du moment que vous respectez la syntaxe Tex et que les délimiteurs ($$ $$) sont bien mis, ça doit fonctionner.
      • [^] # Re: question bête

        Posté par . Évalué à 4.

        Exactement, enfin, c'est ce que qui doit se produire normalement... (l'informatique quand elle est codée par moi étant parfois indéterministe, on ne sias jamais, mais à premiere vue, c'est le comportement nominal)
  • # Mes 2 centimes

    Posté par . Évalué à 4.

    Ca fait une demi heure que je joue au latex via gaim avec un pote, a celui qui enverra l'expression la plus taribscotée ^^. Je trouve ca pas mal du tout, l'idée est super interressante (je sais pas si vous avez déja essayé de parler math sur msn mais ca se transforme vite en soupe de smileys)

    J'aurais juste quelques améliorations à proposer :

    - tant qu'a faire un plugin pour faire des maths, ca serait bien d'inclure les paquets standards pour les maths (du style amsmath), ca permet de faire \begin{matrix} au lieu de s'embeter avec un array et des \left et \right, et beaucoup d'autres choses. Ou de pouvoir inclure les paquets de son choix dans une interface de conf.
    - ca serait bien de pouvoir avoir une visualisation avant d'envoyer (mais je vois pas trop comment faire avec gaim).
    - quand ca s'affiche bien mais qu'on s'est un peu trompé sur le contenu de la formule, pas moyen de récuperer ce qu'on a tappé juste avant pour le modifier. (la non plus je vois pas).

    Sinon ca marche bien et j'ai pas vu de bugs.
    • [^] # Re: Mes 2 centimes

      Posté par . Évalué à 2.

      > Ou de pouvoir inclure les paquets de son choix dans une interface
      > de conf.

      Mais faudrait dans ce cas un moyen pour dire au destinataire qu'il a besoin des dits paquets pour interpréter la formule, je vois pas trop par où ça pourrait passer.
    • [^] # Re: Mes 2 centimes

      Posté par . Évalué à 2.

      alors...
      pour l'inclusion de amsmath, oui, c'est vrai, ca peut être pratique... et l'inclusion de package aussi m'enfin, c'est du boulot ;-). (je pourrait par exemple ajouter à la fin ou au début du message les package utilisés, mais faudrait aussi (vu que maintenant je me suis arrangé pour être plus ou moins compatible avec celui de kopete) que je voit ca avec Gof... (d'ailleurs je ne sais pas si j'effectue exactement la même opération que lui, dans le code LaTeX que je rajoute autour... j'avoue n'avoir que survolé le code)

      pour la visualisation... peut être avec le moteur de rendu MathML en gtk+ et un convertisseur LaTeX--> MathML, mais sincèrement, ce ne sera pas pour tout de suite(peut-être les vacances, mais j'ai une idée de bounty "google"... enfin, je ne serais surement pas repris, donc j'aurais le temps)

      pour le dernier point... si :-) ca existe... dans gaim, par défaut, tu peux faire + <fleche vers le haut> pour naviger dans l'historique.

      Sinon tu peux aussi copier coller de l'historique (mais peut être que dans ces deux cas, il faut logger les conversation (dans le deuxieme, c'est sur))
      Si l'historique n'affiche pas ce que tu as tapé, c'est un bug, il devrait. (d'aileurs faudra que je voit si il est possible d'afficher les images dans l'historique)
      • [^] # Re: Mes 2 centimes

        Posté par . Évalué à 3.

        > pour la visualisation... peut être avec le moteur de rendu MathML en gtk+ et un convertisseur LaTeX--> MathML

        Y a pas moyen de faire un export LaTeX -> png et l'afficher en local ?
        • [^] # Re: Mes 2 centimes

          Posté par . Évalué à 3.

          Y a pas moyen de faire un export LaTeX -> png et l'afficher en local ?

          Si. C'est ce que fait Imaxima [1] pour interfacer Maxima [2] avec Emacs. Imaxima parse la sortie de Maxima et insère le résultat dans le buffer sous forme de PNG/JPEG/TIFF/PostScript [3]. Nécessite Ghostscript.

          [1] http://www.ifa.au.dk/~harder/imaxima.html(...)
          [2] http://maxima.sourceforge.net/(...)
          [3] http://www.ifa.au.dk/~harder/imaxima.png(...)
        • [^] # Re: Mes 2 centimes

          Posté par . Évalué à 3.

          c'est vrai aussi... en gors c'es ce que je faisait maintenant.
          Dans quoi je m'embarquais moi...
          Sauf que si on veut un aperçu en "temps réel" ca risque d'être assez lourd. Peut être sous la forme d'un bouton/raccourci clavier permettant de visualiser ce qu'on a déja tapé...

          Faut que j'y réfléchisse. Ca ne me semble pas trop dur sous la forme d'un bouton/raccourci.
          Un truc assez simple (disons assez rapide à coder à partir de l'existant) serait de l'afficher dans la fenêtre de discussion sous la forme d'un message système. (du style "Votre contact s'est déconnecté").
          Par contre, le faire comme cela rendrait la conversation peu claire (à mon avis)

          Sinon je vais aussi voir si il y a moyen de faire comme sous kopete, de mettre le texte des formules en tant que "texte alternatif" de l'image.
          • [^] # Re: Mes 2 centimes

            Posté par (page perso) . Évalué à 7.

            Moi de mon coté, je viens d'implémenter ça dans Kopete.
            On presse ctrl+l et il affiche une preview.

            Ce sera dans KDE 3.5
            Donc tu as le temps de faire une nouvelle release de ton plugin et dire que c'était toi le premier :-)


            Au fait, félicitations.
  • # Une autre bète question

    Posté par . Évalué à 1.

    je débute un peu sous linux, et je me demande "ou puis je trouver ce "convert"" ? J'ai cherché sur les dépots ubuntu sans succès et sur le net c'est pas beacoup plus facile.

    En tout cas c'est vraiment une super bonne idée, vivement que ça marche :)
  • # Pub !

    Posté par . Évalué à 7.

    Je profite de ce journal pour faire un peu de publicité pour GNUstep. Ce framework propose une notion de service qui permet à certaines applications d'utiliser des résultats fournis par d'autres. Par exemple si on sélectionne un texte "3x6" dans n'importe quelle application GNUstep et que l'on appelle le service "Calculatrice" l'expression est remplacée par "18". Dans le même genre Nicolas Roard avait développé un service "LaTeX" qui fait ce que vous devinez. Un screenshot :

    http://www.roard.com/latexservice/images/latexservice1.png

    J'avoue que je ne suis pas arrivé à l'installer (je n'ai pas fourni beaucoup d'efforts non plus car je n'en ai pas besoin), mais je trouve l'idée très intéressante.

    J'espère que ce message permettra d'intéresser certains à GNUstep...
  • # Pour que cela fonctionne dans l'im et les salons...

    Posté par . Évalué à 2.

    Il faudrait faire ce traitement au moment de l'affichage seulement ; car j'imagine qu'ils n'ont pas recodé un affichage pour chaque truc.

    C'est un peu ce que j'avais fait dans gnomemeeting pour le support de différents types de balises magiques (les textes entre $ ou $$ sont mis en gris et un menu contextuel permet de "Copier l'équation") ; j'avais tripatouillé les GtkTextTag, GtkTextBuffer et autres GtkTextView pour filtrer les choses suivant des regexp et appeler la bonne routine, qui alors remplaçait par une image, ou changeait la couleur d'affichage, etc... avec à chaque fois un menu contextuel adapté.

    Snark

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.