# attinormativi

Classe LaTeX per la composizione tipografica di atti normativi italiani: regolamenti comunali, delibere, statuti, ordinanze e documenti analoghi.

Versione 1.1 — 17 maggio 2026
Autore: Federico Gallo <gallofede75@gmail.com>
Licenza: LPPL 1.3c (maintained)
---
## Descrizione

La classe `attinormativi` fornisce un framework tipografico completo per gli atti normativi italiani. Gestisce la struttura gerarchica tipica di
tali documenti (libri, titoli, capi, sezioni, articoli, commi), il frontespizio istituzionale, gli indici dedicati (articoli, allegati, definizioni), la modalità bozza con note redazionali e l'integrazione opzionale con il pacchetto `cleveref` per i riferimenti incrociati in italiano.

La classe è costruita sopra la classe standard `book` ed è compatibile con pdfLaTeX, XeLaTeX e LuaLaTeX.
---
## Contenuto del pacchetto

    attinormativi.cls             File della classe
    attinormativi.dtx             Sorgente documentato
    attinormativi.ins             File di installazione
    attinormativi-doc.pdf             Manuale della classe
    attinormativi-esempi.tex      Esempio di utilizzo (sorgente)
    attinormativi-esempi.pdf      Esempio di utilizzo (compilato)
    README.md                     Leggimi in inglese
    LEGGIMI.md                    Questo file
    LICENSE                       Testo della licenza LPPL 1.3c
---
## Requisiti

TeX Live 2020 o successivo (o distribuzione MiKTeX equivalente).

Pacchetti richiesti (tutti inclusi nelle distribuzioni standard): `iftex`, `lmodern`, `fontspec` (solo XeLaTeX/LuaLaTeX), `geometry`,
`babel` (con supporto lingua italiana), `microtype`, `xcolor`, `titlesec`, `chngcntr`, `enumitem`, `hyperref`.

Per pdfLaTeX sono inoltre necessari `inputenc` e `fontenc`, anch'essi inclusi nel kernel di qualsiasi installazione standard.

Il pacchetto `xparse` è caricato automaticamente solo su installazioni con kernel LaTeX antecedente al 1° ottobre 2020; sulle versioni
successive è superfluo in quanto i comandi corrispondenti sono nativi.

Il pacchetto opzionale `cleveref` abilita la formattazione automatica in italiano dei riferimenti incrociati.
---
## Font

La classe utilizza esclusivamente la famiglia **Latin Modern**, disponibile in qualsiasi installazione standard di TeX Live e MiKTeX senza dipendenze aggiuntive.

- Con **pdfLaTeX**: viene caricato il pacchetto `lmodern`.
- Con **XeLaTeX** e **LuaLaTeX**: i font OpenType corrispondenti (*Latin Modern Roman*, *Latin Modern Sans*, *Latin Modern Mono*)
  sono selezionati tramite `fontspec`.

Le varianti serif e sansserif appartengono alla medesima famiglia e garantiscono coerenza tipografica in entrambe le modalità.
---
## Installazione

Copiare `attinormativi.cls` in una directory in cui TeX possa trovarlo, ad esempio:

   TEXMFHOME/tex/latex/attinormativi/

Aggiornare quindi il database dei file:

    mktexlsr

In alternativa, per installazioni locali a un singolo progetto, è sufficiente copiare `attinormativi.cls` nella stessa cartella del
file `.tex` da compilare. 

Per rigenerare `attinormativi.cls` dal sorgente documentato:

    latex attinormativi.ins
---
## Utilizzo di base

\documentclass[bozza, serif, simplex, 12pt]{attinormativi}

\autoritaatto{Comune di Esempiopoli}
\tipoatto{Regolamento}
\numeroatto{3}
\dataatto{17 maggio 2026}
\titoloatto{Regolamento per la gestione degli spazi pubblici}
\oggettoatto{Disciplina delle modalità di utilizzo e concessione
             degli spazi pubblici comunali}

\begin{document}
\frontespizioatto
\bozzainfo
\tableofcontents
\indicearticoli

\titolo{Disposizioni generali}

\articolo{Finalità e ambito di applicazione}[art:finalita]
\comma{Il presente regolamento disciplina le modalità di utilizzo
degli spazi pubblici di proprietà del Comune di Esempiopoli.}

\entrataInVigore{Il presente regolamento entra in vigore il giorno
successivo alla sua pubblicazione all'albo pretorio online.}

\end{document}
```

La documentazione completa è disponibile in `attinormativi.pdf`.
Esempi di utilizzo sono in `attinormativi-esempi.pdf`.
---
## Opzioni della classe

| Opzione       	| Descrizione                                                         			|
|----------------	|-----------------------------------------------------------------------------------	|
| `bozza`		| Modalità bozza: le note redazionali diventano visibili       		|
| `serif`		| Latin Modern Roman — tutti i motori (predefinito)                   	|
| `sansserif`	| Latin Modern Sans — tutti i motori                                  		|
| `simplex`		| Impaginazione solo fronte (predefinito); alias: `oneside`          	|
| `duplex` 		| Impaginazione fronte/retro con margini asimmetrici; alias: `twoside` |
| `left=<dim>`	| Sovrascrive il margine sinistro (default: 35 mm)                   	|
| `right=<dim>` 	| Sovrascrive il margine destro (default: 30 mm)                     	|
| `top=<dim>`	| Sovrascrive il margine superiore (default: 25 mm)                  	|
| `bottom=<dim>` | Sovrascrive il margine inferiore (default: 25 mm)                  	|
---
## Flusso di compilazione

Per ottenere tutti gli indici correttamente popolati sono necessarie almeno due compilazioni. 
Si rimanda alla sezione corrispondente del manuale `attinormativi.pdf` per i dettagli.

**Nota.** Se la compilazione si interrompe in modo anomalo, il file `.aux` può risultare troncato e la compilazione successiva produrrà l'errore `File ended while scanning use of \@writefile`. La soluzione è eliminare tutti i file ausiliari (`.aux`, `.toc`, `.idx`, `.glo`, `.art`, `.alg`, `.dfn`, `.out`) e ripartire da capo.
---
## Licenza

Questo lavoro può essere distribuito e/o modificato secondo i termini della LaTeX Project Public License, versione 1.3c o successiva.

    https://www.latex-project.org/lppl.txt

Questo lavoro ha lo stato LPPL `maintained`.
Il Manutentore corrente è Federico Gallo <gallofede75@gmail.com>.
---
## Cronologia delle versioni
**v1.1 (17 maggio 2026)**
Versione stabile.
