Skip to content

unipd-notes Document Class

← Documentation · Metadata · Components · Fonts

The unipd-notes class is the shared foundation for every course document. It defines the base document model, loads the repository's LaTeX components, and exposes the supported document-level interfaces.

Basic usage

Load the class directly:

\documentclass[italian]{unipd-notes}

Use english for courses taught in English:

\documentclass[english]{unipd-notes}

Repository courses must declare exactly one supported language option.

The build system adds latex/ to the LaTeX search path, so course sources should not reference the class through a relative path.

LuaLaTeX is required.

Class options

Language

Supported language options are:

italian
english

The selected language configures shared localization across Babel, siunitx, theorem and algorithm labels, cross-references, glossary and contents headings, cover fields, revision history, and other component output.

Italian remains the class-level fallback for compatibility with non-course examples, but repository courses must select a language explicitly.

Bibliography

Enable bibliography support with:

\documentclass[italian,bibliography]{unipd-notes}

Then register and print the bibliography normally:

\addbibresource{references.bib}

\begin{document}

% Course content

\printcoursebibliography
\end{document}

Bibliography builds require Biber, which latexmk invokes automatically. Without the bibliography option, \printcoursebibliography does nothing; citation commands from BibLaTeX are not loaded.

Other class options are forwarded to the underlying scrreprt class.

Base document

The class is based on KOMA-Script's scrreprt with these defaults:

Setting Value
Font size 11pt
Paper a4paper
Layout oneside
Chapter opening open=any
Heading size headings=normal

Shared page and heading behavior should remain centralized in the class and its components.

Loaded components

The class loads the shared packages in the dependency order recorded in unipd-notes.cls. Use their public interfaces rather than loading .sty files directly. COMPONENTS.md owns the API catalogue; the component router links isolated examples.

Document lifecycle

The class provides shared interfaces for the main document phases:

Interface Purpose
\makecoursefrontmatter Create the cover and Roman-numbered table of contents
coursepreface Add an optional preface
revisionhistory and \revision Add an optional revision-history table
\makecoursemainmatter Switch to Arabic numbering and begin the main document
\printcourselists Print selected document lists
\courseappendices Start the appendix sequence

\printcourselists accepts any combination of:

figures
tables
algorithms
listings

For example:

\printcourselists[figures,listings]

Without an option list, \printcourselists prints all four lists. The front-back-matter example shows these phases in context.

Minimal course document

Use Creating a course for a complete localized scaffold. Metadata: course setup owns the illustrative \unipdsetup block and field reference; place that setup before the document environment.

For a complete composed example rather than another template here, inspect the English integration source or Italian integration source. Writing notes owns content conventions.

Numbering and contents

Headings are numbered through \subsubsection (secnumdepth=3); the contents page includes through \subsection by default (tocdepth=2). Set a literal \setcounter{tocdepth}{N} in the preamble if a course needs a different contents depth. The generated README respects that explicit setting too.

Equations and numbered educational environments use chapter-based numbering. Each numbered environment has its own counter: theorem and definition numbers do not share a sequence. The proof environment is unnumbered.

Extending the class

Follow Component development for ownership, dependency ordering, examples, and validation. Do not use or redefine internal class path commands from course documents.