Gnuplot
gnuplot LYX et LATE X
Liste des figures
- [#49 Premier essai]
- [#72 Variante améliorée]
- [#95 Exploitation données de laboratoire]
- [#104 Axe X personnalisé]
1 Préambule.
Le présent document s'applique aux versions suivantes des logiciels :
- gnuplot 3.7.1
- LYX 1.1.6
- latex 1.0.7
tels que contenus dans la distribution LINUX Mandrake 8.0. Ce document a été rédigé avec LYX puis exporté dans les différents formats d'utilisation possible, en particulier le format LATEX qui a lui-même donné naissance à la version -.html.
2 Introduction.
2.1 LATE X
L'ingénieur ou le scientifique a à sa disposition un grand nombre d'outils qui lui permettent d'exploiter et de présenter ses chiffres et ses données, qu'il s'agisse de résultats de laboratoires, de paramètres de production ou plus prosaïquement de données comptables.
Dans un monde ou les éditeurs de logiciels s'ingénient à donner au document en cours de création le même rendu à l'écran que dans sa forme finale papier le concept L A TEX est assurément dérangeant. En effet L A TEX ne se propose pas de mettre à la disposition de l'utilisateur une superbe interface WYSIWYG (What You See Is What You Get). Bien au contraire. L ATEX est essentiellement un compilateur de document qui s'alimente d'un code source que l'auteur doit rédiger au moyen de son éditeur de texte préféré, Emacs, VI ou autre. L ATEX restitue le fruit de sa compilation sous forme d'un fichier -.dvi (device independant) lequel doit à son tour être adressé à l'écran par xdvi ou à l'imprimante via dvips. On est donc bien loin de l'apparente facilité d'utilisation de certains produits bien connus (et, évidemment, commerciaux!).
La syntaxe du code source présente une certaine analogie avec la syntaxe html en ceci qu'il s'agit dans les deux cas d'un langage à balises. Le rôle de ces balises est de décrire la présentation souhaitée, la structure du document.
Le concept décrit ici s'oppose évidemment au WYSIWYG qui demande à l'auteur de définir les éléments de sa mise en page et lui montre imédiatement le résultat de ses réglages. Dans un environnement WYSIWYG l'auteur devient typographe et utilise cette typographie pour donner de la structure de son document. Dans un environnement LATEX l'auteur décide de la structure de son document, de l'articulation de celui-ci et laisse au compilateur, le soin de construire la décoration, de numéroter les chapitres, de mettre en place les polices de caractères des titres etc..
Il s'agit donc là d'une opposition totale des concepts.
Il ne saurait être question dans cette courte présentation de rédiger un manuel LATE X. Un tel manuel peut d'ailleurs être trouvé assez facilement sur Internet ou chez votre libraire habituel. La distribution Mandrake contient un certain nombre de fichiers d'aide. Voyez le contenu de /usr/share/texmf/doc . Mon propos est simplement de donner un premier éclairage sur le sujet pour mettre le pied à l'étrier au lecteur qui serait intéressé par le sujet.
J'insisterai plus particulièrement dans la suite sur l'utilisation de gnuplot et l'intégration des fruits de ce grapheur dans des documents LATEX. L'ojectif final est d'aboutir à une méthode de travail qui permette de créer un document papier, un document destiné à la vidéo-projection, ou un document destiné à être mis en place sur un Intranet ou même Internet.
2.2 LYX
LYX (ou KLYX qui est la variante KDE de LY X) est présent dans toute distribution LINUX qui se respecte. Il s'agit, à mon avis, d'un point d'entrée intéressant pour créer des documents LATE X. L YX est en effet un éditeur de texte vaguement wysiwyg et qui enregistre ses fichiers dans un format propre (-.lyx) extrèmement proche du format L ATEX sur lequel il est totalement basé. L'avantage essentiel pour le débutant est que l'environnement LYX lui permet de faire du LATEX sans le savoir un peu comme M. JOURDAIN faisait de la prose. LYX sait par ailleurs parfaitement enregistrer ses fichiers au format LA TE X ce qui donne au débutant que la curiosité pousse à éditer le fichier -.tex ainsi créé un formidable moyen d'apprentissage de la syntaxe propre à L AT E X sans l'obliger à "avaler" de suite la syntaxe assez complexe de ce produit.
LYX présente par ailleurs l'avantage d'offrir un environnement intégré qui se charge de la "cuisine", la visualisation, l'impression etc.
Alors, me direz-vous, pourquoi donc s'ingénier à apprendre la syntaxe de LATEX alors que LYX offre une interface sympa, semblable par bien des aspects à nombre de clicaudromes bien connus ?
Les raisons sont multiples, la plus évidente est que vous allez buter très rapidement sur les limitations de LYX et qu'à ce moment là, la meilleure solution sera d'insérer une ou plusieurs commandes LATEX pour s'affranchir de ses limitations. Car c'est bien là que le système devient grandiose, L YX permet en effet d'insérer, à tout moment dans le texte, du code LATEX qui sera ensuite compilé avant d'être rendu utilisable, soit pour un affichage écran, soit pour une impression.
Exemple de limitation : je cherche toujours comment augmenter la largeur du texte renvoyé par la visualisation dvi de LY X ou la restitution imprimée du document. J'ai solutionné le problème en incluant systématiquement un \hsize=15cm sur la première ligne du fichier. C'est une des solutions, il y en a bien d'autres. Nota : cette balise ne doit pas être entrée comme un texte banal, elle doit être tapée alors que LY X est en mode LA TEX. Ce mode peut être obtenu par [Ctrl]-[L] qui fonctionne en bistable, passe du mode texte au mode LATEX ou inversement. Une autre solution consiste à taper au km puis à surligner le passage qui doit passer en mode LATEX et à cliquer sur l'icône T EX qui trône dans la barre de menu de LYX. Les balises LATEX introduites dans le texte apparaissent en rouge, ce qui facilite leur identification.
2.3 gnuplot
Et gnuplot dans tout celà ? gnuplot est déjà un logiciel très ancien et qui n'évolue plus que lentement, arrivé en quelque sorte à une maturité qui satisfait à la fois ses auteurs et ses utilisateurs. Il permet de tracer des graphiques très bien finis et largement personnalisables, en utilisant des listes de données chiffrées (résultats d'une expérience par ex.), des formules mathématiques, ou encore une combinaison des deux.
gnuplot produit dans sa configuration de lancement une sortie écran. Il peut bien sûr aussi produire d'autres sorties, les plus courantes étant certainement les fichiers postscript destinés à être imprimés.
L'une des variantes est la sortie qui génère un fichier au format LATEX. Je déconseille toutefois l'utilisation de cette possibilité. Elle est en effet nettement moins performante que la variante de sortie qui génère un fichier postscript. Les différences sont essentiellement les suivantes :
- Postscript permet l'utilisation de la couleur, à ma connaissance le format LATEX généré par gnuplot ne le permet pas ou du moins pas dans une utilisation élémentaire.
- Les caractères accentués sont mieux supportés. Il s'agit là d'un problème récurrent avec les logiciels d'origine anglo-saxone et qui pose bien des soucis aux utilisateurs de langues latines.
- Pour une visualisation avec xdvi ou gv, les deux méthodes donnent des résultats assez voisins, avec un léger avantage pour postscript pour la couleur. Idem pour les restitutions sur papier. Pour une exportation éventuelle au format html la méthode postscript donne un résultat nettement plus propre que la précédente, le rendu restant toutefois assez variable selon le navigateur.
- La taille des fichiers -.eps générés est généralement plus faible que leur équivalent en -.tex.
3 Schéma de la création d'un document au moyen de ces logiciels
Les différentes phases de la création d'un document L ATEX contenant des graphiques gnuplot peuvent se résumer comme suit :
- Création des tables de données (si le diagramme utilise un tableau de chiffres),
- Création interactive du diagramme, la sortie étant faite à l'écran,
- Lorsque le graphique est au point, sortie sous forme de fichier .eps (ou -.tex si on préfère le format L A TEX),
- Création soit avec LYX soit directement avec L A TEX du texte du rapport,
- Mise en place de la balise LATE X liant le fichier graphique .eps créé plus haut,
- Le document peut alors être imprimé, converti en -.html , etc. selon les besoins de l'auteur.
Il s'agit là d'un schéma, vous pourrez imaginer des variantes comme la créaton du source avec Emacs, la compilation en ligne de commande, etc.
4 Utilisation de gnuplot
gnuplot est un programme en mode texte. Tapez gnuplot à l'invite $ de Linux dans une fenêtre xterm, rxvt ou autre. gnuplot se trouve dès lors en mode ligne de commande. Vous voyez appaître à l'écran la bannière d'accueil qui se termine par :
Terminal set to 'x11'
gnuplot>
Le curseur est rangé après le signe > qui est l'invite de gnuplot.
Attention, vous pouvez utiliser gnuplot depuis un écran texte Linux (Ctrl-Alt-F1 à F6). Toutefois dans ce cas vous ne disposez pas du terminal x11, vous devrez donc travailler "en aveugle" ce qui présente assez peu d'intérêt.
Pour quitter gnuplot tapez simplement quit, exit ou Ctrl-Z.
4.1 Aide en ligne de gnuplot
L'aide en ligne, en anglais, est accessible à tout moment en tapant > help. Vous pouvez quitter l'aide à tout moment au moyen de la combinaison Ctrl-C. Cette aide en ligne est très bien construite, n'hésitez pas à faire l'effort d'y faire appel régulièrement.
Elle est organisée de façon arborescente, feuilletez la page d'aide jusqu'à la fin, vous verrez s'afficher la liste des branches accessibles (Subtopics available for..) et serez invité à faire un choix (Subtopic of..). gnuplot utilise la complétion de ligne. En clair il est inutile de taper le texte en entier, si les premiers caractères tapés permettent à gnuplot de faire une sélection univoque alors il saura s'en contenter.
4.2 Premier graphique.
Mais passons aux choses sérieuses...
Le premier graphique est obtenu en tapant simplement > plot sin(x) à l'invite de gnuplot. Ce premier résultat appelle les commentaires suivants:
- L'échelle des abscisses est graduée de -10 à -10. Il s'agit là du domaine de définition standard de gnuplot. Ce domaine de définition peut être modifié en tapant > set xrange [0:1] Les valeurs de x sont interprétées par défaut comme étant des radians. Ce réglage peut être modifié par > set angles degree.
- L'échelle des ordonnées a été ajustée automatiquement par gnuplot. Là aussi vous avez la possibilité de la fixer par le biais de la commande > set yrange, par exemple > set yrange [0;2].
- gnuplot dessine automatiquement une légende sin(x) -- dans le coin supérieur droit du graphique. Cette légende peut être supprimée par > set nokey.
- Le diagramme est exempt de titre général et de titres d'axe (pour l'instant).
4.3 Mise en forme
Vous êtes professeur de mathématiques et préparez un cours sur le fonction sinus. Vous aimeriez améliorer un peu la présentation de votre graphique. Les lignes qui précèdent devraient vous permettre de comprendre sans mal les saisies suivantes:
> set xrange [0:2*acos(-1)]
> set yrange [-1.2:1.2]
> set nokey
> set title "Fonction SINUS"
> set xlabel "domaine 0 - 2*pi"
> plot sin(x), 0, 1, -1
Le résultat de ce nouveau tracé commence à devenir plus expressif. Vous aurez deviné sans effort le rôle des lignes set title et set xlabel.
La fonction plot a été utilisée pour tracer la fonction sinus, mais aussi des fonctions constantes 0, 1 et -1. Plot accepte donc de faire des tracés multiples, les différents arguments doivent être séparés par une virgule. Essayez > plot sin(x), cos(x), tan(x) par exemple.
4.4 Les caractères accentués
Il ne faut jamais perdre de vue que gnuplot est un logiciel anglophone. Il s'en suit que vous vous préparez un sérieux mal de tête avec les accents puisque, bien entendu nos amis les roosbeef n'utilisent pas ces accessoires ! Faites simplement l'essai de mettre un libellé contenant un accent, >set title "échantillon" par exemple. L'affichage dans la fenêtre x11 sera correct, par contre les exportations, tant au format -.eps qu'au format -.tex vont faire apparaitre des caractères curieux assez disgracieux et de nature à faire douter de la qualité de votre travail. L'une des premières précautions à prendre consiste à prévenir gnuplot d'utiliser un codage iso_8859_1 (également appelé latin-1) pour les caractères. Il suffit pour celà de taper > set encoding iso_8859_1. L'affichage dans la fenêtre x11 est inchangé, par contre les exportations aux formats -.tex et -.eps fonctionnent maintenant assez correctement.
Note de Jicé : la page de codes ISO 8859-15 est la même que ISO 8859-1, avec les symboles Euro '€' et œ en plus par exemple...Vous pourrez ainsi faire profiter de votre œuvre !
4.5 Utilisation du clavier sous gnuplot
Vous allez commencer à avoir besoin de retaper des commandes déjà utilisées lors de la même session. Les flèches haut et bas vous offrent le possibilité de feuilleter l'historique de frappe, exactement comme dans un terminal Linux.
Les déplacements du curseur s'effectuent au moyen des flèches droite et gauche. Par contre pour sauter au premier ou au dernier caractère les touches fin et début ne donnent pas l'effet escompté. Il faudra employer les combinaisons Ctrl-E et Ctrl-A chères aux utilisateurs d'Emacs.
La touche effacement arrière (backspace) de notre clavier français fonctionne, par contre del est à éviter soigneusement faute de quoi vous allez voir appaître des sequences 3 !
4.6 Accès au système d'exploitation
Il peut se produire que que vous ayez besoin d'accéder au système d'exploitation, pour vérifier la présence d'un fichier, supprimer celui-ci ou toute autre opération.
Le symbole ! permet d'introduire une commande système. Par exemple >!ls lira la liste des fichiers présents sur le répertoire par défaut, >!rm graphique2.tex -f effacera graphique2.tex. L'option -f est nécessaire dans ce cas pour forcer la commande et éviter que le système ne demande la confirmation classique, question que gnuplot ne saurait pas gérer.
4.7 Utilisation avancée, sauvegarde des réglages
Vous avez passé un certain temps à mettre au point un graphique qui corresponde à votre besoin. Vous en êtes assez fier et bien sûr vous aimeriez pouvoir conserver votre travail. gnuplot offre cette possibilité au moyen de la commande save. La commande > save "essai.plot" par exemple sauvegarde dans un fichier essai.plot tous les réglages actuels. Vous pourrez éditer ce fichier pour changer les valeurs de réglages. Ceux-ci sont assez faciles à identifiés puisque leur syntaxe est très précisément celle que vous avez utilisé pour la mise en point de votre graphique. La commande save accepte des options qui permettent de ne sauvegarder qu'une partie des réglages, faites > help save pour plus de détails.
Le pendant de la commande save est la commande load qui permet de recharger la définition précédemment sauvegardée. Essayez > load "essai.plot" par exemple pour recharger les réglages sauvegardés précédemment. La définition est à nouveau chargée et le graphique vous saute à la figure! En effet au chargement gnuplot fait immédiatement un replot et affiche donc de suite le résultat de cette opération. Notez que gnuplot ne restitue pas dans ce cas le réglage de la sortie si vous aviez configuré une sortie au format -.eps par exemple, mais affiche simplement dans une fenêtre x11.
En fait les réglages ne sont pas perdus. Vous pourrez vérifier en éditant le fichier -.plot créé précédemment que les réglages de sortie ont bien été sauvegardés mais que les deux lignes qui les concernent (et qui sont rangés juste à la fin de l'entête) sont affectées d'un "#" et donc marquées comme commentaires. Si vous souhaitez que le fichier graphique soit regénéré immédiatement, y compris le réglage de la sortie il suffit de décommenter ces lignes au moyen d'Emacs, VI ou tout autre éditeur de texte.
4.8 Tracé basé sur un tableau de valeurs
4.8.1 Tracé utilisant une seule série de valeurs
L'introduction faisait état de la possibilité de restituer des tableaux de chiffres sous forme de graphique. Imaginons un laboratoire effectuant un test de tamisage d'échantillons de sable.
Les résulats seront tout d'abord consignés dans un fichier texte que vous pourrez créer avec Emacs ou l'éditeur de votre choix. L'essentiel est de créer un fichier texte pur.
Ce fichier pourrait avoir par exemple le contenu suivant :
# Echantillons sable de Loire, laboratoire Untel, laborantin M. DUPONT le 12/01/2002
# Tamis Echantillon1 Echantillon2
0.63 100 100
1.00 99 97
1.25 98 90
1.40 95 82
1.60 88 65
2.00 72 45
2.50 45 22
3.15 15 8
4.00 2 1
5.0 0 0
Sauvegardez ce fichier par exemple sous "tamisage.dat". La forme de ce fichier est très simple, les lignes qui commencent par # sont des commentaires ignorés par gnuplot. Les autres sont simplement des lignes de valeurs séparées par des espaces ou des tabulations. Les colonnes sont numérotées 1, 2, etc.
Ce troisième graphique a été obtenu par la combinaison des commandes suivantes:
> set title "Echantillons sable de Loire"
> set xlabel "tamis"
> set ylabel "refus"
> plot "tamisage.dat" using 1:2 with lines, "tamisage.dat" using 1:3 with lines
La syntaxe des trois premières commandes n'appelle pas de commentaires particuliers. La commande plot est plus intéressante. La virgule sépare deux tracés qui se basent sur le fichier tamisage.dat, le premier exploitant les colonnes 1 et 2, le deuxième les colonnes 1 et 3. Les tracés sont réalisés au moyen de lignes.
Chouette non ?
Mwouais, pas tout à fait à mon avis. En effet la taille des tamis ne se retrouve pas sur l'axe des abscisses. Celui-ci est gradué bêtement de 0.5 à 5 par 1/2 mm. On aurait aimé retrouver les tailles des tamis utilisés.
Voilà qui est fait sur cette version laquelle diffère de la précédente par:
> set grid
> set xtics ("0.63" 0.63, "1.00" 1, "1.25" 1.25, etc.)
La commande > set grid provoque l'affichage de la grille, > set xtics crée une nouvelle définition de la graduation de l'axe des abscisses. Cette définition est basée sur une série de couple libellé valeur. Chaque couple est séparé du précédent par une virgule, les libellés et les valeurs sont séparés par des espaces.
J'ai laissé les "key" (légendes) de telle sorte à rappeller l'origine des données. En fait, si vous partez du réglage précédent dans lequel les légendes avaient été supprimées il faut les rétablir avec > set key.
4.8.2 Utilisation de plusieurs séries de données dans le même fichier
Il est possible de mettre plusieurs jeux d'enregistrement dans un fichier, la séparation s'obtient simplement en laissant deux lignes blanches entre les séries de données. Faites l'essai en recopiant le tableau précédent à la suite de lui même après avoir passé deux lignes blanches. Faites une modification violente des chiffres de la troisième colonne (par exemple) de telle sorte à reconnaître sans ambigüité quel est le jeu de données affichées.
La commande > plot "tamisage.dat" using 1:3 affiche maintenant les deux jeux de données superposées. Les valeurs des deux colonnes 1 étant identiques la superposition dans le même domaine de définition de x était donc prévisible. Si vous souhaitez isoler le premier ou le deuxième jeu d'enregistrement il convient d'ajouter l'option index à la commande plot selon la syntaxe > plot "tamisage.dat" index 0 using1:3 with lines. Attention, alors que les colonnes sont numérotées à partir de 1, les jeux d'enregistrement le sont à partir de 0 ! Il suffit de le savoir, sinon bonjour la perplexité !
5 Importation des graphiques gnuplot dans LATEX.
5.1 Génération de graphiques au format -.eps
Le format -.ps (postscript) a été créé à l'origine pour contrôler les imprimantes laser. Il est depuis devenu l'un des formats graphiques standards. Il peut être interprété par bon nombre de logiciels graphiques, Gimp par exemple.
La variante -.eps, encapsuled postscript, est une extrapolation du format précédent qui contient des commentaires postscript supplémentaires. Le format -.eps suppose qu'il n'y a qu'un seul graphique par fichier.
Les deux formats sont utilisables avec LATEX. Nous utiliserons toutefois le deuxième qui présente quelques avantages pour un utilisateur débutant :
- Les graphiques sortent directement dans l'orientation de la page L ATEX avec une taille correcte (5x3.5 pouces) alors que le format -.ps aboutit à un graphique 10x7 pouces orienté à 90° , donc en format paysage, ce qui est gênant dans notre cas.
- L'exportation au format -.html est plus simple. Je vais être honnête, je me suis battu des heures avec le format -.ps pour trouver la combine qui existe obligatoirement, sans résultat ! Avec l'-.eps tout rentre dans l'ordre sans la moindre difficulté.
La création d'un graphique au format postscript avec gnuplot est très simple. Tapez > set terminal postscript eps color et > set output "fichier.eps".
La commande plot (ou replot) va créer un fichier -.eps qui pourrait, si vous le souhaitez, être adressé directement à l'imprimante par lp fichier.eps tapé dans un terminal .
La taille du fichier -.eps est légèrement plus faible que le fichier -.tex correspondant pour la définition de base de gnuplot. Dans l'ensemble le format -.eps est donc plus intéressant.
L'intérêt ne réside d'ailleurs pas que dans la taille des fichiers, la présence de couleurs est un autre élément qui milite en faveur de ce format.
5.2 Importation d'un graphique au format -.eps
L'insertion d'un graphique -.tex (pour ceux qui souhaitent utiliser ce format) dans un document LATEX se fait en insérant simplement une balise \insert{graphique.tex} dans le texte du rapport. Le graphique est en effet un texte au format LATEX. Il s'en suit que son importation se fait comme toute importation de document LATEX au moyen de \input.
Dans le cas d'une insertion -.eps l'affaire est très légèrement plus complexe. Il faut tout d'abord demander à LA T EX d'utiliser un pakage permettant l'interprétation des fichiers -.eps. La balise \usepackage{graphicx} doit donc trouver sa place dans le préambule du fichier LA TE X . Ce préambule est accessible sous LYX par Format - Préambule de Latex... Ajouter simplement \usepackage{graphicx} dans la fenêtre qui s'ouvre alors. En LA TE X pur il suffit d'ajouter cette ligne dans le préambule.
Attention, il existe deux pakages aux noms voisins et aux fonctions similaires, graphics et graphicx. Le deuxième permet l'orientation et le redimensionnement des documents -.eps importés, le premier non.
La balise d'insertion devient \includegraphics{}, la syntaxe \includegraphics{graphique.eps} permet d'insérer le fichier graphique.eps.
Le même travail peut être réalisé directement avec le menu de LYX . Il suffit d'utiliser Insérer - Figure pour déboucher sur une fenêtre "Insérer figure" puis une suivante "Figure" L'utilisation de ce menu est certes plus conviviale mais moins didactique.
5.3 Titre de graphique
Vous aurez certainement remarqué dans ce document la présence de légendes de graphiques qui n'ont pas été générés par gnuplot. Il s'agit là d'éléments LA TEX.
J'ai expliqué plus haut la syntaxe minimale d'insertion d'un graphique \includegraphics{}. En fait j'ai utilisé une syntaxe plus complexe et qui met en place des balises \begin{figure}, \caption{} et \end{figure}, par exemple pour l'insertion du graphique3:
\begin{figure}
\caption{graphique3.eps}
\includegraphics{graphique3.eps}
\end{figure}
La compréhension de ces quelques lignes ne devrait pas poser de problème. La balise \caption sert à donner un titre au graphique ou à l'image importée en général car il peut s'agir de n'importe quel document au format postscript. La position de \caption n'est pas indiférente. Placer \caption avant l'instruction d'inclusion conduit à un titre en haut du graphique. Si \caption suit l'inclusion le titre sera sous la graphique.
L'un des intérêts de donner un titre aux graphiques est de permettre la création d'une table des graphiques, au même titre que la création d'une structure de document permet la création d'une table des matières. Cette table des graphiques s'obtient simplement dans le menu de LYX avec l'onglet de menu Insérer- Liste et Tdm - Liste des figures. Ne seront répertoriées dans cette liste que les figures qui auront un titre affecté par \caption{ }. Cette manipulation insère une balise \listoffigures{} dans le code LATEX de votre document.
5.4 Format flottant
Les graphiques (et plus généralement toutes les images) -.eps sont des objets "flottants" que la compilation va placer en haut ou en bas de page, mais pas obligatoirement à l'endroit que vous souhaitiez. Si vous voulez forcer la position du graphique il faut simplement le préciser dans la syntaxe de \begin{} par exemple en l'orthographiant \begin{graphique1.ps}[h] . Le suffixe [h] fixe l'importation à l'emplacement de la balise. Il existe d'autres suffixes possibles, t pour haut, b pour bas, etc.
Attention : en pas oublier de refermer l'environnement ouvert par \begin{} avec un \end{} !
Arrivés à ce stade de l'explication nous savons créer un document LATEX contenant des graphiques
5.5 Exportation au format -.html
Le format -.html est indiscutablement l'un des formats dominants actuellement. Il présente l'avantage par rapport aux formats spécifiques -.doc, -.tex ou autres de pouvoir être interprété sur n'importe quelle plateforme. Une multitude de logiciels savent en effet interpréter ou éditer le format -.html. De plus ce format règne en maître sur Internet et, partant, sur tout ce qui peut ressembler à un Intranet. Il serait donc dommage de ne pas examiner la possibilité de créer des documents -.html avec les logiciels décrits ici.
La création d'un document au format -.html va passer par une phase d'exportation du format d'origine vers ce nouveau format. Deux options s'offrent à vous:
- L'exportaion directe sous LYX , menu Fichier - Exporter - HTML
- L'utilisation de LATEX .
L'exportation directe sous LYX correspond en fait à une ligne de commande latex2html fichier.tex -no_subdir -split 0 -show_section_number .
En clair cette ligne de commande signifie que LYX va "sous-traiter" l'exportation à LATEX en lui demandant de créer le fichier -.html dans le répertoire courant (-no-subdir), de le créer sous forme d'un fichier -.html unique (-split 0) et de conserver la numérotation des paragraphes (-show_section_number).
Vous obtiendrez donc un fichier de même nom que le fichier d'origine mais avec l'extension -.html et dont l'aspect à l'écran sera assez semblable à celui que vous voyez avec LYX. L'exportation a créé quelques fichiers supplémentaires auxquels il est fait référence dans le fichier -.html . En particulier les graphiques qui étaient inclus dans le document d'origine sont maintenant convertis au format -.png avec des noms abscons img1.png , img2.png, etc.
Le transport de votre exportation vers une autre destination, autre sous-répertoire, serveur de votre FAI, etc. risque donc de poser le problème de l'intégrité des informations, raison pour laquelle je préfère réaliser l'exportation directement en mode ligne de commande avec la commande latex2html fichier.tex.
Cette syntaxe très simple va créer un sous répertoire du même nom que le fichier d'origine et qui contiendra l'ensemble des informations nécessaires à l'affichage correct du fichier -.html. Celui-ci se retrouve d'ailleurs présent dans deux fichiers identiques, un fichier portant le nom d'origine suivi de l'extension -.html, l'autre nommé index.html.
La numérotation des paragraphes disparaît avec cette syntaxe élémentaire mais cet aspect n'est pas obligatoirement gênant dans la mesure ou le format -.html ouvre la possibilité d'utiliser les liens hypertextes.
Cette syntaxe de base va transformer chaque paragraphe, sous-paragraphe etc.. en un fichier dont le nom commencera par "node" suivi d'un numéro. L'affichage se fera donc section par section. Pour une utilisation simple à l'écran cette structure est parfaite. Elle est également, mais c'est mon avis, idéale pour une utilisation en vidéo-projection. L'exportation créera sur chacune des pages les boutons de navigation qui permettent de passer à la page suivante, à la précédente, au sommaire etc..
Pour une utilisation mixte écran / document papier il me semble toutefois préférable de ne pas éclater les paragraphes en fichiers séparés et de conserver une structure monobloc au fichier. Pour celà utilisez la syntaxe latex2html fichier.tex -split 0, l'ajout de -split 0 conserve la structure monobloc du fichier (format d'exportation standard de LYX).
Une autre option intéressante est -info. L'ajout de celle-ci à la ligne de commande supprime le paragraphe "About this document..." qui apparait systématiquement à la fin du fichier -.html . Ce paragraphe, rédigé dans la langue de John LENNON n'apporte finalement pas grand chose et ne sert qu'à donner quelques informations telle que la syntaxe de la ligne de commande. Une variante consiste à conserver ce paragraphe mais à fixer soi-même son contenu, par exemple -info "Une réalisation JML Software". Cette phrase apparaîtra donc en remplacement du contenu de ce paragraphe.
5.6 Graphiques au format -.tex
Si vous utilisez ce format, vos premiers essais d'exportation vont aboutir à un résultat assez mitigé. La courbe de sin(x) par exemple sera affichée en pointillé, principalement dans les extrémums. L'ensemble aura donc un aspect décevant. Ce phénomème de pointillé vient du fait que gnuplot utilise en standard une définition 100x100 qui n'a pas posé de problème jusque là (affichage écran ou affichage par dvips mais est insuffisante pour l'application envisagée. Pour remédier à ce problème il suffit simplement d'augmenter la définition de gnuplot en tapant par exemple set sample 500. Attention aux excès, ne forcez pas sur la définition, celle-ci va augmenter la taille du fichier -.tex . Dans notre cas le tracé de sin(x) dans les conditions définies ici va faire passer la taille du fichier de 16 ko à 64 ko lorsque la définition passe de 100x100 à 500x500.
La commande replot va également vous poser quelques soucis. Alors qu'à l'écran (set terminal x11) l'affichage est rafraichi correctement vous allez découvrir rapidement qu'en mode latex (set terminal latex, set output "graphique.tex") gnuplot va simplement ajouter le tracé au fichier existant, d'ou une belle pagaille en perspective. Le remède, là aussi simple, consiste à faire un !rm graphique.tex -f qui va simplement donner l'ordre, via le système d'exploitation, d'effacer le fichier graphique.tex . Curieusement replot ne créera pas le fichier comme imaginé. Pour une obscure raison (obscure parce que je ne sais pas l'expliquer à l'instant ou j'écris ces lignes) il faut rappeler la ligne qui défini le nom du fichier de sortie. Jouez donc de la flèche haut jusqu'à retrouver cette ligne puis validez par entrée et tout rentre dans l'ordre. Cette fois replot créera bien un nouveau fichier -.tex.
6 L'auteur
JML dit Jean-marc LICHTLE, Ingénieur Arts et Métiers promotion CH73. Quand je pense au chemin parcouru.... A l'époque le stockage des informations se faisait encore sur des rubans perforés! Le bon informaticien se devait de savoir scotcher un ruban déchiré et refaire des bits endommagé à la perforatrice ! T'as pas connu ça gamin hein !
@ Retour à la rubrique Logiciels
jml 2002-02-10
Copyright
Copyright © 10/02/2002, Jean-Marc LICHTLE
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |