Suivant: Langages et outils Chapitre: Applications Avant: Commandes de base
Formatage de texte et traitement de texte
Pratiquement chaque utilisateur d'ordinateur a besoin d'outils de rédaction de documents. (Combien de passionnés d'informatique utilisant encore un stylo et du papier ? Pas beaucoup je parie...) Dans le monde PC, la norme est au traitement de texte: Cela sous-entend l'édition et la manipulation de texte (souvent dans un environnement `What-You-See-Is-What-You-Get'') et la réalisation de copies imprimées du document, comprenant des illustrations, des tableaux, et d'autres garnitures du genre.
Dans le monde UNIX, le formatage de texte est quelque chose de beaucoup plus commun, et c'est assez différent du concept classique du traitement de texte en bureautique par exemple.
Avec un formateur de texte, le texte est saisi par l'auteur en utilisant un ``marquage'' qui décrit comment le texte devra être présenté. Au lieu d'être obligé de taper le texte sous un environnement spécial de traitement de texte, le source peut être modifié avec n'importe quel éditeur comme vi ou Emacs. Une fois le texte source (incluant le marquage) saisi, l'utilisateur formate le texte avec un programme séparé, qui le convertit dans un format propre à l'impression.
Cette démarche est assez analogue à la programmation dans un langage comme C, suivi de la ``compilation'' du document dans une forme imprimée. Il y a beaucoup de formateurs de texte disponibles sous Linux. L'un deux est groff, la version GNU du classique formateur nroff, développé à l'origine aux Bell Laboratories et toujours utilisé sur la plupart des systèmes UNIX du monde entier. Un autre formateur de texte moderne fonctionnant parfaitement sous Linux est TeX, développé par Donald Knuth. Les dialectes de TeX, comme LaTeX, sont également disponibles.
Les processeurs de texte comme TeX et groff diffèrent principalement dans la syntaxe et la puissance de leur langage de formatage. Le choix d'un formateur se fait aussi en fonction du nombre d'utilitaires disponibles satisfaisant vos besoins, et bien sûr du goût de chacun.
Par exemple, certains considèrent le langage de formatage de groff comme particulièrement obscur, alors ils utilisent TeX, qui est plus lisible pour un humain normalement constitué.
Toutefois, groff est capable de produire une sortie ASCII, lisible sur un terminal texte, alors que TeX est avant tout destiné à produire du code pilotant une imprimante. Bien sûr, il existe tout de même des programmes pemettant de traduire des documents TeX en ASCII, ou de convertir du code TeX en groff, par exemple.
texinfo est un autre formateur de texte, une extension à TeX utilisé pour documenter les programmes de la Free Software Foundation. texinfo est capable de produire aussi bien un document imprimé, qu'un document hypertexte ``Info'' à partir d'un unique fichier source. Les fichiers Info sont le format principal de documentation utilisé pour les programmes GNU comme Emacs.
Les processeurs de texte sont énormément utilisés dans la communauté informatique et scientifique pour produire des articles, thèses, magazines, et des livres (en fait, cet ouvrage a été réalisé avec LaTeX). La possibilité de traiter le langage en un fichier purement texte ouvre la porte à de nombreuses extensions au processeur de texte lui-même. Comme les documents sources ne sont pas stockés dans un format complexe, lisible uniquement par un traitement de texte particulier, les programmeurs peuvent écrire des analyseurs et translateurs du language de formatage afin d'étendre le système à l'infini.
A quoi ressemble un tel langage de formatage ? En règle générale, le code source contient essentiellement le texte lui-même, avec des ``codes de contrôle'' ici et là, destinés à produire un effet particulier comme un changement de fonte, un alignement de marges, une création de liste, etc...
A titre d'exemple, prenez le texte suivant:
Monsieur Torvalds: Nous ne sommes pas d'accord sur vos projets concernant l'implémentation de messages subliminaux dans le code des contrôleurs de terminaux de Linux. Ceci pour trois raisons: Ce type de message n'est pas seulement immoral, c'est une perte de temps; Il a été prouvé que ces ``suggestions hypnotiques'' sont sans effet sur un bon programmeur UNIX; Nous avons déjà implémenté par mesure de sécurité, des chocs électriques de haute tension dans le code de /bin/login. Nous espérons que vous allez reconsidérer cette idée.
Nous ne sommes pas d'accord sur vos projets concernant l'implémentation de messages subliminaux dans le code des contrôleurs de terminaux de Linux. Ceci pour trois raisons:
Ce texte apparaîtrait dans le langage de formatage LaTeX sous la forme suivante:
L'auteur saisit le ``source'' ci-dessus en utilisant n'importe quel éditeur de texte, et génère la sortie formatée en passant ce source dans le programme LaTeX.
Au premier abord, le langage peut paraître assez obscur, mais en réalité il est très facile à apprendre. L'utilisation d'un système de formatage de texte force l'utilisation de standards typographiques de manière transparente lors de la rédaction.
Par exemple, toutes les listes d'énumération à l'intérieur d'un document auront la même allure, sauf si l'auteur en modifie la définition. Le but premier est d'autoriser l'auteur à se concentrer sur la rédaction du texte, plutôt que de passer son temps avec les conventions typographiques.
Les traitements de texte WYSIWYG sont attirants pour beaucoup de raisons; ils offrent une interface graphique puissante (et souvent complexe) pour l'édition du document. Malheureusement cette interface est limitée aux aspects de la maquette accessibles à l'utilisateur. Par exemple, beaucoup de traitements de texte offrent un ``langage de formatage'' spécial destiné à pouvoir produire des expressions complexes comme les formules mathématiques. Ceci est tout à fait identique au formatage de texte, mais sur une échelle beaucoup plus réduite.
L'intérêt du formateur de texte est qu'il vous permet de spécifier exactement ce que vous désirez. De plus, cette méthode vous permet de réaliser le code source avec n'importe quel éditeur, voire sur n'importe quel ordinateur équipé d'un système différent du vôtre, et ce source est très facile à convertir vers d'autres formats. La seule contrepartie à cette puissance et cette souplesse est le manque d'interface WYSIWYG.
Beaucoup d'utilisateurs de traitement de texte ont l'habitude de voir le texte formaté à peu près comme il apparaîtra une fois imprimé pendant qu'ils le saisissent. D'un autre côté, lors de l'écriture pour un formateur de texte, on ne se soucie généralement pas de l'apparence que prendra le travail une fois terminé. L'auteur apprend à apprécier la future présentation de son travail à partir des commandes qu'il utilise dans le code source.
De toutes façons il existe des programmes permettant de visualiser le document dans sa forme définitive avant l'impression, sur un écran graphique. Par exemple, le programme xdvi affiche un fichier généré par TeX sous l'environnement X Window, sous la forme exacte qu'il aura après impression. D'autres applications comme xfig, fournissent une interface WYSIWYG pour le dessin d'illustrations ou de shémas, qui seront ensuite convertis dans le langage de formatage utilisé pour être inclus dans le document.
Il faut reconnaître que les processeurs de texte comme nroff existent depuis bien plus longtemps que les traitements de texte de bureautique. Et beaucoup de gens continuent à préférer le formatage de texte, parce qu'il est beaucoup plus souple, universel et indépendant de tout environnement graphique ou système d'exploitation. Quoi qu'il en soit, le traitement de texte idoc est disponible sous Linux, pour les inconditionnels, en attendant de voir fleurir des traitements de texte commerciaux utilisables sous notre système favori. Si vous ne voulez vraiment pas abandonner le traitement de texte au profit du formatage de texte, vous pouvez toujours utiliser MS-DOS, ou quelque autre système d'exploitation, en alternance avec Linux. Toutefois, vous devez savoir que la plupart des publications techniques ou scientifiques que vous avez coutume de dévorer, sont réalisées avec des formateurs de texte, et que TeX existe aussi en version MS-DOS et y est très utilisé.
=manfnt
Il y a d'autres utilitaires relatifs au formatage de texte disponibles sous Linux. Le puissant système META FONT utilisé pour construire des fontes pour TeX, est inclus avec le portage Linux de TeX. D'autres programmes comprennent ispell, un correcteur orthographique interactif; makeindex, utilisé pour générer des index dans les documents LaTeX; aussi bien que de nombreux paquetages de macros groff et TeX destinés à mettre en forme différents types de documents et textes mathématiques. Des programmes de conversion de sources TeX ou groff vers des myriades d'autres formats sont disponibles.