Accueil   Semaine   Mois   Occaz'   Compte   Forum   Bas
Mardi 19 janvier 2010
TeXworks, pour faire du LaTeX sur toutes les plateformes

Encore un article sur le thème de LaTeX ! Les allergiques à ce sujet doivent vraiment commencer à me maudire ;-). Qu'ils se rassurent, il ne m'en reste pas beaucoup à écrire : en effet, avec cet article, je suis sur le point de terminer la présentation des principaux programmes, outre la distribution TeX Live, du bundle MacTeX.

De cette distribution, après les tests déjà effectués sur TeXShop (tout au long de l'« introduction à LaTeX » de Fabien Conus mise à jour par moi-même), LaTeXit, Excalibur, BibDesk (à la suite de Fabien là aussi), il me reste en fait deux programmes à traiter. Et pour cause, ils sont apparues avec la toute récente dernière version de MacTeX : TeXworks, qui fait l'objet de l'article présent, et TeX Live Utility, thème du prochain. J'ai en projet deux autres articles reliés à LaTeX, dont le planning est incertain. Et après encore, à moins que des nouveautés remarquables paraissent d'ici là, je ne vois pas quel sujet « LaTeXien » pourrait faire l'objet d'un article ici de ma part.

Mais je n'en suis pas là. Aujourd'hui, je vais donc vous parler d'un programme destiné à éditer du code LaTeX et à le visualiser. Autrement dit, une interface graphique à LaTeX (et à d'autres programmes de la même famille) : TeXworks.

image
L'icône de TeXworks : assez réussie, non ?

Présentation

TeXworks a été créé par Jonathan Kew, une personnalité éminente du monde TeX, puisque il est également l'auteur de XeTeX. Le but de Jonathan Kew : fournir une interface graphique au monde TeX qui soit multi-plateforme, simple d'emploi comme TeXShop sur Mac OS X dont il s'inspire ouvertement, et qui possède comme lui un lecteur de PDF intégré.

Mais des interfaces graphiques multi-plateformes, cela existait déjà, avec TeXmaker, lequel est éprouvé et d'une qualité et d'une simplicité d'emploi incontestable. Alors, qu'apporte TeXWorks par rapport à lui ?

Rappelons qu'une des particularités les plus agréables de notre TeXShop sur Mac OS X est justement d'incorporer son propre lecteur de PDF : grâce à ceci, on est indépendant d'un lecteur de PDF externe tel qu'Aperçu ou Adobe Reader. Ainsi, si on modifie son document source et si on le re-compose, on n'a pas à fermer le lecteur de PDF externe (Adobe Reader le plus souvent) puis le rouvrir pour y constater le changement. Cette manœuvre, particulièrement fastidieuse à la longue, était jusqu'à présent le lot de toutes les interfaces graphiques sur Windows et Linux que je connaisse, et est également celui de TeXmaker.

De plus, un lecteur PDF intégré permet de profiter des possibilités de synchronisation source-PDF, telles que SyncTeX.

Jonathan Kew a donc voulu apporter ces possibilités à toutes les plateformes, ce qu'il a fait grâce à son bébé, TeXworks, que nous allons présenter maintenant.

Sachez cependant que TeXworks, même s'il est déjà parfaitement fonctionnel, est encore en pleine évolution : ainsi, les manques que je relèverai au fur et à mesure du test pourraient bien avoir disparu assez vite, au fur et à mesure du développement de ce programme.

Installation

Si vous disposez de MacTeX dans sa cuvée 2009, TeXworks est déjà installé sur votre machine, dans le dossier « /Applications/TeX ».

Dans le cas contraire, vous pouvez le télécharger directement sur cette page. Toutes les plateformes sont représentées. Pour chacune, vous avez le choix entre la version stable, la 0.2.3, qui est d'ailleurs celle proposée par MacTeX, et une version en cours de développement, numérotée 0.3r511 au moment où j'écris ce test. Le test d'aujourd'hui portera sur la version stable.

Une fois téléchargé, TeXworks s'installe simplement par glisser-déposer, à l'endroit de votre choix (mais dans le dossier « /Applications » de préférence, bien sûr ;-)).

Prise en main

Si on double-clique sur l'icône de TeXworks, on a la désagréable surprise de voir surgir cette barre de menus riquiqui :

image

Ça s'arrange si on double-clique sur un document .tex existant, ou si on l'ouvre ce fichier par cette barre de menus restreinte :

image

De même que l'on obtient une barre de menus digne de ce nom si on ouvre un fichier vierge. Notez que les raccourcis-clavier de ces manœuvres sont (heureusement) les mêmes que ceux habituels au monde Mac.

C'est souvent ainsi dans les applications multi-plateformes, ou originaires d'une autre plateforme et récemment portée sur Mac OS X : il faut avoir ouvert un fichier pour disposer de la barre des menus complète. Au pire, l'application quitte carrément si on ferme sa dernière fenêtre, comme pour TeXmaker… Heureusement, ce n'est pas le cas de TeXworks.

Notons en passant l'existence de « modèles » prédéfinis, bien utiles pour démarrer plus vite la création de fichier .tex d'un genre déjà bien précis. On choisit pour cela l'option « Nouveau à partir d'un modèle » du menu « Fichier ». Le choix des modèles disponibles est bien développé :

image

On peut étendre cette liste et ajouter ses propres modèles, simplement en déposant ceux-ci dans le répertoire « TeXworks/Templates » qui a été créé dès son premier démarrage par TeXworks dans votre dossier « Bibliothèque » personnel.

Revenons au fichier .tex ouvert par notre éditeur. On voit qu'il dispose d'une coloration syntaxique bien agréable, ce qui est un minimum. Encore que parfois, en ouvrant un fichier conçu par un autre éditeur, j'ai eu la surprise de voir le texte non coloré, comme ci-dessous : un bug à rectifier !

image

Les amateurs de ConTeXt, le rival de LaTeX dans le monde TeX, apprendront avec plaisir que TeXworks a le mode de colorisation qui lui convient, dans le menu « Format/Colorisation syntaxique »

image

Un absent surprenant de ce menu : Plain TeX, l'ancêtre de tous les formats basés sur TeX. Mais bon, il est plus ou moins inclus dans LaTeX et entièrement dans ConTeXt (d'après ce que j'ai entendu dire), ce qui sauve sans doute la mise.

Pour composer, on cliquera sur l'icône image ou on utilisera le raccourci traditionnel (car présent aussi dans TeXShop) : « commande-T ». Ou on ira dans le menu « Composition », ce qui nous permettra également de spécifier le moteur de composition si celui prévu par défaut ne convient pas. Dans mon cas, c'est pdfLaTeX :

image

Notons l'absence de programmes pourtant accessibles via TeXShop, comme MetaFont (langage de programmation pour la création de polices), MetaPost (langage de programmation pour la créations de schémas PostScript, inspiré de MetaFont), ou le nouveau venu Asymptote (concurrent de MetaPost)… Absence provisoire ?

On peut changer dans les Préférences de TeXworks le programme de composition par défaut, si l'actuel ne convient pas. Nous verrons comment plus loin.

En cours de composition (ou « compilation »), la fenêtre de console s'affiche comme sous-fenêtre inférieure de la fenêtre du programme (sous TeXShop, cette fenêtre est indépendante) :

image

Puis elle disparaît à la fin de la composition, sauf si celle-ci a repéré une erreur. On peut de toutes façons voir cette fenêtre, et l'étudier si le cœur nous en dit, en choisissant dans le menu « Fenêtre », l'option « Afficher le panneau de sortie ».

Une fois le document composé, le résultat en PDF s'affiche, tout beau tout propre, dans une fenêtre à part mais tout en restant dans TeXworks lui-même :

image

Un très beau PDF et une lecture recommandée à tous :-)

Simple, bien fait, concis : le lecteur de PDF de TeXworks a tout pour plaire. Certes, il n'y a pas autant de fonctionnalités qu'avec Aperçu ou Adobe Reader, mais la barre d'outils propose l'essentiel :

image

De gauche à droite : composer, aller à la première page, aller à la dernière page, page précédente, page suivante, dernière page, taille réelle, adapter à la largeur, adapter à la fenêtre, agrandir, l'outil de défilement, et (bonne surprise, car absente de TeXShop) le bouton de recherche ! On reviendra à ce dernier plus loin.

Un point important à garder à l'esprit est qu'alors que TeXShop utilise le PDFKit d'Apple pour son lecteur de PDF, TeXworks utilise lui une bibliothèque bien distincte, appelé Poppler, bien connue des Unixiens puisqu'elle est à la base du lecteur X11 Xpdf. C'est sans doute ce qui lui donne un look and feel assez différent de TeXShop, et ce qui lui permet en tout cas d'être autonome par rapport à la plateforme utilisée.

On l'a dit en introduction, TeXworks supporte la technologie SyncTeX : autrement dit, si on « commande-clique » à un endroit de la fenêtre PDF, TeXworks affiche en le surlignant le passage correspondant dans l'éditeur, et vice versa de l'éditeur vers le PDF.

image

Les passages marqués par SyncTeX dans le PDF sont coloriés en jaune.

Le support de SyncTeX par TeXworks est cependant moins efficace qu'avec TeXShop : le plus souvent, TeXworks surligne tout le paragraphe correspondant, tandis que TeXShop emmène lui quasi systématiquement à la ligne ou au mot concernés.

Ceci dit, TeXworks a d'autres atouts dans sa manche, ainsi, hélas, que plusieurs lacunes. Voyons-les plus en détail maintenant.

Facilités (et difficultés) d'utilisation

Une bonne surprise : TeXworks reconnaît les commentaires spéciaux de TeXShop de début de fichier, ceux du genre

% !TEX encoding = MacOSRoman
% !TEX TS-program = pdflatex
% !TEX root = fichier-principal.tex

qui permettent de spécifier l'encodage, le programme de composition et le fichier-maître (éventuel) du fichier .tex couramment traité. Notez cependant qu'on peut aussi entrer l'encodage selon les dénominations utilisées par TeXworks dans ses Préférences (voir plus loin la section consacrée aux Préférences).

Une autre bonne surprise : l'auto-complétion, bien conçue, qui permet de gagner du temps à la frappe. Par exemple, pour entrer la commande \documentclass, tapez \doc puis appuyez sur la touche de tabulation : vous verrez alors s'afficher la commande complète, avec les accolades qui vont avec.

TeXworks offre également d'intéressantes possibilités de visualisation, accessibles par le menu « Fenêtres » :

image

Grâce à ce menu, il est possible de mettre les fenêtres du document source et du document PDF côte à côte, de façon à remplir tout l'écran, ou encore mieux, si vous travaillez sur plusieurs documents à la fois, d'en faire une « mosaïque » en un seul clic de souris :

image

Ça c'est quelque chose que TeXShop ne propose pas, et c'est pourtant bien pratique !

Le menu « Fenêtre » change légèrement si la fenêtre active est celle du PDF. On y voit alors apparaître l'option « Visualisation » :

image

Comme on le voit, elle donne accès notamment à l'éventuelle table des matières du document, et surtout à deux choses que TeXShop ne permet pas de son côté : des renseignements sur le PDF et les polices qui y sont utilisées !

image

Fenêtre d'infos sur le PDF ouvert

image

Les polices utilisées dans ce PDF

Mais le plus intéressant dans ce lecteur de PDF est l'incorporation d'un moteur de recherche, bien plus développé que celui proposé par TeXShop dans sa barre de signets ! Pour y accéder, cliquez sur l'icône image  de la barre d'outils de la fenêtre PDF, ou, si cette fenêtre du PDF est active, allez dans le menu « Recherche » et choisissez « Rechercher », ou encore dans ce cas utilisez le raccourci classique « commande-F ». S'ouvre alors la fenêtre suivante :

image

Comme on le voit, cette recherche offre des possibilités de configurations simples et claires (à part l'option « $aller à la ligne » que je n'ai pas comprise), mais bien utiles. Si le mot recherché a plusieurs occurrences, on choisit dans le menu « Recherche » l'option « Chercher encore » ou le raccourci « commande-G » pour parcourir ces occurrences.

Lorsque c'est la fenêtre du document source qui est active, le menu « Recherche » est nettement plus fouillé, ce qui était prévisible. Voyez ses nombreuses options :

image

Et l'option « Rechercher » est elle aussi bien plus complète, naturellement, et très fonctionnelle :

image

Sa cousine, l'option « Remplacer », est construite de la même façon :

image

Je ne m'attarde pas plus sur le menu « Recherche », dont les options sont suffisamment claires. Un autre menu intéressant pour la rédaction du document source est le menu « Format » qui offre des possibilités que les habitués de TeX trouveront bien pratiques. Voyez-en la liste :

image

Hélas, TeXworks a pour le moment des points faibles non négligeables. Le plus gênant à mes yeux est l'absence complète de macros, ces options en menu ou palette qui permettent de transcrire dans le document TeX, en un clic de souris ou en un coup de raccourci-clavier, chacun des commandes et environnements principaux du langage utilisés. Macros que la concurrence ne se prive pas de proposer, TeXShop en particulier (cf. leçon 2 de l'« Introduction à LaTeX sous Mac OS X » de Fabien Conus et moi-même), et particulièrement TeXmaker qui est très complet dans ce domaine.

Également absents, des palettes de symboles mathématiques ou autres, tout aussi précieux pour le débutant. Mais ceci, d'après la page d'accueil du site (voyez la section « Future plans », est en cours de réalisation.

Pour les bricoleurs, il n'est pas encore possible de réaliser de scripts avec TeXworks. Du moins avec sa version stable. J'ai pu voir en effet que la version de TeXworks en cours de développement propose déjà quelques scripts, mais je n'ai pas réussi à ouvrir leur éditeur.

Côté visualisation, il est actuellement impossible de faire un copier-coller à partir de la fenêtre du PDF. Mais cette fonctionnalité, là aussi d'après la page d'accueil, est prévue.

Mais là, le manque le plus important est l'impossibilité d'imprimer le PDF à partir de TeXworks lui-même ! Il faut pour cela passer par une autre application, genre Aperçu ou Adobe Reader, ou même TeXShop. Cela aussi figure dans la liste des choses à implémenter, mais c'est certainement une des plus urgentes !

Autre défaut : l'« aide » du logiciel est pour ainsi dire inexistante. Ne sont proposés qu'un accès au site de TeXworks (pas très disert sur la façon d'utiliser le logiciel) ou à la liste de discussion correspondante :

image

La version en cours de développement propose un fichier HTML assez bien fait, et en français, pour présenter TeXworks au débutant. Souhaitons qu'il passe vite dans la version stable ! On peut aussi le télécharger à part sur ce site web.

Enfin, la francisation du logiciel est pour le moins incomplète. En témoigne par exemple les sous-options du menu « Format » présenté ci-dessus, ou tout bêtement le menu « TeXworks » :

image

Drôle de français !

Mais TeXworks étant encore en plein développement, il est à prévoir que ces manques seront palliés dans de futures versions !

Possibilités de configuration

Faisons maintenant un petit tour des Préférences de TeXworks.

L'onglet « Général » permet juste de régler la taille des icônes et le comportement de TeXworks au démarrage, ainsi que de choisir la langue de l'interface :

image

Notez quand même la possibilité de faire démarrer TeXworks automatiquement sur le modèle de votre choix, ce qui est bien pratique.

L'onglet « Éditeur » est plus fourni et permet de régler bien des détails pour la rédaction du document source :

image

On y trouve dans l'ordre

  • le choix de la police utilisée dans ce document source (pas celle du PDF !) ;
  • le réglage précis de la largeur de tabulation (un autre bon point par rapport à TeXShop, d'ailleurs) ;
  • le choix par défaut de la colorisation syntaxique, entre LaTeX et ConTeXt ;
  • le mode d'auto-indentation par défaut ;
  • la langue de vérification orthographique, laquelle, autre manque, semble inactivée dans cette version (mais on peut utiliser un correcteur externe, par exemple Excalibur) ;
  • le choix de l'encodage par défaut : ici, Unicode UTF-8 ici, le choix actuellement le plus évident pour écrire dans des langues accentuées ou d'alphabet non latin, mais tous les autres encodages courants sont aussi disponibles ;
  •  
  • enfin la possibilité de mettre ou non en évidence la ligne courante.

Pour la correction orthographique, d'après les infos que j'ai pu glaner, il semble que pour qu'elle fonctionne, il faille installer les dictionnaires idoines dans le répertoire « TeXworks/Dictionaries » du dossier « Bibliothèque » maison. Les dictionnaires d'Open Office, en particulier, seraient reconnus. Je n'ai pas pris le temps de vérifier cela.

L'onglet « Prévisualisation » permet d'obtenir le réglage par défaut qui nous convient de la présentation de la fenêtre PDF, et de la loupe :

image

Notez qu'il est possible également de régler la résolution d'écran, un luxe auquel je n'étais pas habitué en dehors d'Adobe Reader !

Enfin, l'onglet « Composition » est scindé en deux parties :

image

La première partie concernet les « chemins » Unix menant vers les principaux programmes de la distribution TeX. Ne pas y toucher si on n'est pas un « TeXnicien » déjà avancé !

La deuxième concerne le choix du programme lui-même qui sera utilisé par défaut. Pour ma part, c'est pdfLaTeX, mais le choix est comme on le voit assez vaste : on y retrouve, logiquement, les programmes qui étaient proposé dans le menu « Composition ».

Conclusion

On a pu voir que la version stable de TeXworks avait déjà plusieurs points forts appréciables pour convaincre un « TeXnicien » de l'utiliser : outre l'atout évident que représente son côté multi-plateformes, il y a l'intégration d'un lecteur de PDF et la qualité surprenante de ce dernier. Il présente également un bon confort de rédaction… si on fait abstraction de l'absence complète de macros. Ce manque est pourtant selon moi rédhibitoire : je me vois mal recommander TeXworks à un utilisateur débutant sans la présence de cet outil qui rend la rédaction d'un document LaTeX incomparablement plus aisée. Aussi rédhibitoire est l'absence d'aide en ligne digne de ce nom, à moins de passer par une liste de diffusion (ou d'utiliser la version de développement). Enfin, l'impossibilité d'imprimer le PDF directement est une grave lacune à combler au plus vite.

Un autre manque, concernant cependant des besoins plus spécifiques que ceux de l'utilisateur moyen, est l'absence de support de programmes tels que MetaPost ou Asymptote.

Mais je l'ai dit, TeXworks, bien que déjà parfaitement fonctionnel, n'en est qu'à ses premières versions, et est en plein développement. Nul doute que les défauts relevés ci-dessus ne soient que des défauts de jeunesse qui seront corrigés à l'avenir.

Bref, je ne me risquerai pas pour le moment à recommander TeXworks comme interface TeX en vue d'une utilisation intensive, mais je le considère comme particulièrement prometteur, et j'attends avec impatience de voir comment il va évoluer à court et moyen terme.

À ceux que comme moi TeXworks intéresse, je conseille donc surveiller de près le site de téléchargement et les versions en cours de développement, et pourquoi pas la liste de diffusion de TeXworks, pour savoir ce que Jonathan Kew nous mijote !

Icon_print