Wat is de beste manier om broncodevoorbeelden in een Microsoft Word-document in te voegen?

Ik moet enkele documenten schrijven die voorbeelden van broncode bevatten. Sommige voorbeelden zullen vanuit de IDE worden geschreven en andere worden ter plekke geschreven. Mijn voorbeelden zijn voornamelijk in Java.

Als iemand die LaTeX gewend is, is het buitengewoon pijnlijk om dit in Word te doen. Hiervoor ben ik echter gebonden aan Word. De enige opties die ik heb gezien zijn:

  1. Schrijf of kopieer in het document,
    gebruik dan een vast lettertype, arrangeren
    formatteren en hopen dat Word dat niet deed
    hoofdletters voor jou. Onnodig
    zeg, dit ziet er niet uit.
  2. Kopieer en plak screenshots van de bron
    code van de IDE. Ik blijf tenminste
    kleuren. Als ik echter mijn lettertype verander
    maat, ik ben genaaid. ik ben ook genaaid
    over paginagrenzen heen. En laten we
    geef toe, Word is niet zo goed in
    meerdere afbeeldingen beheren op a
    document.
  3. HTML schrijven (niet echt een optie
    hier)

Is er een betere (en idealiter draagbare) manier om dit te doen? Is er op zijn minst een soort van letterlijke stijl die lijkt op de LaTeX-omgeving? Is er op zijn minst een mooie printer die ik als RTF kan kopiëren en plakken?


Antwoord 1, autoriteit 100%

Ik heb absoluut een hekel en veracht het om gratis voor Microsoft te werken, gezien het feit dat ze na al die miljarden dollars NOG STEEDS geen goede handleidingen hebben over dit soort dingen met screenshots op hun verdomde website.

Hoe dan ook, hier is een korte handleiding in Word 2010, met Notepad++ voor syntaxiskleuring en een tekstvak dat kan worden bijschrift:

  1. Kies Invoegen / Tekstvak / Eenvoudig tekstvak
    01word
  2. Er wordt een standaardtekstvak ingevoegd
    02word
  3. Schakel over naar NPP, kies de taal voor syntaxiskleuring van uw code, ga naar Plugins / NPPExport / Copy RTF naar klembord
    03npp
  4. Schakel terug naar woord en plak in het tekstvak – het kan te klein zijn …
    04word
  5. … dus het kan zijn dat u de grootte moet wijzigen
    05word
  6. Nadat u het tekstvak heeft geselecteerd, klikt u er met de rechtermuisknop op en kiest u Bijschrift invoegen …
    06word
  7. Als je er nog geen hebt, klik je in het bijschriftmenu op Nieuw label en stel je het nieuwe label in op ‘Code’, klik je op OK …
    07word
  8. … zet vervolgens in het dialoogvenster Ondertiteling het label op Code en druk op OK
    08word
  9. Typ ten slotte uw bijschrift in het nieuw gemaakte bijschriftvak
    09word

Antwoord 2, autoriteit 16%

Ik kwam onlangs dit bericht tegen en vond enkele nuttige tips. Uiteindelijk heb ik echter een heel andere benadering gebruikt die bij mijn behoeften paste. Ik deel de aanpak en mijn redenering waarom ik voor deze aanpak heb gekozen. Het bericht is langer dan ik had gewild, maar ik geloof dat screenshots altijd nuttig zijn. Hopelijk is het antwoord nuttig voor iemand.

Mijn vereisten waren de volgende:

  1. Voeg codefragmenten toe aan een Word-document, met syntaxisaccentuering voor een betere zichtbaarheid en differentiatie van code en andere tekst.
  2. Codefragment moet inline zijn met andere tekst.
  3. Codefragment zal soepel over pagina’s breken zonder enige extra inspanning.
  4. Codefragment moet een mooie rand hebben.
  5. Bij codefragment moet de spellingcontrole zijn uitgeschakeld.

Mijn aanpak is als volgt:

  1. Gebruik een externe tool om syntaxisaccentueringsvereiste 1 hierboven te bereiken.
    Men zou kladblok plus plus kunnen gebruiken zoals hierboven beschreven. Ik gebruik echter de tool die hier aanwezig is – http://www.planetb.ca/syntax-highlight- woord. Dit geeft me de mogelijkheid om regelnummers te gebruiken, evenals zeer mooie syntaxisaccentuering (gebruik Google Chrome voor deze stap, omdat syntaxismarkering niet wordt gekopieerd bij het gebruik van Mozilla Firefox, zoals ook werd opgemerkt door een paar gebruikersopmerkingen). De stappen om syntaxisaccentuering te bereiken worden hieronder vermeld:

    • Open de bovenstaande website in chrome en kopieer het codefragment in het tekstgebied. Ik zal een voorbeeld-XML gebruiken om dit aan te tonen (XML-voorbeeld van hier – http://www.service-architecture.com/articles/object-oriented-databases/xml_file_for_complex_data.html).
    • Selecteer de taal in het vervolgkeuzemenu.
    • Klik op de knop “Gemarkeerd weergeven”. Er wordt een nieuw tabblad geopend, met syntaxis-gemarkeerd codefragment, in dit geval het XML-voorbeeld dat we hebben gekozen. Zie bijvoorbeeld onderstaande afbeelding.
      Afbeelding toont een voorbeeld-XML die in het tekstgebied wordt geplakt, de taal is geselecteerd als XML en de knop.
    • Inspecteer de pagina in Chrome om de regelnummers uit te schakelen. Deselecteer vervolgens onder stijlen de eigenschap “marge” in “.dp-highlighter ol”, zoals weergegeven in de onderstaande afbeelding. Als u de regelnummers wilt behouden, gaat u naar de volgende stap.
    • Selecteer de syntaxis-gemarkeerde code en klik op kopiëren. Nu is uw code klaar om in Microsoft Word te worden geplakt.
      Resultaat van syntaxis-gemarkeerde XML
      Dank aan deze blog voor het verstrekken van deze informatie – http://idratherbewriting.com/2013/04/04/adding-syntax-highlighting-to-code-examples-online-and-in-microsoft-word/.
  2. Om aan bovenstaande vereisten 2, 3 en 4 te voldoen, gebruikt u de tabel in Microsoft Word om het codefragment in te voegen. De stappen worden hieronder vermeld:

    • Voeg een tabel in met een enkele kolom.
    • Plak de gekopieerde tekst uit stap 1. in de tabelkolom. Ik heb de regelnummers behouden om te laten zien hoe goed dit werkt met Microsoft Word.
    • Breng de rand aan, zoals je wilt. Ik heb maat 1pt gebruikt. Het resulterende Microsoft-woordfragment verschijnt zoals weergegeven in onderstaande schermafbeelding. Merk op hoe mooi het over de pagina wordt verdeeld – er is GEEN extra inspanning nodig om dit te beheren, wat u zou tegenkomen als u het object “OpenDocument Text” invoegt of als u “Simple TextBox” gebruikt.
      Syntax-gemarkeerd codefragment geplakt in Microsoft Word Table
  3. Volg de onderstaande stappen om aan eis 5 te voldoen:

    • Selecteer de hele tabel of de tekst.
    • Ga naar het tabblad Review. Kies onder Taal de optie “Proofingtaal”. Er wordt een nieuwe pop-up weergegeven.
    • Selecteer “Spelling of grammatica niet controleren”. Klik vervolgens op OK.
      Spellingcontrole uitschakelen
    • Resulterende tekst heeft spellingcontrole uitgeschakeld. Het eindresultaat is weergegeven in onderstaande afbeelding en voldoet aan alle eisen.
      Eindresultaat - voldoet aan alle 5 vereisten.

Geef a.u.b. aan of u feedback of verbeteringen heeft of problemen ondervindt met de aanpak.


Antwoord 3, autoriteit 11%

Je moet een stijldefiniëren in je Word-document en dat gebruiken voor de broncode. Ik heb meestal een stijl genaamd “Code”, die een monospaced lettertype heeft met een kleine puntgrootte, tabs met een vaste grootte, enkele regelafstand, geen spatiëring voor/na alinea’s, enz. Je hoeft deze stijl maar één keer te definiëren en vervolgens opnieuw te gebruiken. Je plakt je broncode in en past er de stijl “Code” op toe.

Houd er rekening mee dat sommige editors (bijv. Xcode op de Mac) RTF en tekst aan het klembord toevoegen bij het kopiëren/plakken tussen applicaties – Word herkent RTF en behoudt handig de opmaak, syntaxiskleuring, enz.

Broncode in Xcode:

voer hier de afbeeldingsbeschrijving in

Gekopieerd en geplakt in Word:

voer hier de afbeeldingsbeschrijving in

(Opmerking: het is een goed idee om de spellingcontrole uit te schakelen in uw “Code”-stijl in Word.)


Antwoord 4, autoriteit 5%

Het hangt een beetje af van de IDE. Zowel Visual Studio als Eclipselaten u bijvoorbeeld toe om kopieer als RTF en plak in Word, waarbij je al je opmaak behoudt.

Notepad++heeft een plug-in genaamd “NppExport” (voorgeïnstalleerd) waarmee u kunt kopiëren naar RTF, hoewel ik niet veel geef om de syntaxis van Notepad ++ (het zou echter zeker acceptabel zijn). Wat het wel doet, is tientallen talen ondersteunen, terwijl de bovengenoemde IDE’s beperkt zijn tot een handvol elk (zonder andere plug-ins).


Antwoord 5, autoriteit 3%

Gebruik dit – http://hilite.me/

hilite.me converteert uw codefragmenten naar een mooi gedrukt HTML-formaat, dat gemakkelijk kan worden ingesloten in blogposts, e-mails en websites.

Hoe:
Kopieer de broncode naar het linkerdeelvenster, selecteer de taal en het kleurenschema en klik op “Markeren!”. De HTML uit het rechterdeelvenster kan nu in uw blog of e-mail worden geplakt, er zijn geen externe CSS- of Javascript-bestanden vereist.

Voor Microsoft Word-document:kopieer de inhoud uit het gedeelte Voorbeelden plak deze in uw Microsoft Word-document.

3 secties: broncode, HTML en voorbeeld


Antwoord 6, autoriteit 2%

Deze antwoorden zien er verouderd en nogal vervelend uit in vergelijking met de web-add-in-oplossing; die beschikbaar is voor producten sinds Office 2013.

Ik gebruik Easy Code Formatter , waarmee u de tekst ter plekke kunt coderen. Het geeft je ook opties voor regelnummering, markering, verschillende stijlen en de stijlen zijn hier open source: https://github.com/armhil/easy-code-formatter-styleszodat je de styling zelf kunt uitbreiden. Om te installeren: open Microsoft Word, ga naar Tabblad invoegen / klik op “Invoegtoepassingen ophalen” en zoek naar “Easy Code Formatter”

voer hier de afbeeldingsbeschrijving in
voer hier de afbeeldingsbeschrijving in
voer hier de afbeeldingsbeschrijving in


Antwoord 7

Dit is gerelateerd aan dit antwoord: https://stackoverflow.com/a/2653406/931265
Het maken van een object loste al mijn problemen op.

Voeg > in Voorwerp > Opendocument Tekst

Hiermee opent u een documentvenster, plakt u uw tekst, maakt het op zoals u wilt en sluit het.

Het resultaat is een figuur. Klik met de rechtermuisknop op het object en selecteer ‘Een bijschrift toevoegen’.

U kunt nu kruisverwijzingen maken, een tabel met figuren maken.


8

U kunt hiervoor open XML SDK gebruiken. Als u de code in HTML hebt met kleur en opmaak. U kunt altchunks gebruiken om het toe te voegen aan de Word-documenten.
Verwijs dit bericht HTML-string toevoegen aan OpenXML (* .docx) Document
Ik hoop dat dit helpt!


9

Dit is wat ik deed.

Eindresultaten:
Voer beeld beschrijving hier in

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


10

In Word is het mogelijk om code te plakken die gebruik maakt van kleur om opmerkingen uit de code te differentiëren met behulp van “Pasta Houd Source Forming”. Als u de geplakte code echter gebruikt om een ​​nieuwe stijl te maken, stript Word automatisch de kleurgecodeerde tekst en wijzigt ze ze om zwart te zijn (of wat de automatische standaardkleur is). Sinds het aanbrengen van een stijl is de beste manier om te zorgen voor naleving van de vereisten voor het documentformaat, is Word niet erg handig voor het documenteren van softwareprogramma’s. Helaas herinneren ik me geen open kantoor.
De beste work-around is om het standaard eenvoudige tekstvak te gebruiken.


Antwoord 11

Dus ik heb gemerkt dat de meeste antwoorden op deze vraag ofwel slechts semi-functioneel zijn of helemaal niet werken (de gebruikte website is bijvoorbeeld niet beschikbaar). Deze oplossing staat volledig op zichzelf in Word, werkt over meerdere pagina’s en houdt uw syntaxis benadrukt.

Dit zijn de stappen:

  1. Stel het thema van je IDE tijdelijk in op een licht thema, zodat de tekst past bij de rest van je document.
  2. Kopieer de vereiste code (HTML-kleurinformatie wordt ermee gekopieerd).
  3. Druk in Word op Ctrl+Alt+V en kies HTML-opmaak om de gekleurde tekst te plakken.
  4. Selecteer al uw tekst en vouw vervolgens de stijlengalerij op het starttabblad van het lint uit.
  5. Kies ‘Een stijl maken’. Gebruik een naam zoals “Code”
  6. Klik met de rechtermuisknop op uw nieuwe stijl in de galerij en kies “Wijzigen”.
  7. Wijzig in het opmaakgedeelte het lettertype in Consolas of een monospace-lettertype naar keuze. Stel ook de regelafstand in op Verkort (deze optie staat naast de opties voor tekstuitlijning).
  8. Kies onder de opmaakknop linksonder ‘Taal’ en schakel vervolgens de optie ‘Controleer de spelling of grammatica niet’ in.
  9. Als u wilt dat deze stijl beschikbaar is in toekomstige documenten, schakelt u over naar het keuzerondje “Nieuwe documenten op basis van deze sjabloon”.

Optioneel: voor regelnummers…

  1. Kies in het dialoogvenster Stijl wijzigen opnieuw de opmaakknop en kies “Nummering”.
  2. Kies de optie “Nieuwe getalnotatie definiëren”.
  3. Verwijder de punt na het cijfer ‘1’ in het vak voor getalnotatie.
  4. Kies ‘Rechts’ als nummeruitlijning.
  5. Druk op ok en selecteer vervolgens uw nieuwe optie voor nummeruitlijning. Druk ten slotte op ok in het dialoogvenster Stijl wijzigen.

Selecteer ten slotte uw code en stel deze in als de codestijl, die alle vereiste opmaak moet toepassen.

Other episodes