Forum général.cherche-logiciel Copier/coller avec coloration syntaxique dans LO Impress

Posté par (page perso) . Licence CC by-sa
2
28
fév.
2017

Salut,

je prépare une présentation sous LibreOffice Impress, dans laquelle, je mets quelque bout de code (PHP).

J'aimerai avoir une coloration syntaxique. Quel moyen (simple et rapide) d'obtenir cela ?

Le seul moyen que j'ai trouvé est d'utiliser markup.su (ça ne fonctionne pas avec framabin) et de copier/coller le résultat dans LO Writer puis dans Impress (direct dans Impress, cela ne fonctionne pas).

Est-ce que quelqu'un a une autre solution, plus rapide et si possible sans passer par un service (markup.su) dont je ne sais pas ce qu'il va faire des bouts code (copiés) ?

Merci d'avance.

  • # Directement dans LO

    Posté par (page perso) . Évalué à 4.

    Tu peux dans LibreOffice Writer faire la coloration syntaxique, et simplement ensuite faire un copier/coller vers LibreOffice Impress, les styles viennent avec le texte.

    Pour la coloration j'utilise Code Colorizer Formatter (extension MacroFormaterADP), mais l'opération doit être valable avec d'autres outils.

    Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

    • [^] # Re: Directement dans LO

      Posté par (page perso) . Évalué à 1.

      Je vais tester ça : ça m'a l'air d'être ce qu'il me faut !

      • [^] # Re: Directement dans LO

        Posté par (page perso) . Évalué à 2.

        Mouais, c'était une bonne idée mais la coloration syntaxique n'est pas terrible pour PHP : les chaines et le code HTML sont dans la même couleur. Le littéral 1 dans du code HTML est changé de couleur.

        Bref, markup.su propose un bien meilleur résultat.

        • [^] # Re: Directement dans LO

          Posté par (page perso) . Évalué à 2.

          Le module d'extension se base sur des styles de caractères, que tu peux modifier. Pour les chaînes par exemple il y a une classe _PHPLiteral. Il te suffit de te définir un document avec les styles que tu veux une bonne fois pour toutes et ensuite l'utiliser comme base pour les copier/coller.

          Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

          • [^] # Re: Directement dans LO

            Posté par (page perso) . Évalué à 2.

            Et… le littéral 1 dans du HTML… ce n'est pas du PHP, a priori normal que le parseur le traite mal.
            Pour éviter qu'il n'essaie de (mal) comprendre le HTML, tu peux ne sélectionner que le code PHP lorsque tu fait faire la coloration syntaxique PHP par l'extension, puis sélectionner le code purement HTML et demander la coloration XML (l'extension définit aussi des classes de caractères _XML… pour ça).

            Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

        • [^] # Re: Directement dans LO

          Posté par (page perso) . Évalué à 1.

          J'ai aussi essayé coooder, mais le résultat n'est pas top non plus quand on a du HTML et du PHP (ce qui est souvent le cas avec PHP).

          Bref, pour le moment, en rendu je n'ai trouvé mieux que markup.su ! :(

  • # vim

    Posté par (page perso) . Évalué à 4.

    vim peut convertir le contenu d'un fichier en code HTML préservant la coloration syntaxique. C'est la commande :TOhtml. Ensuite tu peux ouvrir le résultat comme un fichier HTML (dans un navigateur web ou directement dans LO?) et copier le résultat dans ton document.

    Dans le même esprit il y a Pyygmentize en python: http://pygments.org/docs/cmdline/

    • [^] # Re: vim

      Posté par (page perso) . Évalué à 2.

      J'ai pas trop envie de passer par des fichiers c'est encore plus long !
      Mais je garde quand même ces 2 solutions à l'esprit.

      • [^] # Re: vim

        Posté par . Évalué à 1.

        Ah flûte. Du coup, ma suggestion n'est pas bonne non plus…
        J'utilise très fréquemment l'éditeur SciTE qui permet la coloration syntaxique.
        Du coup, quand j'ai le même type de besoin que toi, j'utilise l'export en RTF avant de faire le copier / coller.

        De mémoire, quand j'utilisais encore Windows (c'était sa version XP la dernière fois), il me semble que SciTE proposait un « copier en RTF », encore plus pratique…

        Mais si tu es en Linux ou que ma mémoire au sujet de la version XP me fait défaut, cela ne te conviendra pas à cause du fichier RTF intermédiaire :-(

        Je note au passage qu'une difficulté supplémentaire concerne l'aspect de la coloration obtenue (les goûts et les couleurs, toussa…). Du coup, la solution qui te conviendra viendra peut-être d'un outil paramétrable ou permettant de choisir un style de coloration dans un « catalogue »…

    • [^] # Re: vim

      Posté par (page perso) . Évalué à 2.

      vim peut convertir le contenu d'un fichier en code HTML préservant la coloration syntaxique. C'est la commande :TOhtml

      eh mais c'est jeÿgnial ce truc o_O Comment cela se fait-il que ce n'est pas dans le man de vim (un /TO ne renvoie rien :/). Comment es-tu tombé dessus ?

      J'ai bien trouvé http://vim.wikia.com/wiki/Pasting_code_with_syntax_coloring_in_emails mais bon… je connais le principe de l'auto-découverte dans vi(m), mais bon la page de man ce serait bien aussi :-)

      Au passage, j'ai aussi trouvé http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches

      Bref, ça donne pleins d'arguments supplémentaires pour les trolls emacs / vim (le jour où emacs aura un éditeur de texte utilisable à moins de 4 doigts).

      • [^] # Re: vim

        Posté par (page perso) . Évalué à 2.

        Je ne sais plus comment je l'ai découvert, probablement en listant :help syntax dans vim?

        Pour emacs, tu peux utiliser ça pour libérer quelques doigts. Mais ça ne donne pas de bon points à emacs pour autant: ça marche aussi avec vim!

Suivre le flux des commentaires

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