LaTeXila 2.6, éditeur LaTeX pour GNOME

Posté par  . Édité par baud123. Modéré par claudex.
Étiquettes :
28
24
nov.
2012
Bureautique

LaTeXila est un environnement LaTeX intégré pour GNOME, dont le principe est de travailler directement avec le « code » LaTeX pour écrire ses documents, tout en essayant de faciliter l'écriture de ce code.

Les fonctionnalités principales :

  • Compiler son document en un clic (grâce à Latexmk) ;
  • La complétion des balises ;
  • Structure du document pour naviguer rapidement dans celui-ci (ou celui-là) ;
  • Correction orthographique ;
  • Recherche ascendante et descendante entre les fichiers sources .tex et le PDF ;
  • Les choses de base, comme des tables de symboles, pour ne pas devoir se souvenir de toutes les commandes.

Les nouveautés de la version 2.6 sont détaillées en seconde partie de la dépêche.

Petite annonce : si un graphiste passe par ici (ou par là), LaTeXila a besoin d'une nouvelle icône.

Nouveautés de la version 2.6

Plus de détails dans le fichier NEWS.

Passage à GTK+ 3

L'API a été cassée entre la version 2 et 3 de GTK+, ce qui a demandé certains changements.

Recherche ascendante et descendante avec SyncTeX

Il suffit de faire Ctrl+clic pour passer du fichier .tex à la position correspondante dans le PDF ; ou inversement, passer du PDF au fichier source. Ceci n'est possible qu'avec evince.

Amélioration des outils de constructions

Pour compiler son document en un clic.

Nettoyage et refactoring d'une bonne partie du code

Je suis loin d'être un programmeur ayant beaucoup d'années d'expérience (je suis encore étudiant), donc, le code que j'ai écrit, il y a deux ans, n'est pas d'une très grande qualité. Avoir lu un livre comme Code Complete m'a beaucoup appris.

Pas de wizzard ?

Non.

Par exemple, pour créer un nouveau document, il y a certains modèles par défaut et l'utilisateur peut créer ses propres modèles. Une boîte de dialogue pour sélectionner certaines options du document serait trop restrictive et ne conviendrait de toute façon pas pour les utilisateurs plus expérimentés.

Autre exemple : insérer une figure. Il y a un bouton pour insérer le code LaTeX correspondant. Ensuite, l'utilisateur peut remplir les trous, en se servant de la complétion comme aide. De nouveau, une fenêtre de dialogue serait trop restrictive. En outre, si l'utilisateur veut modifier une option par la suite, la fenêtre de dialogue n'est plus là.

Voir cet article de blog pour plus de détails.

Aller plus loin

  • # Mon éditeur LaTeX préféré !

    Posté par  . Évalué à 5.

    Merci pour ton super travail ! je l'utilise quotidiennement depuis maintenant presque deux ans… Je m'en vais tester cette dernière version de ce pas !

  • # wizzard ?

    Posté par  (site web personnel) . Évalué à 9. Dernière modification le 24 novembre 2012 à 12:13.

    j'imagine que Wizzard a été confondu avec Wizard, comme quoi la techila (c'est un peu comme le tequila) inspire sans doute ce projet, alors que le terme assistant est disponible en français :)

  • # Ouverture du navigateur de fichier graphique

    Posté par  . Évalué à 3.

    Pas très cool d'avoir une fenêtre de nautilus/thunar/autre à chaque fois qu'on lance la visualisation.

  • # future adepte

    Posté par  (site web personnel) . Évalué à 6.

    Félicitations pour ton boulot! J'ai convaincu ma soeur, que j'aide à rédiger sa thèse de médecine, de passer du traitement de texte à Lyx. Ça n'a pas été très difficile. Mais elle m'a beaucoup surpris quand elle s'est avérée prête à écrire directement du LateX, tant elle apprécie de se concentrer uniquement sur le contenu. Je pense qu'elle va aimer LaTeXila!

    "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

    • [^] # Re: future adepte

      Posté par  (site web personnel) . Évalué à 2.

      Personnellement, quand je veux me concentrer sur du contenu, j'utilise le Markdown. Avec LaTeX, je passe mon temps à rechercher "Ah zut, comment je fais {xxx} ?".

      Avant de connaître markdown, je rédigeais parfois en xHTML, mais il y a trop de markup, chose que je reproche aussi à LaTeX.

      Ensuite, pour ce qui est des tableaux, formules et autres spécificités, je suis très content de MultiMarkDown. À l'avenir, je crois que je regarderai du côté de l'implémentation faite par Pandoc.

      • [^] # Re: future adepte

        Posté par  (site web personnel) . Évalué à 3. Dernière modification le 24 novembre 2012 à 21:29.

        Markdown c'est très bien, mais pour une thèse ça me semblerait un peu limité :)

        Et puis, si l'on se limite à utiliser des fonctionnalités qui sont dans Markdown, tu dois connaître 4 ou 5 commandes, c'est pas non plus si terrible.

        Et LaTeX permet quand même de faire pas mal de merveilles, et avec un rapport effort/résultat plutôt honnête. En tous cas j'ai tapé quelques cours de maths (et c'est difficile de trouver plus dur à écrire que les formules) en temps réel en amphi et je m'en sortais plus vite que certains à la main. Avec les bonnes commandes, et les bons raccourcis, on peut se concentrer sur le contenu.

        • [^] # Re: future adepte

          Posté par  (site web personnel) . Évalué à 1.

          Effectivement, le Markdown de base est limité, mais les implémentations plus récentes (Pandoc ou MultiMarkdown) agrandissent considérablement les possibilités. Au final, on trouve tous les tableaux, images légendées, formules, références (internes et externes), citations, définitions que l'ont veut.

          J'ai principalement utilisé l'export vers l'HTML qui est largement plus pratique à personnaliser que de modifier ou créer des classes/packages LaTeX.

          Enfin, pour ce que j'en ai vu, le LaTeX ne permet pas une distinction fond/forme. J'ai très souvent rencontré des positionnements absolus faits à la main, des figures qui sont toutes centrées à la main. Je suis convaincu que ce travail peut (et devrait) être fait automatiquement avec la commande-qui-va-bien, mais j'ai constaté que ce n'est généralement pas le cas.

          Avec les bonnes commandes, et les bons raccourcis, on peut se concentrer sur le contenu.

          C'est aussi le cas avec beaucoup d'éditeurs, voire même peut-être Word ou LibreOffice.

      • [^] # Re: future adepte

        Posté par  (site web personnel) . Évalué à 4.

        LaTeXila permet de rentrer pas mal de code va les icônes. Pour les allergiques total il y a Lyx.
        Tu peux reprocher ce que tu veux à LaTeX, mais svp reste pertinent: il y a des classes LaTeX pour écrire des thèses (je ne sais pas si tu as une idée de la complexité du travail de mise en forme que représente une thèse, ses notes, ses index, annexes, renvois et sa bibliographie), je ne vois pas comment Markdown ferait-ça.
        Si tu veux autre chose, mais du même niveau que LaTeX, tourne-toi vers Lout.

        "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

        • [^] # Re: future adepte

          Posté par  (site web personnel) . Évalué à 1.

          J'apprécie le travail de LaTeXila ou de Lyx, mais à partir du moment où l'on saisit le code derrière une interface, c'est que le langage n'est pas adapté à une saisie purement textuelle.

          J'aime énormément le MD pour la simple raison que la syntaxe pour avoir le résultat désiré est intuitive et rapide à taper. L’inconvénient est que toutes les implémentations ne réagissent pas forcément toujours pareil pour les situations particulières (t je ne parle pas des extensions spécifiques).

          Tu peux reprocher ce que tu veux à LaTeX, mais svp reste pertinent: il y a des classes LaTeX pour écrire des thèses (je ne sais pas si tu as une idée de la complexité du travail de mise en forme que représente une thèse, ses notes, ses index, annexes, renvois et sa bibliographie)

          Effectivement, je n'ai pas (encore?) rédigé de thèse, et je n'ai qu'une vague idée du travail de mise en forme qui se cache derrière. Ensuite, je ne vois pas en quoi les notes, index, annexes, renvois et bibliographie empêchent l'utilisation de Markdown, que ce soit l'implémentation Pandoc ou MultiMarkdown. Je ne veux pas troller, je suis réellement curieux de savoir si Markdown peut faire tout ce qui est nécessaire à la publication de travaux avancés.

          (Et si ce n'est vraiment pas suffisant, il est possible d'ajuster les détails finaux dans le fichier LaTeX généré ensuite…)

          • [^] # Re: future adepte

            Posté par  (site web personnel) . Évalué à 4. Dernière modification le 25 novembre 2012 à 09:57.

            mais à partir du moment où l'on saisit le code derrière une interface, c'est que le langage n'est pas adapté à une saisie purement textuelle.

            En fait avec LaTeX il y a pour tous les goûts: tu peux utiliser LaTeXila, ou d'autres éditeurs orientés spécialement LaTeX, ou tu peux directement taper dans un simple éditeur de texte moderne comme vim ou emacs (ce qui nécessite plus de temps d'apprentissage, mais au final est tout aussi efficace, avec l'avantage d'être beaucoup plus extensible et personnalisable).

            L’inconvénient est que toutes les implémentations ne réagissent pas forcément toujours pareil pour les situations particulières

            Tiens, ça me rappelle cet article qui parle d'essayer de standardiser le Markdown.

            (Et si ce n'est vraiment pas suffisant, il est possible d'ajuster les détails finaux dans le fichier LaTeX généré ensuite…)

            J'ai généré une fois un beamer avec pandoc, et au final j'ai perdu presque plus de temps à modifier le fichier LaTeX généré. Par exemple: en pandoc tu ne peux pas donner une échelle aux images, modifier la taille des polices (c'est souvent une mauvaise idée, mais pas toujours!), etc…

            Et puis, si un fichier Markdown court et facile à maintenir, ce n'est pas forcément le cas pour des fichiers longs: tu décides par exemple que tous les mots techniques nouveaux d'une telle catégorie soient en italique, puis tu changes d'avis et tu veux les mettre en gras; en LaTeX, une simple commande au début du document te permet de tout changer d'un coup, le markdown ne prévoit rien pour cela (et j'espère que ça restera ainsi, parce que c'est pas trop l'objectif a priori).

            Pour le coup, en markdown tu peux juste dire que ton mot est important, voire très important, puis c'est tout. C'est assez vague, et ne donne aucune précision sur le type d'élément, du coup on distingue moins la forme du contenu car on est obligé de classer des éléments différents dans une même catégorie.

            Je dirais qu'il ne faut jamais idéaliser un système par rapport à un autre, et utiliser celui qui convient le mieux pour telle tâche (un jour ce sera LaTeX, un autre Markdown, ou peut-être Docbook,…). C'est d'ailleurs pour quelque chose qu'il y en a tant.

          • [^] # Re: future adepte

            Posté par  (site web personnel) . Évalué à -1.

            LaTeX est une bouse infâme, un langage qui pique les yeux et basé sur des limites technologiques dépassées depuis belle lurette. Mais LaTeX est vieux de 30 ans et c'est pour ça que LaTeX est magnifique, superbe, un territoire infinie qui même après 10 ans d'usage nous fait découvrir encore des perles énormes !!!

            Markdown oui, bien sûr, très bien. On doit pouvoir faire un document modérément complexe, modérément joli et qui respecte modérément les règles de format, de mise en page et de typographie, le tout avec un syntaxe légère, agile et lisible. Respect bien sûr.

            Mais vouloir comparer les deux c'est juste un blague par contre. Déjà LaTeX/TeX est un langage de programmation…, je laisse cette idée mûrir…

        • [^] # Re: future adepte

          Posté par  . Évalué à 2.

          Si tu veux autre chose, mais du même niveau que LaTeX, tourne-toi vers Lout.

          Je suis pas certains que Lout offre un niveau s'approchant de LaTeX. Personnellement je préfère rédiger en txt2tags et à chaque fois que je fini une partie je génère le tex et je l'inclut au fichier principal. Du coup le travail se fait en 3 fois :

          • rédaction en txt2tags pour ne pas me déconcentrer avec la syntaxe LaTeX
          • mise en page en LaTeX
          • corrections directement en LaTeX (la syntaxe est presque déjà entièrement écrite)

          Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

          • [^] # Re: future adepte

            Posté par  (site web personnel) . Évalué à 3.

            Lout offre un excellent rendu. Certains, sur linuxfr, trouvent les équations moins belles qu'avec TeX, d'autres aussi belles.
            Si tu veux un exemple conséquent et de qualité, le livre "Apprendre à programmer avec Python3" a été fait avec Lout.

            "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

  • # Assistant, même très basique, interdit?

    Posté par  (site web personnel) . Évalué à 2.

    Tout d'abord, merci pour ce travail Seb ;)

    Autre exemple : insérer une figure. Il y a un bouton pour insérer le code LaTeX correspondant. Ensuite, l'utilisateur peut remplir les trous, en se servant de la complétion comme aide. De nouveau, une fenêtre de dialogue serait trop restrictive.

    Je reviens à nouveau sur ce sujet :)
    Pour moi, il y a deux actions souvent demandées mais plus pénibles à gérer avec LaTeX, c'est l'inclusion d'images et la création de tableaux.
    Pour ces actions, je trouverais utile (voir indispensable pour des débutants) d'avoir un petit assistant pour ces tâches:

    • Pour les images, le fait d'avoir simplement un sélecteur de fichiers serait déjà très intéressant car il n'y a pas de complétion pour lister les fichiers et c'est toujours plus sympa de pouvoir sélectionner un fichier avec un petit aperçu via une fenêtre et ne pas devoir utiliser un gestionnaire de fichier juste pour ça. De plus, ça pourrait être aussi utile d'avoir un choix sur les options de positionnement de l'environnement figure. En effet, les différentes options ne font qu'une lettre (h, t, b, p, !, H, etc.), ne sont donc pas très explicites et pas pré-complétées. Les options scale et width (avec \textwidth) sont aussi souvent utiles et il n'y a pas d'aides à ce sujet, pourquoi pas une ligne à ce propos dans l'assistant.
    • Concernant les tableaux (simples), le plus difficile, je pense, est de créer ce tableau. Il faut d'abord déclarer le nombre de colonnes, le positionnement, les lignes, etc. Avec un simple assistant qui crée la structure du tableau (l'environnement, les options sur les colonnes et une première ligne par exemple), ça pourrait être utile si on a oublié par exemple car LaTeXila nous laisse un peu trop seul pour ça je pense (on peut bêtement avoir oublié aussi :P ). Après, ça pourrait être aussi intéressant de pouvoir compléter une première version du tableau ; un débutant pourrait plus rapidement comprendre comment ça fonctionne et éditer le tableau (ou la matrice ou un tableau avec des lignes verticales et horizontales ou autres encore) par la suite une fois les premières lignes remplies.

    Bien entendu, il peut y avoir un bouton pour ouvrir l'assistant et une entrée dans les menus pour avoir la version actuelle de la pré-complétion.

    En outre, si l'utilisateur veut modifier une option par la suite, la fenêtre de dialogue n'est plus là.

    Oui mais d'un autre côté, l'utilisateur peut voir ce qui a été ajouté. De là, il peut recommencer toute l'opération ou il peut aussi lire le code comme c'est le cas actuellement.
    Il est aussi possible d'ajouter des tooltips ou des indications à côté des différentes options de l'assistant pour donner un peu plus d'aide (par exemple, il peut y avoir une petite légende concernant les options de positionnement de l'environnement figure)

    Mais je comprends que pour un utilisateur expérimenté, ces wizards sont inutiles (mais peut-être que beaucoup d'autres choses sont inutiles pour lui aussi) mais il n'est pas obligé de l'utiliser. Et il pourrait être aussi content de les avoir en cas d'oubli :P
    Maintenant que SyncTex est implémenté, pour moi, il ne manque plus que ces très petits assistants pour aider les plus débutants d'entre nous. Mais ça reste mon avis ;)

    • [^] # Re: Assistant, même très basique, interdit?

      Posté par  . Évalué à 1.

      La complétion des balises n'est pas encore parfaite, il manque pas mal de choses, comme pour l'insertion d'une figure (l'environnement figure, includegraphics, etc.). Comme j'en avais parlé avec Simon, je préfère améliorer la complétion que de rajouter un wizard.

      Pour la création d'un tableau, la complétion peut être améliorée aussi, mais ça devient plus délicat pour l'intérieur du tableau : comment séparer les lignes et colonnes.

      À partir du menu LaTeX, on peut insérer une table ou un tableau, mais ce qui est inséré n'est pas très complet. Ce serait bien d'insérer à ce moment-là un exemple avec 2 lignes et 2 colonnes (vides). Et aussi rajouter un bouton dans la 2e barre d'outils, juste à côté de l'insertion d'une figure.

      • [^] # Re: Assistant, même très basique, interdit?

        Posté par  (site web personnel) . Évalué à 2.

        Ce serait bien d'insérer à ce moment-là un exemple avec 2 lignes et 2 colonnes (vides). Et aussi rajouter un bouton dans la 2e barre d'outils, juste à côté de l'insertion d'une figure.

        Oui, l'exemple pourrait éviter l'ajout d'un assistant.
        Par contre, même avec un exemple pour l'inclusion d'une image, je crois toujours que ce serait plus simple avec un sélecteur de fichier (et du coup, en profiter pour ajouter 2, 3 options) :)

        • [^] # Re: Assistant, même très basique, interdit?

          Posté par  . Évalué à 1.

          Pour le chemin du fichier à insérer, ce serait pratique, en effet. Il y a moyen aussi de compléter le chemin du fichier directement avec la complétion.

          Donc, en gros, quand on fait ctrl+espace là où on doit donner un chemin de fichier, on affiche les répertoires et fichiers relatifs, plus éventuellement une entrée en plus « Sélectionner un fichier… » pour ouvrir une fenêtre de dialogue.

          On pourrait imaginer une action pour directement ouvrir la boite de dialogue, et qui insérerait le chemin relatif du fichier sélectionné.

          Pour les \include ou \input, c'est pareil.

        • [^] # Re: Assistant, même très basique, interdit?

          Posté par  . Évalué à 2.

          Voilà c'est fait :

          • 12faf5c Insert table and tabular: more complete example
          • e6f02f9 Add "insert table environment" in the edit toolbar

          Dans la branche master, il y a maintenant 1000 commits !

          $ git log --oneline | wc -l
          1000

  • # Au travail !

    Posté par  (site web personnel) . Évalué à 6.

    Merci pour cette nouvelle version ! À mon tour de me mettre au travail pour l'empaqueter dans Debian, quoique ce ne soit pas une priorité pour le moment, les efforts étant concentrés dans la correction de la Debian Wheezy avant sa publication.

  • # Équivalent KDE?

    Posté par  . Évalué à 2. Dernière modification le 26 novembre 2012 à 00:21.

    Ça a l'air très bien effectivement: il y a t'il un équivalent (en dehors de Kile) chez kde (avec Latexmk)?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.