TeXswitcher

De Troulite
Aller à : Navigation, rechercher

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.

teXswitcher 0.1beta

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

http://img238.imageshack.us/img238/5218/azezezaezl3.png

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Outils