Differenze tra le versioni di "Groff"

Da GolemWiki.
Jump to navigation Jump to search
 
(13 versioni intermedie di uno stesso utente non sono mostrate)
Riga 10: Riga 10:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
Ci sono altre cose che possono essere messe nella copertina, ma potete limitarvi a titolo e autore. Il documento continua con sezioni, sottosezioni e paragrafi
+
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==
  
 
<syntaxhighlight lang="Groff">
 
<syntaxhighlight lang="Groff">
Riga 29: Riga 34:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
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 nei comandi della shell. Analogamente ai comandi della shell, se l'argomento è 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], vedere i caratteri speciali nella sezione dedicata), oppure può essere qualsiasi stringa ("a)", "b)", "c)")
 +
 +
<syntaxhighlight lang="Groff">
 +
.NH
 +
Liste
 +
.PP
 +
Lista di frutti:
 +
.IP \[bu]
 +
mela
 +
.IP \[bu]
 +
pera
 +
.LP
 +
Lista di opzioni
 +
.IP a)
 +
opzione 1
 +
.IP b)
 +
opzione 2
 +
 +
</syntaxhighlight>
 +
==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
 +
 +
<syntaxhighlight lang="Groff">
 +
.B ciao ) (
 +
</syntaxhighlight>
 +
 +
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==
 +
{| class="wikitable" style="margin:auto"
 +
|+ Caratteri speciali
 +
|-
 +
! Input !! Output !! nome
 +
|-
 +
| \[Fo] || « || doppie virgolette a sinistra
 +
|-
 +
| \[Fc] || » || doppie virgolette a destra
 +
|-
 +
| \[fo] || ‹ || angolo sinistro
 +
|-
 +
| \[fc] || › || angolo destro
 +
|-
 +
| \[la] || ⟨ || grande angolo sinistro
 +
|-
 +
| \[ra] || ⟩ || grande angolo destro
 +
|-
 +
| \[bracketlefttp] || ⎡ || angolo alto a sinistra
 +
|-
 +
| \[bracketleftbt] || ⎣ || angolo basso a sinistra
 +
|-
 +
| \[bracketrighttp] || ⎤ || angolo alto a destra
 +
|-
 +
| \[bracketrightbt] || ⎦ || angolo basso a destra
 +
|-
 +
| \[<-] || ← || freccia sinistra
 +
|-
 +
| \[->] || → || freccia destra
 +
|-
 +
| \[<>] || ↔ || freccia sx-dx
 +
|-
 +
| \[da] || ↓ || freccia giù
 +
|-
 +
| \[ua] || ↑ || freccia sù
 +
|-
 +
| \[va] || ↕ || freccia giù-sù
 +
|-
 +
| \[lA] || ⇐ || doppia freccia sinistra
 +
|-
 +
| \[rA] || ⇒ || doppia freccia destra
 +
|-
 +
| \[hA] || ⇔ || doppia freccia sx-dx
 +
|-
 +
| \[dA] || ⇓ || doppia freccia giù
 +
|-
 +
| \[uA] || ⇑ || doppia freccia sù
 +
|-
 +
| \[vA] || ⇕ || doppia freccia giù-sù
 +
|-
 +
| \[ci] || ○ || cerchio
 +
|-
 +
| \[bu] || • || pallino
 +
|-
 +
| \[lz] || ◊ || rombo
 +
|-
 +
| \[sq] || □ || quadrato
 +
|-
 +
| \[ps] || ¶ || fine del paragrafo
 +
|-
 +
| \[sc] || § || sezione
 +
|-
 +
| \[CR] || ↵ || carriage return
 +
|-
 +
| \[OK] || ✓ || check mark
 +
|-
 +
| \[co] || © || copyright
 +
|-
 +
| \[rg] || ® || registrato
 +
|-
 +
| \[tm] || ™ || trade mark
 +
|-
 +
| \[Do] || $ || dollaro
 +
|-
 +
| \[ct] || ¢ || centesimo
 +
|-
 +
| \[eu] || € || euro
 +
|-
 +
| \[Ye] || ¥ || yen
 +
|-
 +
| \[Po] || £ || pound
 +
|-
 +
| \[Cs] || ¤ || moneta scandinava
 +
|-
 +
| \[Fn] || ƒ || florin
 +
|-
 +
| \[de] || ° || grado
 +
|-
 +
| \[%0] || ‰ || per mille
 +
|-
 +
| \[fm] || ′ || minuti
 +
|-
 +
| \[sd] || ″ || secondi
 +
|-
 +
| \[mc] || µ || micro
 +
|-
 +
| \[AN] || ∧ || congiunzione logica
 +
|-
 +
| \[OR] || ∨ || disgiunzione logica
 +
|-
 +
| \[no] || ¬ || negazione logica
 +
|-
 +
| \[te] || ∃ || quantificatore esistenziale
 +
|-
 +
| \[fa] || ∀ || quantificatore universale (per ogni)
 +
|-
 +
| \[st] || ∋ || tale che
 +
|-
 +
| \[-+] || ∓ || meno più
 +
|-
 +
| \[+-] || ± || più meno
 +
|-
 +
| \[pc] || · || punto centrato
 +
|-
 +
| \[md] || ⋅ || moltiplicazione (punto)
 +
|-
 +
| \[mu] || × || moltiplicazione (croce)
 +
|-
 +
| \[c*] || ⊗ || moltiplicazione con cerchio
 +
|-
 +
| \[c+] || ⊕ || somma con cerchio
 +
|-
 +
| \[di] || ÷ || divisione
 +
|-
 +
| \[<=] || ≤ || minore o uguale di
 +
|-
 +
| \[>=] || ≥ || maggiore o uguale di
 +
|-
 +
| \[<<] || ≪ || molto minore di
 +
|-
 +
| \[>>] || ≫ || molto maggiore di
 +
|-
 +
| \[!=] || ≠ || diverso da
 +
|-
 +
| \[==] || ≡ || equivalente a
 +
|-
 +
| \[ne] || ≢ || non equivalente a
 +
|-
 +
| \[=~] || ≅ || congruente
 +
|-
 +
| \[|=] || ≃ || asintoticamente uguale
 +
|-
 +
| \[ap] || ∼ || simile a
 +
|-
 +
| \[~=] || ≈ || quasi uguale a
 +
|-
 +
| \[pt] || ∝ || proporzionale a
 +
|-
 +
| \[es] || ∅ || insieme vuoto
 +
|-
 +
| \[mo] || ∈ || appartiene a
 +
|-
 +
| \[nm] || ∉ || non appartiene a
 +
|-
 +
| \[sb] || ⊂ || sottoinsieme proprio
 +
|-
 +
| \[nb] || ⊄ || non sottoinsieme
 +
|-
 +
| \[sp] || ⊃ || superinsieme proprio
 +
|-
 +
| \[nc] || ⊅ || non superinsieme
 +
|-
 +
| \[ib] || ⊆ || sottoinsieme
 +
|-
 +
| \[ip] || ⊇ || superinsieme
 +
|-
 +
| \[ca] || ∩ || intersezione
 +
|-
 +
| \[cu] || ∪ || unione
 +
|-
 +
| \[pp] || ⊥ || perpendicolare
 +
|-
 +
| \[gr] || ∇ || gradiente
 +
|-
 +
| \[lc] || ⌈ || ceil sinistro
 +
|-
 +
| \[rc] || ⌉ || ceil destro
 +
|-
 +
| \[lf] || ⌊ || floor sinistro
 +
|-
 +
| \[rf] || ⌋ || floor destro
 +
|-
 +
| \[if] || ∞ || infinito
 +
|-
 +
| \[+p] || π || pi
 +
|-
 +
| \[CL] || ♣ || fiori
 +
|-
 +
| \[SP] || ♠ || picche
 +
|-
 +
| \[HE] || ♥ || quori
 +
|-
 +
| \[DI] || ♦ || mattoni
 +
|}
 +
 +
=Preprocessori=
 +
==Illustrazioni con pic==
 +
==Formule matematiche con eqn==
 +
==Tabelle con tbl==
 
[[Category:Howto]]
 
[[Category:Howto]]

Versione attuale delle 06:34, 10 giu 2026

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 nei comandi della shell. Analogamente ai comandi della shell, se l'argomento è 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], vedere i caratteri speciali nella sezione dedicata), 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

Caratteri speciali
Input Output nome
\[Fo] « doppie virgolette a sinistra
\[Fc] » doppie virgolette a destra
\[fo] angolo sinistro
\[fc] angolo destro
\[la] grande angolo sinistro
\[ra] grande angolo destro
\[bracketlefttp] angolo alto a sinistra
\[bracketleftbt] angolo basso a sinistra
\[bracketrighttp] angolo alto a destra
\[bracketrightbt] angolo basso a destra
\[<-] freccia sinistra
\[->] freccia destra
\[<>] freccia sx-dx
\[da] freccia giù
\[ua] freccia sù
\[va] freccia giù-sù
\[lA] doppia freccia sinistra
\[rA] doppia freccia destra
\[hA] doppia freccia sx-dx
\[dA] doppia freccia giù
\[uA] doppia freccia sù
\[vA] doppia freccia giù-sù
\[ci] cerchio
\[bu] pallino
\[lz] rombo
\[sq] quadrato
\[ps] fine del paragrafo
\[sc] § sezione
\[CR] carriage return
\[OK] check mark
\[co] © copyright
\[rg] ® registrato
\[tm] trade mark
\[Do] $ dollaro
\[ct] ¢ centesimo
\[eu] euro
\[Ye] ¥ yen
\[Po] £ pound
\[Cs] ¤ moneta scandinava
\[Fn] ƒ florin
\[de] ° grado
\[%0] per mille
\[fm] minuti
\[sd] secondi
\[mc] µ micro
\[AN] congiunzione logica
\[OR] disgiunzione logica
\[no] ¬ negazione logica
\[te] quantificatore esistenziale
\[fa] quantificatore universale (per ogni)
\[st] tale che
\[-+] meno più
\[+-] ± più meno
\[pc] · punto centrato
\[md] moltiplicazione (punto)
\[mu] × moltiplicazione (croce)
\[c*] moltiplicazione con cerchio
\[c+] somma con cerchio
\[di] ÷ divisione
\[<=] minore o uguale di
\[>=] maggiore o uguale di
\[<<] molto minore di
\[>>] molto maggiore di
\[!=] diverso da
\[==] equivalente a
\[ne] non equivalente a
\[=~] congruente
=] asintoticamente uguale
\[ap] simile a
\[~=] quasi uguale a
\[pt] proporzionale a
\[es] insieme vuoto
\[mo] appartiene a
\[nm] non appartiene a
\[sb] sottoinsieme proprio
\[nb] non sottoinsieme
\[sp] superinsieme proprio
\[nc] non superinsieme
\[ib] sottoinsieme
\[ip] superinsieme
\[ca] intersezione
\[cu] unione
\[pp] perpendicolare
\[gr] gradiente
\[lc] ceil sinistro
\[rc] ceil destro
\[lf] floor sinistro
\[rf] floor destro
\[if] infinito
\[+p] π pi
\[CL] fiori
\[SP] picche
\[HE] quori
\[DI] mattoni

Preprocessori

Illustrazioni con pic

Formule matematiche con eqn

Tabelle con tbl