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.
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 :
Ç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 :
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é :
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 !
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 »
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 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 :
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) :
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 :
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 :
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.
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 » :
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 :
Ç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 » :
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 !
Fenêtre d'infos sur le PDF ouvert
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 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 :
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 :
Et l'option « Rechercher » est elle aussi bien plus complète, naturellement, et très fonctionnelle :
Sa cousine, l'option « Remplacer », est construite de la même façon :
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 :
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 :
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 » :
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 :
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 :
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 :
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 :
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 !
, le 19.01.2010 à 09:19
Merci pour ce test Franck ! :)
Il faut vraiment que je me mette à LaTex. J’ai installé TexLive 2009, ainsi que Lyx ; j’ai téléchargé le guide que tu as fait avec Fabien ; mais je n’ai pas encore eu le courage ni le temps d’apprendre. Je vais m’y mettre. En parallèle de mes études. Dès que je saurai me débrouiller, je sens que LaTex me rendra de gros service pour mes documents. :)
, le 19.01.2010 à 09:54
Voici un petit moment que je me dis que je devrais signaler que LateX vous convertit à tout âge…
Depuis quelque cinq ans, sous l’impulsion répétée de mon fils Franck, j’ai fini par m’y mettre pour mes articles, lassé que j’étais du cinéma de Word, Microsoft et consorts.
Sans être devenu un spécialiste pour autant, je suis maintenant un utilisateur de base bien obligé de reconnaître la supériorité indéniable de LaTeX en matière de qualité et de commodité : vous ajoutez des références, des paragraphes et hop, ça s’arrange tout seul sans parler des copier-collés de formules dans des articles précédents !
Cette année étant la dernière en tant que statutaire en activité, je promets pour conclure d’approfondir ce langage qu’est LaTeX dès ma retraite ! Et là, je vois sourire Franck d’ici…
Bonne année à tous les LaTeXiens!
, le 19.01.2010 à 10:42
C’est vrai que Adober Reader est incapable de raffraichir un document ouvert. Mais xpdf le fait très bien. Sous Linux, lorsque je travaille sur un fichier LaTeX, j’ai ma fenêtre d’éditeur d’un côté et xpdf de l’autre. Un coup de pdflatex puis j’appuie sur la touche “r” dans xpdf et le document est raffraîchi.
Autre remarque : il existe un plugin pour emacs appelé whizzytex (dans mon souvenir, c’est un peu une usine à gaz de le faire fonctionner, cela dit). Ce plugin est intéressant si on utilise le lecteur de DVI advi : la vue du dvi est alors raffraichie automatiquement en temps réel. De plus, il y a le même principe que SyncTeX : une sélection côté éditeur ou côté lecteur est simultanément retranscrite de l’autre côté.
Infisxc
, le 19.01.2010 à 11:11
Merci pour tes articles sur LaTeX qui intéresse beaucoup de lecteurs, j’en suis convaincu.
J’utilise déjà TeXworks sur PC pour les raisons que tu cites.
Par contre, je reste à mon TexShop sur Mac que je n’échangerai pas même pour 2 barils de TeXworks ;)
Sinon, j’attends beaucoup de ton article sur TeX Live Utility (que je n’ai jamais utilisé) et sur mieux comprendre comment maintenir à jour son LaTeX. Un bug est revenu dont je t’avais parlé sur le forum lié à KomaScript qu’il va falloir que je mette à jour à la main, grrr.
, le 19.01.2010 à 11:32
François Charlet : si tu peux te libérer un après-midi, cela devrait suffire pour lire notre cours sur LaTeX. Mais chacun a son rythme !
Jvi : merci ;-)
Infisxc : je ne savais pas pour Xpdf. Mais je vais faire mon pinailleur : il faut quand même appuyer sur une touche après la composition. Avec un lecteur PDF embarqué la mise à jour se fait en même temps que la composition du PDF. Quant au DVI, c’est vrai aussi sur WinEdit, et sans plugin, d’après ce que j’ai vu sur le poste de travail d’un collègue, et il y a même la synchronisation source-DVI dans ce cas. Le seul problème, c’est que c’est un visionneur de DVI, justement, donc loin derrière un lecteur de PDF question puissance…
Guillôme : s’il s’agit du « bug du point », lis donc ce sujet récent du forum.
, le 19.01.2010 à 13:40
Effectivement, c’est de cela dont il s’agit!
Ok, il y a toujours une explication logique, mais bonjour pour la trouver! Plus gênant, c’est qu’ils changent le comportement entre version puisque, comme tu le disais, une version intermédiaire ne posait plus le problème du point…
Merci, Franck ;)
, le 19.01.2010 à 18:57
Ouaaaah… meeeuuuuh nooooooon! Merci au contraire!
Cela dit, je continue sur Pages, vue que je n’ai pas d’équation à taper.:-)
, le 19.01.2010 à 23:26
Yahoo, ça marche, merci Franck… mais bon sang, ils arrêtent pas de changer la syntaxe, ils sont pénible… voilà que mes options de document sont obsolètes!
Faut-il se relire la doc en anglais de 200 pages à chaque mise à jour de KomaScript de la version 2.94b à la version 2.95c ?
, le 20.01.2010 à 08:33
Bah, plutôt à chaque passage de la version n à la version n+1, ce qui doit arriver tous les neuf-dix ans :-). Pas de bol, on est tombés à la période du passage de la version 2 à la version 3 !
La tendance actuelle chez les créateurs de nouveaux paquets/classes LaTeX, c’est d’utiliser pour les options de leurs commandes et environnements une syntaxe du type
[machin = truc, bidule = chose,…]
, qui est bien plus souple et plus pratique. Ils utilisent un paquet particulier appeléxkeyval
pour cela, lors de la programmation de leur joujou. Certains, comme les auteurs de KOMA-Script, vont jusqu’à modifier la syntaxe standard de leur programme pour se conformer à cette tendance. Soyons positifs donc, les options obsolètes, c’est un mal pour un bien, tant que le paquet en question ne refuse pas de tourner avec ces options (ce qui n’est pas hélas censé durer éternellement).Par contre, le coup du point, c’est plus gênant : à mon avis aussi, ils n’auraient pas dû changer le comportement par défaut entre deux versions…
, le 20.01.2010 à 09:58
Bon, il va bien falloir que je m’y mette, un jour…
… mais, et si l’on n’écrit pas ?
z (qui va devoir apprendre LaTeX, je répêêêêêêêêêête : et aussi à écrire !)
, le 20.01.2010 à 10:50
Merci encore une fois pour ces articles que je lis avec grand intérêt! Ils vont m’être utiles, je m’y mets bientôt!
, le 23.01.2010 à 19:10
En attendant l’inclusion dans l’application elle-même, voici un lien vers la page contenant les futures documentations officielles de TeXworks, en plusieurs langues dont le français. Je l’insère également dans l’article.