# GNU TeXmacs

GNU TeXmacs est un logiciel libre pour la composition de documents scientifiques incluant un support pour les formules mathématiques, les figures, un mode présentation, une correction orthographique, une gestion de révisions, une gestion bibliographique, etc. Le but de TeXmacs est d'offrir à la communauté scientifique un outil facilitant son travail, via des interfaces homme-machine de haute qualité.

## Origine

Le logiciel GNU TeXmacs a été conçu et écrit par Joris van der Hoeven. Le système s'inspire de LaTeX pour la séparation fond/forme et la structuration du contenu, et de Emacs pour son extensibilité. Un des objectifs majeurs de TeXmacs est de promouvoir le développement de logiciels libres pour et par les scientifiques$^,$.
Bien que souvent apparenté à LaTeX, TeXmacs est un logiciel indépendant de TeX ou LaTeX, et très différent de ceux-ci. Il utilise ses propres algorithmes de typographie.

## Fonctionnalités
### Un traitement de texte structuré

TeXmacs est un éditeur structuré, avec une forte séparation entre contenu et présentation. Ceci permet :
* de concentrer l'effort de l'auteur sur la description sémantique du document plutôt que sur le rendu graphique ;
* de contextualiser le rendu de l'information (e.g. une même équation aura un aspect différent qu'elle soit « en ligne » ou « hors ligne ») ;
* de sélectionner, parcourir, ou modifier un document conformément à sa structure ;
* d'utiliser des feuilles de style pour adapter le rendu.
Pour tirer parti de cela, TeXmacs intègre des styles de documents prédéfinis (article, livre, séminaire, etc.), ainsi que des styles inspirés des styles d'éditeurs scientifiques (Elsevier, Springer, AMS, etc.).

### Typographie mathématique

TeXmacs permet de saisir des formules mathématiques de façon simple et efficace. Par exemple, le symbole ⇒ s'obtient en tapant la séquence =>. Des variantes s'obtiennent avec la touche tab. Ainsi, un grand nombre de symboles est accessible de façon efficace à partir de raccourcis claviers intuitifs.
La sémantique des équations est plus riche dans TeXmacs que dans TeX. Par exemple, les applications de fonction et les multiplications sont explicitées dans TeXmacs. Ceci permet notamment une interaction riche avec des outils externes de calcul symbolique et algébrique. Par ailleurs, TeXmacs dispose d'un outil de vérification sémantique des équations permettant de mettre automatiquement en relief une équation potentiellement erronée.
TeXmacs offre une interface intuitive avec différents systèmes de calcul scientifique, dont Mathemagix et Maxima. Il est possible d'exécuter des calculs en mode script, en mode "plié/déplié", en mode tableur, ainsi que via un système de références.

### Extensibilité

TeXmacs dispose d'un langage de macro qui permet de définir de nouvelles notations et de programmer des styles de rendu.
TeXmacs est lui-même dynamiquement programmable en Scheme. Par exemple, le code suivant introduit le raccourci clavier pour insérer un nouveau théorème :

### Interopérabilité
#### Import/export

TeXmacs fonctionne sur la majorité des plates-formes Unix, ainsi que sur Mac OS X et Windows. Les documents peuvent être exportés vers Postscript ou PDF. Des imports et exports sont possibles en TeX/LaTeX/BibTeX et HTML/MathML.

#### Outils externes

De nombreux outils externes sont également utilisables depuis TeXmacs. Des interfaces sont notamment disponibles pour
* des langages de programmation: CLISP, CMUCL, Python, QCL, R, Shell ;
* des systèmes de calcul algébrique et symbolique : Axiom, Giac, Macaulay 2, Mathematica, Maxima, MuPAD, PARI/GP, Reduce, Sage, Yacas ;
* des systèmes de calcul numérique : GNU Octave, Matlab, Scilab ;
* des outils pour les tracés graphiques : gnuplot, Graphviz, XYpic, Mathemagix ;
* autre : DraTeX, Eukleides, GTybalt, Lush.

## Historique des versions

| Version | Date de sortie | Principaux changements |
| 2.1.2 | 25 mai 2022 | |
| 2.1.1 | 18 décembre 2021 | Création de divers thèmes d'interface. Prise en charge améliorée de la haute résolution sous Linux et Windows. Progression sur la version Qt5. Base de données de polices mise à jour pour les polices Linux/Mac/Window préinstallées récentes. |
| 2.1 | 23 juin 2021 | L'interface est désormais basée sur Qt (ce qui a permis de développer des versions natives pour Linux, MacOS et Windows). Évolution vers une suite bureautique scientifique : mode de présentation intégré, éditeur de dessins, contrôle de version, outil de bibliographie, etc. Meilleur support de la microtypographie et d'une grande variété de polices. Les convertisseurs pour LaTeX et HTML ont été perfectionnés Support natif pour Pdf. |
| 1.99.6 | 21 décembre 2017 | Nouveau saut de page avec un meilleur support des objets flottants et des notes de bas de page. Génération PDF améliorée basée sur Hummus. Quelques nouveaux algorithmes de micro typographie : accents mathématiques, scripts, etc. Support amélioré des polices TeX Gyre. Corrections de bugs diverses. |
| 1.99.4 | 18 décembre 2015 | Les changements les plus importants sont : Beaucoup d'améliorations de l'interface utilisateur. Améliorations variées de la composition du texte (formules mathématiques, règles de ponctuation pour les autres langues que l'anglais, support de nouvelles polices, espacement entre les caractères, etc.) Support expérimental de la gestion intégrée de la bibliographie. Améliorations de l'import/export LateX. Amélioraytion du mode présentation. Support de Croation et Greek. Etc. etc. |
| 1.0.7.17 | 10 juillet 2012 | Génération automatique de la documentation des fichiers Scheme. Amélioration diverses de l'import LaTeX et de la prise en compte des différents codage des caractères. |
| 1.0.7.16 | 10 juillet 2012 | support amélioré du logiciel de calcul formel Reduce (en) ; support rudimentaire de svn ; améliorations de la conversion depuis ou vers des documents LaTeX ; interface expérimentale pour Inkscape ; support expérimental de macros graphiques ; |
| 1.0.7.15 | 17 mars 2012 | corrections de bogues, première ébauche d'un tableur et de quelques composants d'interface graphique ; mode d'édition spécial pour la documentation ; |
| 1.0.7.14 | 19 octobre 2011 | nouvel ensemble d'icônes en environnement Qt ; |
| 1.0.7.13 | 18 septembre 2011 | corrections de bogues dont le support des images sous Qt ; module d'extension dédié au logiciel de calcul formel FriCAS ; |
| 1.0.7.12 | 8 septembre 2011 | interface graphique Qt (interface utilisateur par défaut) ; |
| 1.0.7 | 16 octobre 2008 | cette version est livrée avec une implémentation expérimentale de l'interface graphique en Qt. |
| 1.0.6 | 6 février 2006 | support MathML ; amélioration de la conversion de documents en fichiers HTML et LaTeX ; nouveaux modules d'extension pour Maple et Mathematica ; ajout d'animations simples ; démarrage plus rapide ; ébauche d'une documentation de l'API Scheme ; |