prissänkning

Konvertera dokument från markdown till Microsoft Word-format

Konvertera dokument från markdown till Microsoft Word-format
Bland andra aktiviteter hör skrivning och redigering av textdokument till de vanligaste åtgärderna vi använder våra (stationära) datorer för. Det exakta sättet det görs följer olika vägar - från att använda en ren textredigerare som Vim till grafiska applikationer som Open / Libre Office eller molnbaserade tjänster som är tillgängliga via webbläsare som Google Docs. Till vår nackdel kommer varje verktyg med sitt eget ursprungliga dokumentformat samt val av andra dokumentformat som stöds. Kvaliteten på konverteringen mellan dessa format varierar kraftigt och kan leda till mycket frustration när formatgränserna passeras.

I den här artikeln tittar vi på konverteringen mellan Markdown [1] och DOCX - det ursprungliga dokumentformatet för Microsoft Word som används sedan 2007. Du kanske undrar varför en entusiast av Markdown och Asciidoc (som jag) hanterar detta fall. Tja, samarbete med en grupp andra författare kan leda till en situation medan en eller flera deltagare begär DOCX som utdataformat. Låt inte någon gå ner och ta reda på vilka begränsningar som finns, och hur vi kan göra alla gruppmedlemmar glada.

Vad är Markdown?

Som redan påpekats i ”En introduktion till Markdown” [2] är avsikten med Markdown en enkel text till HTML-konvertering. Tanken bakom det var att göra det enkelt att skriva webbsidor, dokumentation och särskilt blogginlägg som att skriva ett e-postmeddelande. Från och med idag är det de facto-synonymen för en klass av lättviktsmarkeringsspråk, och målet kan ses som uppnått.

Markdown använder en syntax för formatering av vanlig text. Med ett liknande tillvägagångssätt som HTML anger ett antal markörer rubriker, listor, bilder och referenser i din text. Några få rader nedan illustrerar ett grundläggande dokument som innehåller två rubriker (första och andra nivån) samt två stycken och en listmiljö.

# Rekommenderade platser att besöka i Europa
## Frankrike
Detta är ett urval av platser:
* Paris (_Ile de France_)
* Strasbourg (_Alsace_)
För en ordentlig besöksplan ungefär en vecka.

Konvertering till DOCX

För att konvertera ditt Markdown-dokument till DOCX, använd verktyget pandoc [3]. Pandoc är ett Haskell-bibliotek och beskriver sig själv som "den universella dokumentomvandlaren", eller "den schweiziska armékniven för dokumentkonvertering". Den är tillgänglig för en mängd olika plattformar som Linux, Microsoft Windows, Mac OS X och BSD. Pandoc ingår vanligtvis som ett paket för Linux-distributioner som Debian GNU / Linux, Ubuntu och CentOS.

Ett enkelt samtal för en konvertering är som följer:

$ pandoc -o-test.docx-test.md

Den första parametern '-o' hänvisar till utdatafilen, följt av filens namn ('test.docx '). Filändelsen hjälper pandoc att identifiera önskat utdataformat. Den andra parametern namnger inmatningsfilen - i vårt fall är det helt enkelt test.md '.

Den långa versionen av kommandot som visas ovan innehåller de två parametrarna '-f markdown' och '-t docx'. Den första förkortar termen "smak" och beskriver formatet på inmatningsfilen. Den andra gör detsamma för utdatafilen och förkortar '-to'.

Det fullständiga kommandot är som följer:

$ pandoc -o-test.docx -f markdown -t docx-test.md

Öppna den konverterade filen med Microsoft Word resulterar i följande utdata:

För de olika textelementen använder Pandoc formatmallar. Detta gör att du kan justera dessa element senare efter dina behov genom hela dokumentet. De nyare versionerna av Pandoc erbjuder också tvärtom - du kan konvertera en DOCX-fil till Markdown enligt följande:

$ pandoc -o-test.md-test.docx

Sedan har den genererade filen följande innehåll:

Rekommenderade platser att besöka i Europa
=======================================
Frankrike
------
Detta är ett urval av platser:
-   Paris (* Ile de France *)
-   Strasbourg (* Alsace *)
För en ordentlig besöksplan ungefär en vecka.

Användbara kommandoradsalternativ

Listan med Pandoc-alternativ är ganska lång. Följande hjälper dig att producera bättre resultat och göra ditt liv mycket enklare:

* '-P' (lång version '-preserve-tabs'): Bevara flikar istället för att konvertera dem till mellanslag. Detta är användbart för kodblock med indragna rader som ingår i din text.

* '-S' (lång version '-smart'): Producera typografiskt korrekt utdata.

Detta alternativ korrigerar citat, bindestreck / bindestreck samt ellipser (“…”). Ytterligare, icke-brytande mellanslag läggs till efter vissa förkortningar som ”Mr.”.

* '-track-changes = value': Anger vad du ska göra med insättningar, raderingar och kommentarer som produceras med hjälp av Microsoft Word-funktionen "Spåra ändringar". Värdet kan vara antingen acceptera, avvisa eller allt för att inkludera eller ta bort de ändringar som gjorts i dokumentet. Resultatet är en platt fil.

För fler alternativ, se dokumentationen och Pandocs manuella sida.

Sammanfattning

Omvandlingen mellan Markdown och DOCX är inte längre ett mysterium. Det görs inom några steg och fungerar mycket bra. Lycklig hacking 🙂

Länkar och referenser

* [1] Markdown
* [2] Frank Hofmann: Introduktion till Markdown
* [3] Pandoc

Bekräftelser

Författaren vill tacka Annette Kalbow för hennes hjälp när hon förbereder artikeln.

Mus Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Att använda en mus eller tangentbord i fel hållning av överdriven användning kan resultera i många hälsoproblem, inklusive stam, karpaltunnelsyndrom o...
Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...
Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...