Emacs Org Mode e blocchi di codice con e senza colori

Emacs Org Mode e blocchi di codice con e senza colori

sharon-pittaway-98257-unsplash.jpg

Figura 1: Immagine di Sharon Pittaway on Unsplash

1 Colorare i blocchi di codice in Emacs Org Mode

Emacs Org Mode è un eccellente ambiente per sviluppare qualsiasi genere di argomento.
Se avete necessità di visualizzare blocchi di codici sorgente in Org Mode, potrebbe essere utile sapere che esistono due versioni di base per la loro visualizzazione.

La prima è la modalità di visualizzazione monocromatica.
Per ottenere questa visualizzazione occorre racchiudere il blocco di codice nei tag ~#+BEGIN_SRC e #+END_SRC.

Questa è già una buona modalità di visualizzazione dei codici sorgente.

Tuttavia è possibile ottenere una migliore visualizzazione evidenziando la sintassi dei vari linguaggi con un piacevole schema di colori.

Org Mode può farlo per voi.

Per ottenere la visualizzazione in modalit'colorata occorre avere installato la libreria htmlize nella propria configurazione di Emacs.

2 Come installare la libreria htmlize

Per evidenziare la sintassi dei blocchi di codice è necessaria la libreria htmlize.
Nelle versioni più recenti di Emacs questa libreria dovrebe essere già installata. Tuttavia, se necessario, l'installazione via MELPA (sempre che questa risorsa sia già stata configurata) è molto semplice.

Prima di tutto occorre premere M-x in Emacs e seguire uno dei due metodi sotto riportati.

Il metodo più semplice è quello seguente:

Digitare sulla tastiera la seguente combinazione (RET è il tasto Return): list-packages RET, cercate la libreria htmlize scorrendo il monitor o utilizzando il comando I-search (C-s), premete RET seguito da i per selezionare la libreria per la successiva installazione, premete x per procedere all'installazione.
Molto semplice!

Ma per fare prima è sufficiente digitare sulla tastiera la seguente combinazione: package-install RET htmlize RET, tutto qui!

Ora che abbiamo installato tutto ciò che serve possiamo visualizzare la sintassi colorata dei codici sorgente aggiungendo al tag di apertura il nome del linguaggio specifico.

Quindi, se vogliamo colorare un codice HTML basta scrivere +-BEGIN_SRC html, se vogliamo colorare un codice LaTeX basta scrivere +-BEGIN_SRC latex, se vogliamo colorare un codice Ruby basta scrivere +-BEGIN_SRC ruby, e così via.

3 Esempi di codice colorato

Di seguito riporto alcuni esempi di frammenti di codici sorgente colorati e non colorati.

3.1 Primo esempio: codice HTML con e senza sintassi colorata

Di seguito trovate un semplice frammento di codice HTML con sintassi colorata seguito dallo stesso blocco con sintassi non colorata.

<h1>Titolo della vostra pagina web</h1>
<h2>Primo capitolo</h2>
Testo vario all'interno del primo capitolo
<h2>Secondo capitolo</h2>
Testo all'interno del secondo capitolo
<ol>
    <li>Primo elemento della lista ordinata</li>
    <li>Secondo elemento della lista ordinara</li>
</ol>
<h1>Titolo della vostra pagina web</h1>
<h2>Primo capitolo</h2>
Testo vario all'interno del primo capitolo
<h2>Secondo capitolo</h2>
Testo all'interno del secondo capitolo
<ol>
    <li>Primo elemento della lista ordinata</li>
    <li>Secondo elemento della lista ordinara</li>
</ol>

3.2 Secondo esempio: codice LaTeX con e senza sintassi colorata

Adesso un breve frammento di codice LaTeX con codice colorato seguito dallo stesso frammento con codice non colorato.

\section{Prima Sezione}
Testo vario all'interno della prima sezione.
\subsection{Prima Sottosezione}
Testo vario all'interno della prima sottosezione.
\begin{itemize}
\item{Primo elemento}
\item{Secondo elemento}
\end{itemize}
\section{Prima Sezione}
Testo vario all'interno della prima sezione.
\subsection{Prima Sottosezione}
Testo vario all'interno della prima sottosezione.
\begin{itemize}
\item{Primo elemento}
\item{Secondo elemento}
\end{itemize}

3.3 Terzo esempio: codice Ruby con e senza sintassi colorata

Alla fine riporto un breve frammento di codice Ruby con sintassi colorata e lo stesso frammento con sintassi non colorata.

m = 0
loop do
  m += 1
  print "Ruby!"
  break if m == 30
end
m = 0
loop do
  m += 1
  print "Ruby!"
  break if m == 30
end

Grazie per la vostra attenzione.

Autore: Franco Pasut

Commenti

Post popolari in questo blog

PCT e collegamenti ipertestuali tra atti e documenti in Word, Writer e LaTeX

Atti giudiziari: utilizzare le variabili al posto dei nomi propri in Word, Writer e LaTeX