FreeWare pour tous!

Convaincu que face àa la montée de l'intégrisme informatique et au monopole de fait d'une société dont le nom commence par M, comme microsoft, et se termine par T, comme microsoft, il te faut réagir pour rester un libre citoyen du monde virtuel tout en constatant que trop de societés privées ont baissé les bras, ta dernière planche de salut réside dans le logiciel gratuit!
Pour se faire deux solutions : la loi sur la propriété intélectuelle ne te semble qu'un fatras immonde d'arguments conchiés par des technocrates en mal de légifération, alors la réponse est simple, pirates, copies, encore et encore, et même si tes moyens ne sont pas les miens, je reconnais la justesse de ton combat... Mais attention, jamais pour de l'argent ce métier ne fera, et toujours pour la communauté tu travailleras, comme écrivait Moise dans son célebre 11ème commandement, apocryphe, comme les autres, d'ailleurs. La deuxième voie, plus tortueuse, j'en conviens, passe pacequ'il est convenu d'appeler en parfait franglais, le freeware.
J'entend déja les ricanements de l'incrédule athé face au missionaire en position, "Ah ouais, ces machins que t'arrivent jamais a installer et qui plante ta becane a tout bout de champ?". Bon, premiere objection cynique, est-ce vraiment différent avec les applications commerciales? Seconde objection, plus constructive, essayes d'abord et crois moi apres, je fais pareil avec les missionaires :-)

Génèse

Tout d'abord, puisqu'il faut bien un commencement a toute chose, on peut parler du systeme d'exploitation. Plutot que d'investir dans un Windows98 ou pire 2000, condamné a disparaitre bien vite dans la poubelle de l'histoire, pourquoi ne pas se pencher sur les systemes d'exploitation gratuit comme Linux ou Free-Bsd? Hein, pourquoi? OK, je conviens qu'installer un systeme d'exploitation et assurer sa maintenance tout seul, n'est pas a la portée du premier con venu. Par exemple, j'utilise en ce moment Windows98 :-) Mais en y regardant de plus pres, l'avantage est immense: performance, stabilité et impossible de se laisser tenter par les applications clinquantes des ténors de l'informatique grand public : elles ne tournent de toutes façons pas sur ces sytèmes :-) Débarassé de Word et consort, enfin libre!
Oui mais que mettre a la place?

LateX

Développé à l'origine par D. Knuth, comme un langage d'édition de document (TeX) il a été enrobé quelques années plus tard par Leslie Lamport d'une couche pour se débarasser des détails que l'utilisateur ordinaire aime ignorer, LaTeX. On dispose maintenant d'un systeme très puissant, en constant développement, qui sans nul doute presente les plus belles sorties d'imprimante que l'on puisse obtenir avec un ordinateur personnel. De plus il permet de créer directement des documents au format PDF, qui devient de plus en plus le standard de fait d'échange de document électronique. Beaucoup plus compact qu'un document Word ou PostScript, par exemple. Tu vas me dire que la taille du fichier cela fait rigoler ton disque dur de 8Go, mais rassures-toi cela fait fait aussi se marrer ton opérateur de télecommunication, se réjouissant par avance du bénef' sur le téléchargement à 3ko/s...

Cependant, LaTeX (en fait TeX) n'est pas vraiment un traitement de textes, c'est un compilateur de document. A partir d'un fichier TeX en ASCII contenant le texte proprement dit et des indicateurs de structure (par exemple 'ceci est un titre', 'debut d'une équation', 'fin de l'équation', 'ceci est une section'...) , ou les connaisseurs auront remarqué les attributs d'un 'Markup Langage' comme HTML ou SGML, LaTeX va créer, la terre en 3 jours... euh non, va créer un fichier dévrivant la position de chacune des glyphes du texte en justifiant, numérotant, référencant, bas-de-pageant, indexant, table des matièrant, formule mathématiquant, tout ca de facon exemplaire. Ce fichier DVI (DeVice Independent) pourra alors etre vu et imprimer au moyen d'un visualiseur de DVI séparé. Et oui ce n'est pas du WYSIWYHYG (... You Hope You Get), mais putain, c'est beau!

Ensuite, a partir de ce DVI on peut faire du PostScript en utilisant l'utilitaire DVIPS (apres tout une imprimante postcript n'est qu'un Device comme un autre) qui incluera dans le meme temps tous tes jolis dessins, de préférence au format EPS. Ensuite, tu pourras balancer le fichier sur une imprimante PS ou meme sur une imprimante quelconque apres l'avoir visualisé sur ton écran en utilisant GhostView, l'interpréteur de PostScript (et annexement de PDF :-) gratuit.

latex classique

Une récente alternative existe a ce schéma classique, l'utilisation de PdfLaTex, permet de créer, à partir du meme fichier source TEX, un fichier PDF (Portable Document Format) qui ravira le lecteur Acrobat (fourni généreusement, et gratuitement, par Adobe) de tes petit(e)s ami(e)s, non encore converti(e)s a LaTeX. Comme nous le verrons plus tard, il nécessite l'utilisation du format PDF pour les fichiers images (et oui, les documents ne comportent pas que du texte) malheureusemnet encore peu répandu, mais qui peuvent etre générées a l'aide de GhostScript (encore!) a partir des fichiers EPS seconder par un petit programme qui automatise tout cela...

PDFLatex

Mais comment utiliser cette merveille?

Taper sous LaTeX les immortelles aventures de ZiZi et ZeZette au pays des gros ¶¶ (le ¶ n'est là que pour prouver la force de LaTeX dans les formules de math, bien sur) passe par trois étapes ennuyeuses mais indispensables :

  1. Installer LaTeX et quelques utilitaires utiles
  2. Choisir un traitement de textes adapté à LaTeX
  3. Apprendre à utiliser LaTeX

LaTeX a été adapté sur tous les sytemes d'exploitation existant (de l'AmigaDOS à Windows'95, en passant par UNIX, Linux et ses variantes) et il suffit de se rendre sur un des sites de la Comprehensive TeX Archive Network (CTAN) pour trouver tout ce qu'il faut et plus. L'archive possede plein de site mirroir de par l'infini monde virtuel, dont une liste est donnee la (attention les miroirs ne sont pas toujours 100% réfléchissant... alors je conseille ftp://ftp.dante.de/tex-archive/ une base de CTAN et la plus rapide a mon gout, ou bien par le butineur internet http://ctan.tug.org/tex-archive/). Puis dans le repertoire 'systems' on cherche son systeme d'exploitation favori, et puis on musarde un peu pour trouver l'implémentation que l'on préfere...

Avec Windows (répertoire 'win32' sous 'systems' dans l'arborescence de l'archive) je conseille MikTeX (mais j'avoue que je n'ai pas essayer les autres :-). Dans ce cas, pour la version 1.20, il faut télécharger l'utilitaire d'installation (setupwiz.exe) puis les fichiers archive qui vous interesse (les 6 premiers [msdll.zip...latexpkg.zip] du niveau 1 suffisent au debut mais pour utiliser pdflatex le fichier pdftex.zip du niveau 3 est nécessaire) dans un même repertoire. Ensuite, on double clic sur la tête d'Esso (setupwiz.exe) et ca s'installe tout seul comme une application habituelle, ajoutant même une jolie entrée dans le menu Start, et s'enregistrant dans les registres. On relance la machine et hop! C'est fini? hum, hum, oui, non, enfin presque, en fait il vaut mieux, si ce n'est pas déjà fait, installer Ghostscript et GhostView avant de continuer, les deux compagnons de LaTeX, pas vraiment indispensables, mais qui aident bien principalement à transformer le beau DVI en quelque format lu par le commun des mortels (comprenez non converti a LaTeX), EPS ou PDF. Et oui rien ne sert de DVIfier la vie trépidante de Zezette, encore faut-il que le monde entier puisse la lire :-) (vérifier que la version de Ghostscript est >6.0, cette remarque peut te paraitre stupide internaute de l'an 2063, vu que Ghostscript est en version 34.2 mais cette page a été écrite en l'an 2000. Oui après JC. Déso;é.)

Bon on y va maintenant? Hein, hein on y va? Euh, euh, mais au fait comment écrire avec LaTeX?
Il faut un éditeur de textes tout simple comme le Notepad ou WordPad (dans ce dernier cas sauvegarder en mode texte), mais sous WIndows je conseille WinShell, TexShell ou TeXEd, dans la meme archive CTAN, qui sont dédiés a TeX, permettant de simplifier un peu les manips. Lors de l'installation de ces programmes, la principale difficulté est de relier les différents boutons de l'éditeur aux programmes correspondants, permettant d'un simple clic de lancer le compilateur LaTeX (c:\\texmf\miktex\bin\latex.exe), le visualisateur de fichier DVI (c:\\texmf\miktex\bin\yap.exe), le convertisseur DVIPS (c:\\texmf\miktex\bin\dvips.exe), le visualisateur/imprimeur de fichier PostScript, GhostView (C:\gstools\gsview\gsview32.exe). Si tu utilises MikTeX tout ces fichiers sont places aux endroits specifies entre parentheses et sont à entrer grace à la commande 'Options->Directories and Command' avec TeXEd ou 'Options->Program call' avec TeXShell. En général on peut aussi ajouter un lien vers PDFLaTeX, bien que ce ne soit pas encore une option completement reconnue.

Ces points règlés, c'est parti... euh en fait il faut apprendre a écrire en LaTeX et il vaut mieux aller faire d'abord un petit tour par la :

En fait quand vous aurez lu tout ceci (le premier document suffira pour le début, une sorte de condition nécessaire et suffisante, en somme :-), vous ne devriez plus avoir besoin de moi... je rajouterai juste ici quelques petites remarques en vrac pour des problemes qui m'ont énervé a des degrés divers, et auxquels j'ai trouvé une solution :-)
Comment inclure des images dans un document LaTeX?
La solution la plus simple que j'ai trouvé a ce probleme passe, malheureusement, par l'utilisation d'un logiciel commercial, mais pas de M$, n'exagérons pas quand meme :-) CorelDraw est un logiciel de dessin vectoriel bien conçu, qui possede la particularité d'être très ouvert vers l'exterieur (ne soyons pas dupe, ce n'est pas par altruisme, mais uniquement parcequ'il y est forcé, n'étant pas un programme M$), et de permettre la sauvegarde des fichiers au format EPS, Encapsulated PostScript, depuis ses toutes premieres versions (3.0 au moins). Ainsi tous mes dessins sont exécutés avec CorelDraw, et meme les courbes obtenues avec MATLAB sont collées dans CorelDraw (Copy To Clipboard dans MATLAB puis Paste Special... Metafile dans CorelDraw) ou je leur fais subir un toilettage. Ensuite, en plus d'une sauvegarde sous le format CorelDraw, j'exporte un fichier au format EPS.
On remarquera que les images en point (bitmap) provenant de la numérisation d'un document ou d'une prise de vue a l'aide d'un appareil photo numerique peuvent etre converties de la meme maniere car CorelDraw permet d'importer la plupart des format de fichiers de points (TIF, GIF, JPEG et meme l'odieux BMP). Evidemment le fichier résultant est dans ce cas généralement assez conséquent, et justifie pleinement le dicton : une image vaut un million de mots (de 8 bits, les mots :-).
Ensuite dans le document LaTeX, on déclare dans le preambule (c'est a dire avant la commande \begin{document}) le package 'graphicx' en faisant figurer la ligne suivante : \usepackage{graphicx} Par la suite a tous les endroits ou on désire obtenir une image, on place les lignes suivantes :
\begin{figure}[hbtp]
\centering
\includegraphics[width = 70mm, keepaspectratio] {nom_du_fichier}
\caption{Le_texte_de_la_legende.}
\label{Le_mnémonique}
\end{figure}

Les options apres la commande \begin{figure} permettent, dans une certaine mesure, de décider ou la figure sera placée, mais LaTeX fait en général a sa guise :-) Ainsi h = here = ici, b = bottom = en bas de page, t = top = en haut de la page, p = page = sur une page séparée, mais si on ne met rien ca marche tres bien aussi, le défaut étant l'ordre donné ci-dessus.
\centering permet de centrer l'image entre les marges, sans ajouter d'espace avant et apres comme le ferait l'environement \begin{center} ... \end{center}.
\includegraphics admet de nombreuses options (rotation par exemple) et je ne donne ici que celle qui me servent : width = largeur = permet de donner la largeur de l'image dans le texte, keepaspectratio = conserver le rapport de taille = permet de changer la hauteur du meme facteur que la largeur lors d'un changement de taille, conservant son aspect a l'image. On comprend la tout l'interet des fichiers Encapsulated PostScript, dont on passe le nom comme argument de la fonction... L'extension du nom de fichier, .eps ici, n'est normalement pas necessaire si MikTeX est bien configuré. Cela permet un fonctionement transparent si au lieu d'utiliser LaTeX on utilise PDFLaTeX, le systeme choisira de lui même l' extension .eps ou .pdf respectivement [si la configuration n'est pas automatique on peut aussi faire ça très bien en 'manuel'... et avec un manuel :-)]
\caption permet de définir le texte de la légende.
\label indique le mnémonique utilisable dans le texte pour faire référence a cette image. Ainsi si l'image comporte la ligne \label{zolidessin}, on référencera cette image dans le texte grace a '... sur la Figure \ref{zolidessin}...', sans s'occuper bien sur de connaitre le rang de l'image, LaTeX s'en chargeant tres bien.
Et ensuite, que va-t'il se passer? Au moment de la compilation du texte par LaTeX, celui-ci va aller regarder dans le fichier EPS les dimensions de l'image lui permettant de sauter la place correspondante dans le document, tout en placant légende et autres, au bon endroit. Mais, quand apparait donc l'image? Et oui ce n'est pas fini, car comme nous l'avions vu précédemment, LaTeX seul ne peut pas traiter l'image EPS car il ne delivre qu'un fichier DVI, ne contenant que la position et la taille de tous les symboles du textes (et une image est juste un de ces symboles) avec leur 'nom'. Pour voir le document, il faut utiliser un visualiseur de DVI, décrit plus haut, mais qui ne permet pas toujours de voir les fichiers EPS. Avec Windows et MikTeX les dernieres versions de YAP (>0.96), le visualiseur de fichier DVI, le permettent par le biais de GhostScript... mais c'est lent et l'impression cafouille. Ainsi, le moyen le plus sur est d'utiliser l'utilitaire DVIPS, qui transforme le fichier DVI en fichier PostScript en incorporant les fichiers EPS correspondant aux images du document. Ce fichier PS est ensuite visualisable et imprimable avec GhostView (qui bien sur utilise aussi la bibliotheque GhostScript). Et voila!
Le PostScipt c'est bien joli, mais si je veux du Portable Document Format (PDF) utilisable avec AdobeAcrobat et surtout AcrobatReader (un Freeware) sous mon butineur internet?
La solution est d'utiliser le logiciel PDFLaTeX disponible sur CTAN et inclus dans la distribution MikTeX (vérifier que l'on inclus bien le fichier pdftex.zip, de niveau 3 avant d'utiliser setupwiz.exe). Celui-ci transforme directement le fichier source de LaTeX en un fichier PDF en incluant les images au format PDF. Actuellement en v