# attinormativi LaTeX class for the typesetting of Italian normative acts: municipal regulations, resolutions, statutes, ordinances, and similar documents. Version 1.1 — 17 May 2026 Author: Federico Gallo 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-esempi.tex Usage example (source) attinormativi-esempi.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-esempi.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=` | Overrides the left margin (default: 35 mm) | | `right=` | Overrides the right margin (default: 30 mm) | | `top=` | Overrides the top margin (default: 25 mm) | | `bottom=` | 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 . --- ## Version history **v1.1 (17 May 2026)** Stable release.