web-dev-qa-db-fra.com

Quel est le meilleur moyen d'insérer des exemples de code source dans un document Microsoft Word?

Je dois écrire des documents qui incluront des exemples de code source. Certains exemples seront écrits à partir de l'IDE, d'autres seront écrits sur place. Mes exemples sont principalement en Java.

En tant que personne habituée à LaTeX, cela est extrêmement pénible dans Word. Cependant, je suis lié à Word pour cela. Les seules options que j'ai vues sont:

  1. Écrivez ou copiez dans le document, puis utilisez une police de type fixe, organisez la mise en forme et espérez que Word ne met pas de substance majuscule à votre place. Inutile de dire que cela ressemble à de la merde.
  2. Copiez et collez des captures d'écran du code source de l'EDI. Au moins je garde les couleurs. Cependant, si je change la taille de ma police, je suis foutu. Je suis également vissé à travers les limites de la page. Et admettons-le, Word n’est pas très doué pour gérer plusieurs images sur un document.
  3. Ecrire HTML (pas vraiment une option ici)

Y a-t-il une meilleure façon (et idéalement portable) de le faire? Existe-t-il au moins une sorte de style textuel similaire à l'environnement LaTeX? Existe-t-il au moins une jolie imprimante que je pourrais copier-coller en tant que RTF?

119
Uri

Je déteste et méprise absolument le fait de travailler gratuitement pour Microsoft, étant donné que malgré tous ces milliards de dollars, ils NE FONT PAS encore de ne pas avoir de guides appropriés sur ce genre de choses avec des captures d'écran sur leur fichu site Web.

Quoi qu'il en soit, voici un guide rapide dans Word 2010, utilisant Notepad ++ pour la coloration de la syntaxe, et une zone de texte pouvant être légendée:

  1. Choisissez Insertion/Zone de texte/Zone de texte simple
    01Word
  2. Une zone de texte par défaut est insérée
    02Word
  3. Basculez vers NPP, choisissez la langue de coloration de la syntaxe de votre code, allez à Plugins/NPPExport/Copier RTF dans le Presse-papiers
    03npp
  4. Revenez dans Word et collez-le dans la zone de texte - il est peut-être trop petit ...
    04Word
  5. ... donc vous devrez peut-être changer sa taille
    05Word
  6. Après avoir sélectionné la zone de texte, faites un clic droit dessus, puis choisissez Insérer une légende ...
    06Word
  7. Dans le menu Légende, si vous n'en avez pas déjà, cliquez sur Nouvelle étiquette et définissez la nouvelle étiquette sur "Code", cliquez sur OK ...
    07Word
  8. ... puis dans la boîte de dialogue Légende, passez l'étiquette en code, puis cliquez sur OK
    08Word
  9. Enfin, tapez votre légende dans la zone de légende nouvellement créée
    09Word
173
sdaau

Vous devez définir un style dans votre document Word et l'utiliser pour le code source. J'ai généralement un style appelé "Code" qui a une police monospace dans une petite taille de point, des onglets de taille fixe, un interligne simple, aucun espacement avant/après le paragraphe, etc. Il suffit de définir ce style une fois, puis de le réutiliser. Vous collez votre code source et lui appliquez le style "Code".

Notez que certains éditeurs (par exemple, Xcode sur Mac) ajoutent RTF ainsi que du texte dans le presse-papiers lors du copier/coller entre applications - Word reconnaît RTF et conserve utilement le formatage, la coloration syntaxique , etc.

Code source dans Xcode:

enter image description here

Copié et collé dans Word:

enter image description here

(Remarque: il est judicieux de désactiver la vérification orthographique dans votre style "Code" dans Word.)

22
Paul R

Je suis récemment tombé sur ce post et j'ai trouvé des astuces utiles. Cependant, j'ai fini par utiliser une approche totalement différente qui répondait à mes besoins. Je partage l'approche et mon raisonnement expliquant pourquoi j'ai choisi cette approche. La publication est plus longue que ce que j'aurais souhaité, mais je crois que les captures d'écran sont toujours utiles. Espérons que la réponse serait utile à quelqu'un.

Mes exigences étaient les suivantes:

  1. Ajoutez des extraits de code à un document Word, en mettant en surbrillance la syntaxe pour faciliter la visibilité et la différenciation du code et du texte.
  2. L'extrait de code doit être aligné avec un autre texte.
  3. L'extrait de code doit traverser les pages en douceur, sans effort supplémentaire.
  4. L'extrait de code doit avoir une bordure de Nice.
  5. La vérification orthographique de l'extrait de code doit être désactivée.

Mon approche est comme indiqué ci-dessous:

  1. Utilisez un outil externe pour réaliser la mise en évidence de la syntaxe requise 1 ci-dessus On pourrait utiliser le bloc-notes plus plus comme décrit ci-dessus. Cependant, j'utilise l'outil présent ici - http://www.planetb.ca/syntax-highlight-Word . Cela me donne la possibilité d'utiliser le numéro de ligne, ainsi que la coloration syntaxique très agréable. Les étapes pour obtenir la coloration syntaxique sont répertoriées ci-dessous:
    • Ouvrez le site Web fourni ci-dessus dans chrome et copiez le code dans la zone de texte. Je vais utiliser un exemple de code XML pour le démontrer (exemple de code XML à partir d’ici - http://www.service-architecture.com/articles/object-oriented-databases/xml_file_for_complex_data.html ).
    • Sélectionnez la langue dans le menu déroulant.
    • Cliquez sur le bouton "Afficher en surbrillance". Il ouvrira un nouvel onglet, avec un extrait de code mis en surbrillance par la syntaxe, dans ce cas-ci l'exemple XML que nous avons choisi. Voir l'image ci-dessous par exemple. Image shows a sample xml being pasted in the textarea, language selected as XML and the button.
    • Pour désactiver les numéros de ligne, examinez la page en chrome. Ensuite, sous styles, désélectionnez la propriété "margin" dans ".dp-highlighter ol", comme indiqué dans l'image ci-dessous. Si vous souhaitez conserver les numéros de ligne, passez à l'étape suivante.
    • Sélectionnez le code mis en évidence par la syntaxe et cliquez sur copier. Votre code est maintenant prêt à être collé dans Microsoft Word. Result of syntax-highlighted XML Merci à ce blog pour avoir fourni cette information - http://idratherbewriting.com/2013/04/04/adding-syntax-highlighting-to-code-examples-online-and-in-Microsoft- Word / .
  2. Pour répondre aux exigences 2, 3 et 4 ci-dessus, utilisez la table dans Microsoft Word pour insérer l'extrait de code. Les étapes sont énumérées ci-dessous:

    • Insérer un tableau avec une seule colonne.
    • Collez le texte copié à l'étape 1. dans la colonne du tableau. J'ai gardé les numéros de ligne pour montrer à quel point cela fonctionne avec Microsoft Word.
    • Appliquez la bordure comme bon vous semble. J'ai utilisé la taille 1 pt. Le fragment de code Microsoft Word résultant apparaîtra comme indiqué dans la capture d'écran ci-dessous. Notez à quel point cela traverse facilement la page - AUCUN effort supplémentaire pour gérer cela, auquel vous auriez à faire face si vous insérez un objet "OpenDocument Text" ou si vous utilisez "Simple TextBox". Syntax-highlighted code snippet pasted in Microsoft Word Table
  3. Pour satisfaire à l'exigence 5, suivez les étapes ci-dessous:

    • Sélectionnez la table entière ou le texte.
    • Aller à l'onglet Review. Sous Langue, choisissez "Langue de vérification". Un nouveau pop-up sera présenté.
    • Sélectionnez "Ne pas vérifier l'orthographe ou la grammaire". Ensuite, cliquez sur OK. Disable spell-check
    • La vérification orthographique du texte résultant est désactivée. Le résultat final est présenté dans l'image ci-dessous et répond à toutes les exigences. Final Result - meets all the 5 requirements.

Indiquez si vous avez des commentaires, des améliorations ou rencontrez des problèmes avec l'approche.

18
abhishek

Cela dépend en quelque sorte de l'IDE. Visual Studio et Eclipse , par exemple, vous permettront de copier en tant que RTF et de le coller dans Word, en conservant toute votre mise en forme.

Notepad ++ a un plugin appelé "NppExport" (pré-installé) qui vous permet de copier au format RTF, même si je me moque bien de la coloration syntaxique de Notepad ++ (elle serait définitivement passable). Ce que cela fait est de supporter des dizaines de langues, alors que les IDE susmentionnés sont limités à une poignée (sans autre plug-in).

11
Cᴏʀʏ

Ceci est lié à la réponse suivante: https://stackoverflow.com/a/2653406/931265 La création d'un objet a résolu tous mes problèmes.

Insertion> Objet> Texte de document ouvert

Cela va ouvrir une fenêtre de document, coller votre texte, le formater comme vous le souhaitez et le fermer.

Le résultat est une figure. Cliquez avec le bouton droit de la souris sur l'objet et sélectionnez "ajouter une légende".

Vous pouvez maintenant faire des références croisées, créer un tableau de chiffres.

3
rickfoosusa

Sur un Mac, je trouve cette solution avec vim merveilleuse:

https://github.com/zerowidth/vim-copy-as-rtf

2
qed

C'est ce que j'ai fait.

Résultats finaux: enter image description here

https://stackoverflow.com/a/25092977/1161594

1
USer22999299

J'ai essayé toutes vos méthodes, mais elles n'ont pas fonctionné pour moi. En fait, j'ai créé une méthode plus simple en utilisant les tableaux MS Word .

Avantages:

  1. Plus beau
  2. Plus facile à gérer et plus cohérent
  3. Sont moins sujets aux problèmes
  4. Pas besoin de plugins externes ou de micro-codage MS Word.
  5. Plus facile à manipuler par de simples utilisateurs (comme moi-même).

Inconvénients: Il ne conservera pas la coloration du code bien que quelqu'un puisse améliorer mon astuce.

Étapes:

  1. Insérez un tableau 3x3, dans mon cas, je fais toujours en sorte que la largeur totale du tableau soit égale à la largeur de la page libre (lignes minimum pour tester le style des tableaux).

  2. Utilisez des bordures invisibles ("Pas de bordures" option) et activez " Voir le quadrillage "option. il devrait avoir cet aspect. Veillez à ce que ces lignes vous permettent de voir la grille de la table et ne seront pas imprimées.

enter image description here

  1. Ajustez l'espacement des cellules et la largeur des colonnes pour obtenir l'aspect de votre choix. (Vous devrez entrer dans " Propriétés du tableau " pour un réglage précis). enter image description here

  2. Créez un " style de paragraphe " portant le nom " code " uniquement pour vos extraits de code (check https://stackoverflow.com/a/25092977/8533804 pour avoir l'idée, vous n'avez pas à la suivre à la lettre)

  3. Créez un autre style de paragraphe ( "portant le nom" Code_numberline "qui sera basé sur le style créé précédemment. enter image description here

  4. Dans le " Code_numberline " récemment créé, ajoutez le style de numérotation souhaité (cela automatisera la numérotation des lignes). enter image description here

  5. Appliquez " Code_numberline " à la première colonne et " Code " à la 3 colonne. enter image description here

  6. Ajouter un remplissage dans la colonne du milieu. enter image description here

  7. Enregistrez ce style de table et profitez-en!

1
Nader Belal

Vous pouvez utiliser le plugin Afficher la syntaxe dans Ms.Word https://store.office.com/syntax-highlighter-WA104315019.aspx?) assetid = WA104315019 . je suis cette étape et ça marche

1
ynz

Dans Word, il est possible de coller du code utilisant la couleur pour différencier les commentaires du code à l'aide de "Coller conserver le formatage source". Toutefois, si vous utilisez le code collé pour créer un nouveau style, Word supprime automatiquement le texte codé par couleur et le change en noir (ou quelle que soit la couleur par défaut automatique). L'application d'un style étant le meilleur moyen de garantir la conformité aux exigences de format de document, Word n'est pas très utile pour documenter des programmes logiciels. Malheureusement, je ne me souviens pas que Open Office soit meilleur. La meilleure solution consiste à utiliser la zone de texte simple par défaut.

1
user10128757

Vous pouvez utiliser Open Xml Sdk pour cela. Si vous avez le code en HTML avec la couleur et le formatage. Vous pouvez utiliser altchunks pour l'ajouter aux documents Word. Reportez-vous à ce message Ajouter une chaîne HTML à un document OpenXML (* .docx) J'espère que cela vous aidera!

1
Mohamed Alikhan

Si vous recherchez toujours un moyen simple d’ajouter des extraits de code.

vous pouvez facilement aller à [Insérer]> [Objet]> [Texte de document ouvert]> coller votre code> Enregistrer et fermer.

Vous pouvez également mettre cela dans une macro et l'ajouter à votre barre d'accès facile.

remarques:

  • Cela ne prendra que jusqu'à ne page de code.
  • Votre code pas sera corrigé automatiquement.
  • Vous pouvez seulement interagir avec elle en double-cliquant le.
0
Meatyflesh