# attinormativi

LaTeX class for the typesetting of Italian normative acts: municipal regulations, resolutions, statutes, ordinances, and similar documents.

Version 1.0 — 17 May 2026
Author: Federico Gallo <gallofede75@gmail.com>
Licence: LPPL 1.3c (maintained)
---
## Description

The `attinormativi` class provides a complete typographic framework for Italian normative acts. It manages the hierarchical structure typical of such documents (books, titles, chapters, sections, articles, paragraphs), the institutional title page, dedicated indexes (articles, annexes, definitions), a draft mode with editorial notes, and optional integration with the `cleveref` package for Italian-language cross-references.

The class is built on top of the standard `book` class and is compatible
with pdfLaTeX, XeLaTeX, and LuaLaTeX.
---
## Package contents

    attinormativi.cls             Class file
    attinormativi.dtx             Documented source
    attinormativi.ins             Installation file
    attinormativi-doc.pdf             Class manual
    attinormativi-example.tex     Usage example (source)
    attinormativi-example.pdf     Usage example (compiled)
    README.md                     This file
    LEGGIMI.md                    Readme in Italian
    LICENSE                       LPPL 1.3c licence text
---
## Requirements

TeX Live 2020 or later (or an equivalent MiKTeX distribution).

Required packages (all included in standard distributions): `iftex`, `lmodern`, `fontspec` (XeLaTeX/LuaLaTeX only), `geometry`,
`babel` (with Italian language support), `microtype`, `xcolor`, `titlesec`, `chngcntr`, `enumitem`, `hyperref`.

For pdfLaTeX, `inputenc` and `fontenc` are also required; both are included in the kernel of any standard installation.

The `xparse` package is loaded automatically only on installations with a LaTeX kernel older than 1 October 2020; on later versions it is
unnecessary as the corresponding commands are built into the kernel.

The optional package `cleveref` enables automatic Italian-language formatting of cross-references.
---
## Fonts

The class uses exclusively the **Latin Modern** family, available in any standard TeX Live or MiKTeX installation with no additional dependencies.

- With **pdfLaTeX**: the `lmodern` package is loaded.
- With **XeLaTeX** and **LuaLaTeX**: the corresponding OpenType fonts (*Latin Modern Roman*, *Latin Modern Sans*, *Latin Modern Mono*) are selected via `fontspec`.

The serif and sans-serif variants belong to the same family and ensure typographic consistency in both modes.
---
## Installation

Copy `attinormativi.cls` to a directory where TeX can find it, for example:

    TEXMFHOME/tex/latex/attinormativi/

Then refresh the file database:

    mktexlsr

For a local installation limited to a single project, copying `attinormativi.cls` into the same folder as the `.tex` file is
sufficient.

To regenerate `attinormativi.cls` from the documented source:

    latex attinormativi.ins

---

## Basic usage

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

\autoritaatto{Municipality of Esempiopoli}
\tipoatto{Regulation}
\numeroatto{3}
\dataatto{17 May 2026}
\titoloatto{Regulation on the management of public spaces}
\oggettoatto{Rules governing the use and temporary grant
             of municipal public spaces}

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

\titolo{General provisions}

\articolo{Purpose and scope}[art:purpose]
\comma{This regulation governs the use of public spaces
owned by the Municipality of Esempiopoli.}

\entrataInVigore{This regulation enters into force on the day
following its publication on the official municipal notice board.}

\end{document}

Full documentation is available in `attinormativi.pdf`.
Usage examples are in `attinormativi-example.pdf`.
---
## Class options

| Option         | Description                                                          |
|----------------|----------------------------------------------------------------------|
| `bozza`        | Draft mode: editorial notes become visible                           |
| `serif`        | Latin Modern Roman — all engines (default)                           |
| `sansserif`    | Latin Modern Sans — all engines                                      |
| `simplex`      | Single-sided layout (default); alias: `oneside`                      |
| `duplex`       | Double-sided layout with asymmetric margins; alias: `twoside`        |
| `left=<dim>`   | Overrides the left margin (default: 35 mm)                           |
| `right=<dim>`  | Overrides the right margin (default: 30 mm)                          |
| `top=<dim>`    | Overrides the top margin (default: 25 mm)                            |
| `bottom=<dim>` | Overrides the bottom margin (default: 25 mm)                         |
---
## Compilation workflow

At least two passes are required to populate all indexes correctly.

Refer to the corresponding section of the manual `attinormativi.pdf` for details.

**Note.** If compilation is interrupted abnormally, the `.aux` file may be truncated, causing the next run to produce the error `File ended while scanning use of \@writefile`. The remedy is to delete all auxiliary files (`.aux`, `.toc`, `.idx`, `.glo`, `.art`,`.alg`, `.dfn`, `.out`) and start again from scratch.
---
## Licence

This work may be distributed and/or modified under the conditions of
the LaTeX Project Public License, version 1.3c or any later version.

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

This work has the LPPL maintenance status `maintained`.
The Current Maintainer is Federico Gallo <gallofede75@gmail.com>.
---
## Version history

**v1.0 (17 May 2026)**
First stable release.
