ribasso

Conversione di documenti da Markdown in formato Microsoft Word

Conversione di documenti da Markdown in formato Microsoft Word
Tra le altre attività, scrivere e modificare documenti di testo appartiene alle azioni più comuni per cui utilizziamo i nostri computer (desktop). Il modo esatto in cui viene eseguito segue percorsi diversi: dall'utilizzo di un semplice editor di testo come Vim ad applicazioni grafiche come Open/Libre Office o servizi basati su cloud accessibili tramite browser web come Google Docs. A nostro svantaggio, ogni strumento viene fornito con il proprio formato di documento nativo e una selezione di altri formati di documento supportati. La qualità della conversione tra questi formati varia ampiamente e può portare a molta frustrazione quando si attraversano i confini del formato.

In questo articolo diamo uno sguardo alla conversione tra Markdown [1] e DOCX, il formato documento nativo di Microsoft Word in uso dal 2007. Potresti chiederti perché un appassionato di Markdown e Asciidoc (come me) si occupa di questo caso. Bene, collaborare con un gruppo di altri autori può portare a una situazione in cui uno o più partecipanti richiedono DOCX come formato di output. Non deludere nessuno, e scopri invece quali limitazioni esistono e come possiamo cercare di rendere felici tutti i membri del gruppo.

Cos'è Markdown??

Come già sottolineato in "An Introduction into Markdown" [2], l'intenzione di Markdown è una semplice conversione da testo a HTML. L'idea alla base era quella di rendere la scrittura di pagine web, documentazione e soprattutto post di blog facile come scrivere un'e-mail. Ad oggi è il sinonimo di fatto di una classe di linguaggi di descrizione di markup leggeri, e l'obiettivo può essere visto come raggiunto.

Markdown utilizza una sintassi di formattazione del testo normale. Con un approccio simile all'HTML, un numero di marcatori indica titoli, elenchi, immagini e riferimenti nel testo. Le poche righe sottostanti illustrano un documento di base che contiene due titoli (1° e 2° livello) oltre a due paragrafi e un ambiente di elenco.

# Luoghi consigliati da visitare in Europa
## Francia
Questa è una selezione di luoghi:
* Parigi (_Ile de France_)
* Strasburgo (_Alsazia_)
Per un corretto piano di visita circa una settimana.

Conversione in DOCX

Per convertire il tuo documento Markdown in DOCX, usa lo strumento pandoc [3]. Pandoc è una libreria Haskell e si descrive come "il convertitore universale di documenti" o il "coltellino svizzero per le conversioni di documenti". È disponibile per una varietà di piattaforme come Linux, Microsoft Windows, Mac OS X e BSD. Pandoc è comunemente incluso come pacchetto per distribuzioni Linux come Debian GNU/Linux, Ubuntu e CentOS.

Una semplice chiamata per una conversione è la seguente:

$ pandoc -o test.prova docx.md

Il primo parametro '-o' si riferisce al file di output, seguito dal nome del file ('test.docx'). L'estensione del file aiuta pandoc a identificare il formato di output desiderato. Il secondo parametro nomina il file di input - nel nostro caso è semplicemente "test".md'.

La versione lunga del comando mostrato sopra contiene i due parametri '-f markdown' e '-t docx'. Il primo abbrevia il termine "sapore" e descrive il formato del file di input input. Il secondo fa lo stesso per il file di output e abbrevia "-to".

Il comando completo è il seguente:

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

Aprendo il file convertito utilizzando Microsoft Word si ottiene il seguente output:

Per i diversi elementi di testo Pandoc utilizza i fogli di stile. Ciò ti consente di regolare questi elementi in seguito in base alle tue esigenze durante l'intero documento. Le versioni più recenti di Pandoc offrono anche il contrario: puoi convertire un file DOCX in Markdown come segue:

$ pandoc -o test.test md.docx

Quindi, il file generato ha il seguente contenuto:

Luoghi consigliati da visitare in Europa
=====================================
Francia
------
Questa è una selezione di luoghi:
-   Parigi (*Ile de France*)
-   Strasburgo (*Alsazia*)
Per un corretto piano di visita circa una settimana.

Utili opzioni della riga di comando

L'elenco delle opzioni di Pandoc è piuttosto lungo. I seguenti ti aiutano a produrre risultati migliori e ti semplificano la vita:

* '-P' (versione lunga '-preserve-tabs'): conserva le tabulazioni invece di convertirle in spazi. Ciò è utile per i blocchi di codice con righe rientrate che fanno parte del testo.

* '-S' (versione lunga '-smart'): produce un output tipograficamente corretto.

Questa opzione corregge le virgolette, i trattini/trattini nonché i puntini di sospensione  ("... "). Ulteriori spazi unificatori vengono aggiunti dopo alcune abbreviazioni come "Mr.".

* '-track-changes=value': specifica cosa fare con inserimenti, eliminazioni e commenti prodotti con l'aiuto della funzione "Rileva modifiche" di Microsoft Word. Il valore può essere accetta, rifiuta o tutto per includere o rimuovere le modifiche apportate nel documento. Il risultato è un file flat.

Per ulteriori opzioni dai un'occhiata alla documentazione e alla pagina del manuale di Pandoc.

Sommario

La conversione tra Markdown e DOCX non è più un mistero. È fatto in pochi passaggi e funziona molto bene. Buon hackeraggio 🙂

Link e riferimenti

* [1] Ribasso
* [2] Frank Hofmann: Introduzione a Markdown
* [3] Pandoc

Ringraziamenti

L'autore desidera ringraziare Annette Kalbow per il suo aiuto durante la preparazione dell'articolo.

Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...