\documentclass[12pt]{article}
\usepackage[french]{babel}
\usepackage{cmpt}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{tikz}
\usepackage{float}
\usepackage{enumitem}
\usepackage{caption}
\usepackage{csquotes}
\usepackage[
    backend=biber,
    style=alphabetic,
    sorting=ynt
]{biblatex}
\addbibresource{references.bib}
\nocite{*}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{automata}
\usetikzlibrary{arrows}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{calc}

\theoremstyle{definition}

\newtheorem{definition}{Définition}[section]
\newtheorem{remark}[definition]{Remarque}
\newtheorem{lemma}[definition]{Lemme}
\newtheorem{example}{Example}[definition]

\makeatletter
\renewcommand{\thedefinition}{\arabic{section}.\arabic{definition}}
\makeatother

%--- begin document -----------------------------------------------------------

\title{Définition Formelle --- Glushkovizer}
\author{}
\date{}

\begin{document}

\maketitle

\begin{abstract}
    Ce document constitue la définition formelle des différents types de
    données utilisés tout au long de cette librairie. Dans un premier temps,
    nous nous concentrerons sur les expressions régulières et les fonctions
    définies sur celles-ci. Puis, dans un second temps, nous nous intéresserons
    aux automates et à leurs diverses fonctions définies sur eux. Enfin, pour
    finir, nous parlerons d'automates particuliers, ceux de Glushkov, nous
    aborderons leurs constructions ainsi que leurs propriétés.
\end{abstract}

\newpage

\tableofcontents

\include{prelude}

\include{regexp}

\include{automata}

\include{glushkov}

\include{conclusion}

\printbibliography[title=Bibliographie]

\end{document}
