TeXswitcher
Sommaire |
Abstract
Projet d'application libre (sous licence GPL) pour déplacer des sections dans un fichier LaTeX à partir d'un affichage sous forme d'arbre.
- Site du projet : www.nongnu.org/texswitcher.
- CVS du projet : cvs.savannah.nongnu.org/teXswitcher.
- Administration du projet : savannah.nongnu.org/teXswitcher.
teXswitcher 0.1beta
- rapidshare sources et binaires Linux.
- box.net sources uniquement.
- ici sources uniquement.
Ce que teXswitcher sait faire
teXswitcher est un petit outil pour vous aider à réorganiser vos documents LaTeX.
Au lieu de couper/coller/éditer dans votre éditeur de texte préféré, vous avez juste à drag&dropper des items graphiques (présentés dans une arborescence de type "file explorer"), ou à cliquer sur des boutons pour augmenter ou diminuer l'importance d'une section.
Déroulement d'une session classique d'utilisation de teXswitcher
- ouvrir un document LaTeX en cliquant sur le menu File/Open
- sélectionner l'item à modifier
- cliquer sur les boutons Keyword++/Keyword-- buttons pour augmenter/diminuer l'importance d'une partie
- si vous maintenez la touche CTRL enfoncée, vous augmentez/diminuez tout le sous-arbre se trouvant sous l'item sélectionné
- pour déplacer un item et son sous-arbre, draggez le à la souris et droppez le sur son nouveau parent
- sauvegardez votre nouveau document LaTeX en cliquant sur le menu File/Save As
Ce que teXswitcher ne sait pas faire
Certaines de ces non-fonctionnalités sont amenées à disparaître dans les futures versions :P
- teXswitcher ne dégrade pas les subsubsection en paragraph (ou inférieur)
- teXswitcher n'autorise pas le drop d'un item ENTRE deux autres pour réorganiser une partie du document sans modifier la hiérarchie
- teXswitcher n'autorise pas le drag&drop d'un item sans entraîner le sous-arbre derrière lui
- teXswitcher n'autorise pas l'édition/renommage du titre des parties
- pas de undo/redo
- ...
État du développement
Le parser
Le parser de fichier LaTeX bien formés est (a priori) fini. Je dis a priori car c'est fait main (ne repose pas sur une grammaire formalisée ou autre usine à gaz), c'est un simple découpage en tranche du fichier LaTeX, de mot-clef en mot-clef. Un peu plus d'explications ?
Ce parser voit le fichier LaTeX en gros comme ceci (il n'utilise pas lex mais je prends le même style d'écriture pour tenter de me faire comprendre) :
- document LaTeX = (entete)(partie)*(fin)
- partie = (keyword)(!keyword)*
- keyword = \(brol){
- brol = chapter | section | subsection | ...
- fin = \end{document}
Et l'entête ? On stock le contenu du fichier du début jusqu'au premier keyword.
Codage de la 0.2
Todo
Compilation selon les architectures
- Ca compile sous Windows avec MinGW (mingw-g++-3.4.2).
- Ca compile sous GNU/Linux avec g++-4.1.
- Pour ne pas avoir à le compiler suivant l'architecture, il aurait fallu le développer en C# (avec GTK# pour l'IHM)
GUI (il en faut bien une)
Pour être multiplateforme : QT (version 4.1). Oui c'est pas la seule API multiplateforme, mais faut bien en choisir une... Voici un prototype pour la future GUI :
Fitioures à rajouter
Viendez en causer sur la page de discussion.
Bugs de la version 0.1beta
- police trop petite sous linux (cf screenshot nymuo)
Garantie
Ce logiciel est garanti 100% développé sous Vim (^^). L'équipe certifie sur l'honneur qu'aucun emacs n'a souillé les fichiers sources :P