Create project in app
Configuration:
A Typst package to write Cnam PhD theses with a ready-to-use structure, title page, front/back matter helpers, and thesis-oriented styling. For more detailed information, see the manual.
community-cnam-thesis provides:
- A preconfigured thesis layout built on top of
bookly. - A Cnam-styled title page.
- Consistent chapter/section, TOC, table, and figure styling.
- Helpers for algorithms, review comments/annotations, and boxed content.
- A complete project template (
template/) to bootstrap a new thesis quickly.
Installation and initialization
Import from Typst Universe:
#import "@preview/community-cnam-thesis:0.1.0": *
Quick start
Minimal thesis document:
#import "@preview/community-cnam-thesis:0.1.0": *
#show: community-cnam-thesis.with(
title: "My Thesis Title",
author: "Jane Doe",
thesis-info: (
doctoral-school: "Sciences des Metiers de l'Ingenieur",
laboratory: "My Lab",
defense-date: "June 15, 2026",
),
lang: "en",
open-right: true,
)
#show: front-matter
= Abstract
My abstract.
#show: main-matter
#tableofcontents
= Introduction
Hello thesis.
#bibliography("bibliography/sample.bib")
#show: appendix
= Appendix
I forgot some information
Configuration: thesis-info
thesis-info is a dictionary merged with package defaults. Main keys:
doctoral-schoolsupervisor(array of(name, title, institution))co-supervisor(same shape)laboratorydefense-datedisciplinespecialitycommittee(array of(name, position, role))dedicationlogo(single image or array of images)
You can also load data from JSON/YAML and spread it into thesis-info.
Main functions
Core entrypoint
community-cnam-thesis(...)- Main setup wrapper for the whole document.
- Applies fonts, theme, colors, title page, bibliography style, and document options.
- Parameters:
title,authorthesis-infolang("fr"or"en")open-right(chapter opening behavior)
Theme-level helpers
#part("Title"): Styled part page.#minitoc: Mini table of contents of a chapter.tableofcontents: Table of contents of the thesis.listoffigures: List of figures.listoftables: List of tables.
Content helpers
algorithm[...]: Pseudocode blocks with thesis styling.backcover(resume: ..., abstract: ...): A back cover with bilingual summaries.
Review/annotation helpers
activate-comment/deactivate-comment: Enable/disable wide margin layout for review notes.comment(by: ..., type: ..., inline: ...)[...]: Margin or inline review note.highlight-comment(..., highlight-body: ...)[...]: Highlights text and attaches a comment.listofnotes: List of review notes.
Licence
MIT licensed
Caution: The Cnam logo included in the template is from Wikimedia and is under a CC-0 license.
Copyright © 2026 Mathieu AUCEJO (maucejo)