Groff

Da GolemWiki.
Jump to navigation Jump to search

Groff o GNU troff è un sistema per creare documenti partendo da file di testo molto più leggero di LaTeX. Su questa pagina verrà usato il pacchetto di macro ms, gli altri pacchetti sono man, mdoc, me, mm e mom. Le macro ms sono buone per scrivere reports, lettere, libri, ma anche papers. Il file su cui il documento verrà scritto ha tipicamente l'estensione .ms e inizia con la copertina:

.TL
Titolo
.AU
Autore
.AB
Abstract

Ci sono altre cose che possono essere messe nella copertina, ma potete limitarvi a titolo e autore. Come potete notare i comandi di groff occupano una riga intera che inizia con il punto, immediatamente seguito dal nome del comando.

Utilizzo di base

Sezioni, sottosezioni e paragrafi

.NH
Sezione
.NH 2
Sottosezione
.PP
paragrafo con prima riga indentata
.NH 2
Altra sottosezione
.LP
paragrafo senza indentazione
.NH
Sezione 2
.PP
fine

Il comando .NH (numbered heading) è un primo esempio di un comando che prende un argomento opzionale: il livello della sezione. Gli argomenti vengono dopo il comando separati da spazio, come un comando nella shell. Analogamente ai comandi della shell, se il comando è una stringa con spazi, è opportuno racchiuderlo tra le virgolette (").

Liste

Per fare le liste si usa il comando .IP, tipicamente con un solo argomento: il marker. Per le liste non ordinate, il marker è il pallino •, scritto \[bu], oppure può essere qualsiasi stringa ("a)", "b)", "c)")

.NH
Liste
.PP
Lista di frutti:
.IP \[bu]
mela
.IP \[bu]
pera
.LP
Lista di opzioni
.IP a)
opzione 1
.IP b)
opzione 2

Formattazione del testo

I comandi che formattano il testo in groff sono molto simili:

.COMANDO testo [dopo] [prima]

Il comando mostrerà il testo con la formattazione scelta da COMANDO. dopo e prima sono argomenti opzionali e, se presenti, vengono mostrati con la formattazione che c'era prima di COMANDO, posizionati rispettivamente dopo e prima il testo. Ad esempio, il comando

.B ciao ) (

verrà compilato in (ciao)

COMANDO può essere

  • B: grassetto
  • I: corsivo
  • BI: grassetto e corsivo
  • R: roman
  • CW: monospace
  • BX: racchiudi testo in un rettangolo
  • UL: sottolineatura
  • LG: testo ingrandito
  • SM: testo rimpicciolito
  • NL: testo di dimensione normale

Compilare un file con estensione .ms

Per compilare un documento doc.ms e generare doc.pdf, il comando da utilizzare è

groff -ms doc.ms -Tpdf > doc.pdf

Questo comando funziona solo se non si usa nessun preprocessore. Per far compilare anche i documenti che usano i preprocessori, usare

groff -ms doc.ms -petTpdf > doc.pdf

  • -p: è stato aggiunto per il preprocessore pic
  • -e: è stato aggiunto per il preprocessore eqn
  • -t: è stato aggiunto per il preprocessore tbl

cheatsheet di alcuni caratteri

  • « \[Fo]
  • » \[Fc]
  • ‹ \[fo]
  • › \[fc]
  • ⟨ \[la]
  • ⟩ \[ra]
  • ⎡ \[bracketlefttp]
  • ⎣ \[bracketleftbt]
  • ⎤ \[bracketrighttp]
  • ⎦ \[bracketrightbt]
  • ← \[<-]
  • → \[->]
  • ↔ \[<>]
  • ↓ \[da]
  • ↑ \[ua]
  • ↕ \[va]
  • ⇐ \[lA]
  • ⇒ \[rA]
  • ⇔ \[hA]
  • ⇓ \[dA]
  • ⇑ \[uA]
  • ⇕ \[vA]
  • ○ \[ci]
  • • \[bu]

Preprocessori

Illustrazioni con pic

Formule matematiche con eqn

Tabelle con tbl