web-dev-qa-db-fra.com

Comment incorporer du code source ou du HTML dans des présentations Open Office Org sans utiliser de captures d'écran?

J'ai besoin d'écrire beaucoup de cours présentations à ma classe de programmation, et j'ai constamment besoin de montrer le code source (principalement [~ # ~] c [~ # ~] code).

enter image description here

Je ne trouve pas un moyen facile de:

  1. Copiez mon code source depuis mon éditeur (kate) et
  2. Collez-le formaté et avec la source en surbrillance dans une présentation Open Office (OOP ).

Ce que j'utilise pour faire est un instantané si le code est petit, ou pour arrêter la présentation et ouvrir Kate dans le datashow s'il est trop grand.

Dans cette autre question certains suggèrent d'incorporer [~ # ~] html [~ # ~] code. J'ai donc installé QSource-Highlight qui convertit facilement le code C en HTML ( aussi gnu source-highlight, code2html, etc.). Aucun d'entre eux ne peut convertir le code source en une version d'un [~ # ~] rtf [~ # ~] (format texte riche) mis en surbrillance, ce qui être une autre façon de procéder.

Avoir du HTML n'aide pas, car je ne trouve pas non plus de moyen facile d'insérer du HTML dans une présentation . Ce site montre une fenêtre très astucieuse solution . Il doit convertir le code c en HTML à l'aide d'un programme Windows spécifique qui a une option pour copier le HTML en RTF, après cela, vous devez dépasser le RTF dans Word ou Wordpad, et après cela, vous spécial passé RTF pour PowerPoint. Très bien, mais je suis utilisateur linux , et je pense qu'il pourrait y avoir une meilleure façon.

En outre, il existe une autre solution possible, en installant l'extension coooder dans openoffice. Je ne sais pas pourquoi, mais essayer d'installer cette extension dans mon système me donne une erreur. Synaptic me dit que openoffice.org-core et beaucoup d'autres devraient être marqués. Je clique sur Suivant, et il me dit qu'il veut supprimer tous les packages, et que Coooder a besoin de ces packages pour fonctionner, et donc il ne va pas être installé. Bien...

J'utilise linux UBUNTU 10.04 et Open Office 3.2

Merci! Beco.

PS: Cette question est débattue dans méta-so en tant que duplication possible de la question citée ci-dessus. Mais je crois comprendre que la question plus ancienne ne résout pas ce problème spécifique .

PPS.: A propos du bug coooder, j'ai lancé un rapport de bug ici


Modifier (2015-08-19)

Pour insérer un texte RTF dans la présentation LibreOffice, vous pouvez utiliser le menu insert, file et rtf (ou HTML ).

51
Dr Beco

Certaines personnes disent que la copie de code à partir de l'éditeur Eclipse fonctionne bien (MISE À JOUR: Prouvé [~ # ~] false [~ # ~] ). Une autre alternative consiste à exporter vers RTF (peut également exporter des numéros de ligne), ou vers le presse-papiers, à partir de Highlight puis à l'ouvrir/coller dans OpenOffice.org. (MISE À JOUR: Prouvé [~ # ~] vrai [~ # ~] )

Voici une capture d'écran de Highlight GUI: Highlight GUI (KDE)

Vous pouvez également basculer d'OpenOffice.org vers LibreOffice , et obtenir COOoder depuis ici .

33
Francisco Alvarado

Cette réponse est parfaite pour le travail:

29
Daniel Reis

Mise à jour: J'ai publié cette macro en tant qu'extension LibreOffice. Vous pouvez l'installer depuis le site officiel: Code Highlighter


J'ai eu le même problème mais pour Java et finalement j'ai trouvé une solution native en utilisant Python qui est testée dans LibreOffice 5.

Installation

Étape 1: Installez libreoffice-script-provider-python:

Sudo apt-get install libreoffice-script-provider-python

Étape 2: Installez les pygments pour Python 3:

Sudo pip3 install python3-pygments

Étape 3: Télécharger Highlight.py

Étape 4: Copiez le Highlight.py dans /usr/lib/libreoffice/share/Scripts/python /

Sudo cp Highlight.py /usr/lib/libreoffice/share/Scripts/python/

Étape 5: Définissez l'autorisation de lecture seule sur le script.

Sudo chmod 0444 /usr/lib/libreoffice/share/Scripts/python/Highlight.py

Étape 6: Ouvrez LibreOffice Writer et passez à Outils -> Personnaliser -> Clavier

  • Sélectionnez le bouton d'option LibreOffice (disponible dans le coin supérieur gauche)
  • Sélectionnez le raccourci souhaité
  • Sélectionnez share/Highlight/Highlight_source_code sous la catégorie Fonctions
  • Cliquez sur le bouton Modifier pour définir le raccourci

Usage

LibreOffice Impress

  • Ouvrez LibreOffice Impress.
  • Insérez une zone de texte (Insérer -> Zone de texte).
  • Copiez et collez n'importe quel extrait de code dans cette zone de texte.
  • Créer un nouveau style (clic droit sur un style existant -> Nouveau ...)
  • Nommez le style comme code-<language>
  • Appliquez le style à votre zone de texte d'extrait de code.
  • Sélectionnez la zone de texte.
  • Utilisez vos touches de raccourci pour exécuter la macro.

LibreOffice Writer/Calc

  • Ouvrez LibreOffice Writer/Calc.
  • Insérez une zone de texte (Insérer -> Zone de texte).
  • Copiez et collez n'importe quel extrait de code dans cette zone de texte.
  • Faites un clic droit sur la zone de texte et sélectionnez "Description".
  • Ajoutez une description au format suivant: code-<language>
  • Sélectionnez la zone de texte
  • Utilisez vos touches de raccourci pour exécuter la macro.

MISE À JOUR:

J'ai ajouté un support de style personnalisé à cette extension. Utilisation code-<language> pour le style par défaut et code-<language>-<style> pour un style personnalisé. Les styles disponibles sont répertoriés dans ma page Git Hub.

Par exemple Code-Java-Emacs colorisera le code Java en utilisant le style Emacs.

Pour plus de détails, visitez le lien Git Hub: libreoffice-code-highlighter

4
Gobinath

Vous pouvez le faire facilement

  • copiez le texte de votre éditeur préféré
  • allez impressionner, créez un nouveau champ de texte
  • appuyez sur CTRL + MAJ + V (ou Édition → Coller le contenu )
  • puis choisissez Rich Text Format (RTF).

J'ai testé cela avec LibreOffice 4.2.8 sous Ubuntu.

4
Sandro L

J'ai exactement le même problème, mais avec PHP code plutôt que C. Ma quasi-solution est de copier le code HTML dans Kate et de le coller dans un document Open Office Writer temporaire. Cela convertit au format de texte stylé d'Open Office, et à partir de là, vous pouvez le copier et le coller dans Impress. Mis à part le copier-coller légèrement ennuyeux en deux étapes, cela fonctionne généralement très bien sauf les lignes qui étaient entièrement en gras perdent leur enhardissement et je dois les corriger manuellement. Quelques autres bogues étranges peuvent également se produire - l'importation de texte stylisé d'Impress à partir d'OOWriter semble être un peu boguée.

4
trampgeek

Si vous êtes familier avec LaTeX, vous devriez envisager d'utiliser beamer pour créer votre présentation. La page wikipedia contient des pointeurs vers de nombreux tutoriels et documents. Le guide de l'utilisateur est probablement le meilleur que j'ai trouvé.

Cela peut vous donner toute la puissance de LaTeX pour les extraits de code source (package de listes ou tout autre que vous préférez) ainsi que le reste des fonctionnalités habituelles de LaTeX auxquelles vous êtes habitué. Il est livré avec une vingtaine de thèmes vraiment sympas.

2
Noufal Ibrahim

Vous pouvez facilement utiliser un tableau avec 1 ligne et 1 colonne, copier et coller votre code depuis votre IDE préféré, Open Office préservera votre style de code.

1

Le collage d'Eclipse dans OpenOffice Impress semble directement perdre la coloration. Cependant, coller d'abord dans OO Writer et à partir de là dans OO Impress fonctionne).

1
andreas.abel

Je le fais tout le temps avec Open Office avec le code source sous Windows. Affichez le code dans votre éditeur préféré (emacs, bloc-notes, ...) et sélectionnez/copiez le texte qui vous intéresse. Créez une zone de texte dans Open Office et collez. Cela fonctionne car tous les outils Windows partagent un tampon de coupure global. Je n'utilise pas suffisamment Linux pour savoir s'il a un tel tampon de coupure partagé, sinon, je comprends en quelque sorte votre problème (si c'est le cas, je ne comprends vraiment pas votre problème). Bien sûr, ma solution n'obtient pas en elle-même un code bien formaté/mis en évidence.

Étapes spécifiques: dans Open Office Impress ("Présentation") avec une diapositive ouverte, cliquez sur la case intitulée "T" dans la barre d'outils inférieure (ou appuyez sur F2). Cliquez ensuite sur la diapositive à peu près à l'endroit où vous souhaitez placer le texte, puis faites-la glisser pour créer la zone de la bonne taille. Cliquez dans la case et vous pouvez saisir du texte. Pour le code, je coupe dans une fenêtre de l'éditeur et je le colle après avoir sélectionné la zone de texte. Si vous cliquez sur le contour de la zone de texte, vous pouvez modifier la police (nouveau courrier est bon pour le code) et la taille d'impression.

Une fois le texte correctement dimensionné, vous pouvez revoir des sous-chaînes spécifiques et sélectionner/gras ou sélectionner/couleur si vous voulez du texte de fantaisie.

Vous pourriez envisager de couper et coller à partir de la sortie JavaDoc ou Doxygen; vous obtiendrez probablement les données de mise en forme avec le texte.

0
Ira Baxter