PlanFacile

Un article de Wikipédia, l'encyclopédie libre.

PlanFacile est un compilateur libre permettant de générer un document à partir d'idées liées entre elles par des dépendances à la manière d'une carte heuristique (mind map en anglais). L'algorithme de PlanFacile s'occupe alors d'agencer ces idées afin que la lecture du document soit la plus linéaire possible, c'est-à-dire contenant le moins de références possibles vers des parties plus lointaines dans le document, et en s'occupant également de la hiérarchie de ces idées. PlanFacile propose donc au rédacteur du code source un plan optimum possible pour exposer ses idées.

Le langage de PlanFacile permet de décrire des idées et leurs dépendances, mais également la manière de formater le texte pour la génération du document (toutefois des définitions standards permettent d'obtenir simplement des documents en HTML ou en LaTeX), et propose également un puissant système de macros permettant d'automatiser la génération de structures répétitives et de rendre le code source indépendant des spécificités des différents formats de sortie.

La version 2.0 de PlanFacile est publiée sous licence GPL depuis 2006, et fonctionne sur les systèmes Gnu/Linux, *BSD, Windows (en utilisant Cygwin), et ce sur les plateformes i386, i686 et PPC, qu'elles soient en 32bits ou en 64bits.

Sommaire

[modifier] Exemple de document PlanFacile

[modifier] L'exemple

Voici un exemple complet de code source PlanFacile :

#standard

#option{fr}
#option{iso}

#option{titre}
#define{titre}{Comparatif PlanFacile - LaTeX}

#comment{Options pour LaTeX}
#option{12pt}
#option{article}

#options{Macros non standard}
#case{LaTeX}
        #define{PlanFacile}{#{\bf PlanFacile#}}
        #define{LaTeX}{\LaTeX}
#case{HTML}
        #define{PlanFacile}{<b>PlanFacile</b>}
        #define{LaTeX}{<i>LaTeX</i>}
#other
        #define{PlanFacile}{PlanFacile}
        #define{LaTeX}{LaTeX}
#end

#idea{PlanFacile}#PlanFacile#text
#PlanFacile# est un compilateur#dep{10}{comparatifcompilateurs}{#depref}{}# de
documents qui va calculer à votre place le plan de votre document.
#§
#PlanFacile# produit sur sa sortie du texte non formaté, et peut donc être
utilisé conjointement au formateur de texte #LaTeX#dep{5}{LaTeX}{#depref}{}.
#end

#idea{comparatifcompilateurs}Comparatif de compilateurs#text
Ce texte n'est pas généré sur la sortie de PlanFacile à cause du style des
définitions standard qui est fait ainsi... On peut alors redéfinir localement le
style pour faire réapparaître ce texte.
#end

#idea{LaTeX}#LaTeX#text
#LaTeX#espace est un compilateur#dep{10}{comparatifcompilateurs}{#depref}{}# qui
permet de mettre un texte en forme.
#end
  • LaTeX :

Compilation pour LaTeX :

planfacile -O LaTeX -o exemple.tex exemple.plf

Résultat pour LaTeX :

\documentclass[a4paper,12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[french]{babel}
\usepackage{indentfirst}
\title{Comparatif PlanFacile - LaTeX}
\begin{document}

\section{\LaTeX}
\label{sec:LaTeX}
\LaTeX\ est un compilateur qui
permet de mettre un texte en forme.


% Fin \LaTeX
\section{{\bf PlanFacile}}
\label{sec:PlanFacile}
{\bf PlanFacile} est un compilateur de
documents qui va calculer à votre place le plan de votre document.

{\bf PlanFacile} produit sur sa sortie du texte non formaté, et peut donc être
utilisé conjointement au formateur de texte \LaTeX.


% Fin {\bf PlanFacile}
\end{document}
%Document généré par PlanFacile 2.0 : 3 idée(s) traitée(s), dont 0 manquante(s) et 0 générique(s), ainsi que 1 référence(s) traitée(s) dont 0 irréductible(s).
  • HTML :

Compilation pour le HTML :

planfacile -O HTML -o exemple.html exemple.plf

Résultat pour le HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"/>
     <head>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
          <title>Comparatif PlanFacile - LaTeX</title>
     </head>
          <body>
          <h1><a id="LaTeX"></a><i>LaTeX</i></h1>
          <p>
               <i>LaTeX</i> est un compilateur qui permet de mettre un texte en forme.
          </p>
          <!-- Fin <i>LaTeX</i> -->
          
          <h1><a id="PlanFacile"></a><b>PlanFacile</b></h1>
          <p>
               <b>PlanFacile</b> est un compilateur de documents qui va calculer à votre place le plan de votre document.
          </p>
          <p>
               <b>PlanFacile</b> produit sur sa sortie du texte non formaté, et peut donc être utilisé conjointement au formateur de texte <i>LaTeX</i>.
          </p>
          <!-- Fin <b>PlanFacile</b> -->

     </body>
</html>
<!-- Document généré par PlanFacile 2.0 : 3 idée(s) traitée(s), dont 0 manquante(s) et 0 générique(s), ainsi que 1 référence(s) traitée(s) dont 0 irréductible(s). -->

[modifier] Commentaires

Le plan obtenu comporte les mêmes idées que celles présentes dans le code source, à l'exception de l'« idée racine ». Cette idée est en réalité traitée par le compilateur en interne, mais les formatages appliqués lui ordonnent de ne pas produire de texte pour cette idée.

De plus, l'idée "LaTeX" se retrouve avant l'idée "PlanFacile", car cette dernière comprend dans son texte une commande #dep indiquant que la compréhension de l'idée "LaTeX" est nécessaire à la compréhension de l'idée "PlanFacile". Ces deux idées se retrouvent donc dans un ordre rendant plus fluide la lecture du document. Les autres dépendances présentes dans le code source permettent au compilateur de retrouver l'organisation hiérarchique du document. Toutefois, de telles dépendances ont une justification sémantique propre, qui n'a aucun lien avec la hiérarchie du document. En effet, il est nécessaire de toujours pouvoir justifier une dépendance par des arguments liés au contenu des idées, et non pas en rapport avec la position que l'on souhaite donner à une idée dans le document.

Enfin, le code source utilisant des macros du compilateur permet de générer des documents sous différents formats sans avoir à retoucher le code, une option permettant de sélectionner les commandes de formatage souhaitées. Ainsi, il est également possible sans aucune modification de code de générer le document dans d'autres formats, tels que la syntaxe wiki, en modifiant via une variable d'environnement le fichier source inclus par la commande #standard présente en début de code source.

[modifier] Liens internes

[modifier] Liens externes