\documentclass[
french,
compacttoc,
twocolumntoc,
inlinecodebox,
mainface=Zilla Slab,
sansface=Source Sans 3,
sansfaceoptions={Scale=0.92},
monoface=IBM Plex Mono,
monofaceoptions={Scale=0.88},
]{neoschool}

\title{Le thème Celestia}
\author{Version : 1.1.1 \quad\textemdash{}\quad Auteur : Razik Ikhlef\\[\baselineskip]
  {\normalsize\href{https://apps.edulatex.xyz}{https://apps.edulatex.xyz}}\\[\baselineskip]
  {\normalsize\href{mailto:razik.ikhlef@csilyon.fr}{razik.ikhlef@csilyon.fr}}}
\date{\today}

\begin{document}

\maketitle

\tableofcontents
\newpage

\section{Introduction}

Le thème Celestia est un thème Beamer moderne et élégant, conçu pour créer des présentations professionnelles et esthétiques. Il offre une grande flexibilité de personnalisation tout en restant simple d'utilisation.

\subsection{Utilisation de base}

\begin{code}{latex}
\documentclass{beamer}
\usetheme{Celestia}

\title{Ma présentation}
\author{Mon nom}
\date{\today}

\begin{document}
\maketitle
% Vos diapositives ici
\end{document}
\end{code}

\section{Langue}

\subsection{Option \texttt{language}}

Définit la langue de la présentation, passée automatiquement à l'extension \texttt{babel}.

\textbf{Valeur par défaut :} \texttt{english}

\begin{code}{latex}
\usetheme[language=french]{Celestia}
\end{code}

\section{Palettes de couleurs}

\subsection{Palettes prédéfinies}

Le thème propose 26 palettes harmonieuses. Chaque palette définit automatiquement toutes les couleurs (principale, accent, blocs, fond).

\subsubsection{Option \texttt{palette}}

\subsubsection*{Valeur par défaut : \texttt{midnight}}

\subsubsection*{Palettes disponibles}
\begin{itemize}
    \item \textbf{midnight} -- Bleu nuit profond avec accents dorés (défaut)
    \item \textbf{ocean} -- Tons bleus aquatiques et turquoise
    \item \textbf{sunset} -- Palette chaleureuse rouge-orange
    \item \textbf{royal} -- Bleu royal classique avec touches rouges
    \item \textbf{frost} -- Tons froids cyan et bleu glacé
    \item \textbf{slate} -- Gris ardoise sobre et moderne
    \item \textbf{terra} -- Tons terre et terracotta
    \item \textbf{forest} -- Verts forestiers naturels
    \item \textbf{spring} -- Rose et turquoise printaniers
    \item \textbf{plum} -- Violets prune élégants
    \item \textbf{sepia} -- Bruns sépia vintage
    \item \textbf{navy} -- Bleu marine avec vert émeraude
    \item \textbf{crimson} -- Rouge cramoisi intense
    \item \textbf{emerald} -- Verts émeraude vibrants
    \item \textbf{amber} -- Oranges ambrés chaleureux
    \item \textbf{lavender} -- Violets lavande doux
    \item \textbf{copper} -- Cuivre et tons métalliques
    \item \textbf{coral} -- Bleu-vert et tons corail
    \item \textbf{earth} -- Tons terre et bois naturels
    \item \textbf{modern} -- Palette moderne équilibrée
    \item \textbf{neon} -- Contrastes vifs néon
    \item \textbf{nordic} -- Palette inspirée du design nordique
    \item \textbf{pastel} -- Tons pastel doux
    \item \textbf{retro} -- Couleurs rétro vintage
    \item \textbf{sakura} -- Rose japonais et violet
    \item \textbf{solar} -- Oranges solaires énergiques
    \item \textbf{twilight} -- Bleus crépusculaires
    \item \textbf{bnw} -- Noir et blanc minimaliste
\end{itemize}

\begin{code}{latex}
\usetheme[palette=ocean]{Celestia}
\end{code}

\subsection{Palette personnalisée}

\subsubsection{Option \texttt{custompalette}}

Permet de définir une palette complète personnalisée en spécifiant six couleurs dans l'ordre : couleur principale, accent, bloc standard, bloc exemple, bloc alerte, fond.

\begin{code}{latex}
\usetheme[
    custompalette={2C3E50,E74C3C,3498DB,27AE60,E67E22,ECF0F1}
]{Celestia}
\end{code}

\subsection{Couleurs individuelles}

Pour une personnalisation plus fine, vous pouvez définir chaque couleur séparément (codes hexadécimaux sans le \#).

\begin{itemize}
    \item \textbf{maincolor} -- Couleur principale pour les titres et accents (\texttt{0A1F3C} par défaut)
    \item \textbf{accentcolor} -- Couleur secondaire pour les éléments spéciaux (\texttt{B38600} par défaut)
    \item \textbf{backgroundcolor} -- Couleur de fond des diapositives (\texttt{F8FAFC} par défaut)
    \item \textbf{codebackgroundcolor} -- Couleur de fond des blocs de code
    \item \textbf{blockcolor} -- Couleur des blocs standards (\texttt{4A6572} par défaut)
    \item \textbf{examplecolor} -- Couleur des blocs exemple (\texttt{4A7C59} par défaut)
    \item \textbf{alertcolor} -- Couleur des blocs alerte (\texttt{A93226} par défaut)
\end{itemize}

\begin{code}{latex}
\usetheme[
    maincolor=045549,
    accentcolor=E63946,
    backgroundcolor=FAFAFA,
    blockcolor=1A3B52
]{Celestia}
\end{code}

\subsubsection{Option \texttt{unicolor}}

Active un mode monochrome où la couleur principale est utilisée pour tout le texte.

\begin{code}{latex}
\usetheme[unicolor]{Celestia}
\end{code}

\section{Polices}

\subsection{Polices par défaut}

\begin{itemize}
    \item \textbf{Police principale :} Literata (avec empattements)
    \item \textbf{Police sans :} Inter
    \item \textbf{Police mono :} Roboto Mono
\end{itemize}

\subsection{Personnalisation des polices}

\begin{itemize}
    \item \textbf{mainface} -- Police principale pour le texte
    \item \textbf{mainfaceoptions} -- Options \texttt{fontspec} pour la police principale
    \item \textbf{sansface} -- Police sans empattements
    \item \textbf{sansfaceoptions} -- Options \texttt{fontspec} pour la police sans
    \item \textbf{monoface} -- Police à chasse fixe pour le code
    \item \textbf{monofaceoptions} -- Options \texttt{fontspec} pour la police mono
\end{itemize}

\begin{code}{latex}
\usetheme[
    mainface=EB Garamond,
    mainfaceoptions={Scale=1.1},
    sansface=Montserrat,
    monoface=Fira Code
]{Celestia}
\end{code}

\subsubsection{Option \texttt{allserif}}

Utilise la police principale avec empattements pour les mathématiques.

\begin{code}{latex}
\usetheme[allserif]{Celestia}
\end{code}

\section{Mise en page}

\subsection{Marges}

\subsubsection{Option \texttt{margin}}

Définit la marge du contenu des diapositives.

\textbf{Valeur par défaut :} \texttt{2em}

\begin{code}{latex}
\usetheme[margin=1.5em]{Celestia}
\end{code}

\subsection{Style du titre de diapositive}

\subsubsection{Option \texttt{frametitle}}

Définit le style d'affichage du titre de chaque diapositive.

\subsubsection*{Valeur par défaut : \texttt{elegant}}

\subsubsection*{Valeurs possibles :}
\begin{itemize}
    \item \textbf{elegant} -- Titre avec barre décorative à gauche
    \item \textbf{plain} -- Simple, aligné à gauche sans décoration
    \item \textbf{centered} -- Centré avec barre décorative
    \item \textbf{plaincentered} -- Centré sans décoration
    \item \textbf{shaded} -- Titre avec fond ombré coloré
\end{itemize}

\begin{code}{latex}
\usetheme[frametitle=centered]{Celestia}
\end{code}

\subsection{Éléments décoratifs}

\subsubsection{Options \texttt{decorative} et \texttt{nodecorative}}

Active ou désactive les éléments décoratifs (dégradés, triangles).

\textbf{Par défaut :} désactivé

\begin{code}{latex}
\usetheme[decorative]{Celestia}
% ou
\usetheme[nodecorative]{Celestia}
\end{code}

\subsubsection{Option \texttt{decorationstyle}}

Définit le style des décorations visuelles.

\subsubsection*{Valeur par défaut : \texttt{none}}

\subsubsection*{Valeurs possibles}
\begin{itemize}
  \item \textbf{none} -- Aucune décoration
  \item \textbf{sober} -- Décorations sobres et discrètes
  \item \textbf{fancy} -- Décorations élaborées et créatives
  \item \textbf{minimal} -- Décorations minimalistes
\end{itemize}

\begin{code}{latex}
\usetheme[decorationstyle=fancy]{Celestia}
\end{code}

\subsubsection{Option \texttt{decorationopacity}}

Définit l'opacité des éléments décoratifs (valeur entre 0 et 1).

\textbf{Valeur par défaut :} \texttt{0.15}

\begin{code}{latex}
\usetheme[
    decorationstyle=fancy,
    decorationopacity=0.15
]{Celestia}
\end{code}

\subsection{Page de titre}

\subsubsection{Option \texttt{titlealign}}

Définit l'alignement du titre sur la page de titre.

\subsubsection*{Valeur par défaut : \texttt{center}}

\subsubsection*{Valeurs possibles : \texttt{left}, \texttt{center}, \texttt{right}}

\begin{code}{latex}
\usetheme[titlealign=right]{Celestia}
\end{code}

\subsubsection{Option \texttt{titlebackground}}

Permet de spécifier une image de fond pour la page de titre.

\begin{code}{latex}
\usetheme[titlebackground=images/background.jpg]{Celestia}
\end{code}

\section{Style des titres}

\subsection{Famille de police}

\subsubsection{Option \texttt{headstyle}}

Définit la famille de police pour les titres.

\subsubsection*{Valeur par défaut : \texttt{sffamily}}

\subsubsection*{Valeurs possibles}
\begin{itemize}
    \item \textbf{rmfamily} -- Police avec empattements
    \item \textbf{sffamily} -- Police sans empattements
\end{itemize}

\subsection{Forme des caractères}

\subsubsection{Option \texttt{headshape}}

Définit la forme des caractères pour les titres.

\subsubsection*{Valeur par défaut : \texttt{normal}}

\subsubsection*{Valeurs possibles}
\begin{itemize}
    \item \textbf{normal} -- Forme normale
    \item \textbf{sc} -- Petites capitales
    \item \textbf{it} -- Italique
\end{itemize}

\subsection{Graisse}

\subsubsection{Option \texttt{headweight}}

Définit la graisse des titres.

\subsubsection*{Valeur par défaut : \texttt{bfseries}}

\subsubsection*{Valeurs possibles}
\begin{itemize}
    \item \textbf{bfseries} -- Gras
    \item \textbf{mdseries} -- Poids moyen
\end{itemize}

\subsection{Taille des titres}

Le thème permet de personnaliser la taille de différents éléments de titre :

\begin{itemize}
    \item \textbf{titlesize} -- Taille du titre principal (page de titre) (\texttt{Large} par défaut)
    \item \textbf{frametitlesize} -- Taille du titre de diapositive (\texttt{large} par défaut)
    \item \textbf{sectiontitlesize} -- Taille du titre de section (\texttt{LARGE} par défaut)
    \item \textbf{subtitlesize} -- Taille du sous-titre (\texttt{Large} par défaut)
\end{itemize}

Les valeurs possibles sont les commandes de taille LaTeX standard : \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, \texttt{large}, \texttt{Large}, \texttt{LARGE}, \texttt{huge}, \texttt{Huge}.

\begin{code}{latex}
\usetheme[
    titlesize=Huge,
    frametitlesize=Large,
    sectiontitlesize=huge
]{Celestia}
\end{code}

\subsection{Exemple combiné}

\begin{code}{latex}
\usetheme[
    headstyle=rmfamily,
    headshape=sc,
    headweight=mdseries
]{Celestia}
\end{code}

\section{Code source}

\subsection{Gestionnaire de code}

\subsubsection{Option \texttt{codehandler}}

Définit le système de gestion du code.

\subsubsection*{Valeur par défaut : \texttt{listings}}

\subsubsection*{Valeurs possibles}
\begin{itemize}
    \item \textbf{listings} -- Utilise l'extension \texttt{listings}
    \item \textbf{minted} -- Utilise l'extension \texttt{minted} (nécessite Pygments)
\end{itemize}

\begin{code}{latex}
\usetheme[codehandler=minted]{Celestia}
\end{code}

\subsection{Encadrement du code}

\subsubsection{Options \texttt{codebox}, \texttt{nocodebox}, \texttt{nocodeframe}}

Contrôle l'encadrement des blocs de code avec \texttt{tcolorbox}.

\textbf{Par défaut :} \texttt{codebox=true} (encadrement activé)

\begin{itemize}
    \item \textbf{codebox} -- Active l'encadrement (actif par défaut)
    \item \textbf{nocodebox} -- Désactive complètement l'encadrement
    \item \textbf{nocodeframe} -- Conserve \texttt{tcolorbox} mais sans bordure visible
\end{itemize}

\begin{code}{latex}
\usetheme[nocodeframe]{Celestia}
\end{code}

\subsection{Langages supportés}

Le thème supporte la coloration syntaxique pour de nombreux langages :

\textbf{Langages de programmation :} Python, Java, C++, JavaScript, SQL, Bash, Assembly, Lisp

\textbf{Formats de données :} JSON, YAML, TOML, CSV

\textbf{Autres :} LaTeX, Markdown

\subsection{Utilisation}

\begin{code}{latex}
\begin{codeside}{python}
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)
\end{codeside}
\end{code}

\section{Pied de page}

\subsection{Option \texttt{footerstyle}}

Définit le style du pied de page.

\subsubsection{Valeurs possibles}
\begin{itemize}
    \item \textbf{default} -- Style par défaut de Celestia avec alternance de couleurs (auteur, titre, date, page)
    \item \textbf{quartercircle} -- Numéro dans un quart de cercle en bas à droite
    \item \textbf{fullbar} -- Barre complète avec auteur/titre/date et numéro dans un cercle
    \item \textbf{shadedfullbar} -- Barre complète avec fond ombré
    \item \textbf{number} -- Affichage simple du numéro de diapositive
    \item \textbf{fraction} -- Affichage sous forme de fraction (diapo courante / total)
\end{itemize}

\begin{code}{latex}
\usetheme[footerstyle=quartercircle]{Celestia}
\end{code}

\subsection{Option \texttt{shownavigation}}

Affiche les symboles de navigation Beamer (désactivés par défaut).

\begin{code}{latex}
\usetheme[shownavigation]{Celestia}
\end{code}

\section{Table des matières}

\subsection{Option \texttt{compacttoc}}

Réduit l'espacement vertical entre les entrées de la table des matières.

\begin{code}{latex}
\usetheme[compacttoc]{Celestia}
\end{code}

\subsection{Option \texttt{twocolumntoc}}

Répartit automatiquement les sections sur deux colonnes équilibrées.

\begin{code}{latex}
\usetheme[twocolumntoc]{Celestia}
\end{code}

\subsection{Commande personnalisée}

La commande \verb|\twocolumntoc| permet de contrôler manuellement la répartition sur deux colonnes.

\begin{code}{latex}
% Sections 1-4 dans la colonne gauche, 5-10 dans la droite
\twocolumntoc[1][5][10]
\end{code}

\section{Blocs}

\subsection{Types de blocs}

Trois types de blocs sont disponibles :

\begin{code}{latex}
\begin{block}{Titre du bloc}
    Contenu du bloc standard
\end{block}

\begin{exampleblock}{Exemple}
    Contenu du bloc exemple
\end{exampleblock}

\begin{alertblock}{Attention}
    Contenu du bloc alerte
\end{alertblock}
\end{code}

\subsection{Style des blocs}

\subsubsection{Options \texttt{soberblock}, \texttt{softblock}, \texttt{shadedblock} et \texttt{nobackblock}}

Définit le style visuel des blocs.

\textbf{Par défaut :} titre sur fond coloré, corps avec fond teinté à 10\%

\begin{itemize}
    \item \textbf{soberblock} -- Titre coloré sur fond général, corps légèrement teinté
    \item \textbf{softblock} -- Titre et corps sur fond uniformément teinté à 10\%
    \item \textbf{shadedblock} -- Blocs avec fond ombré
    \item \textbf{nobackblock} -- Blocs sans fond coloré
\end{itemize}

\begin{code}{latex}
\usetheme[soberblock]{Celestia}
\end{code}

\subsubsection{Options d'opacité des blocs}

Permet de contrôler l'intensité des fonds colorés pour chaque style de bloc (valeur entre 0 et 1) :

\begin{itemize}
    \item \textbf{shadedblockopacity} -- Opacité pour \texttt{shadedblock} (\texttt{0.35} par défaut)
    \item \textbf{soberblockopacity} -- Opacité pour \texttt{soberblock} (\texttt{0.18} par défaut)
    \item \textbf{softblockopacity} -- Opacité pour \texttt{softblock} (\texttt{0.18} par défaut)
\end{itemize}

\begin{code}{latex}
\usetheme[
    soberblock,
    soberblockopacity=0.20
]{Celestia}
\end{code}

\section{Pages spéciales}

\subsection{Pages d'emphase (standout)}

L'option de frame \texttt{standout} transforme une diapositive en page d'emphase pour les moments clés : citations, messages importants, etc.

\begin{code}{latex}
\begin{frame}[standout]
    \centering
    \Huge
    Message important

    \vspace{1em}
    \large
    --- Citation
\end{frame}
\end{code}

\subsection{Pages de section}

\subsubsection{Options \texttt{sectionpage} et \texttt{sectionnumber}}

Contrôle l'affichage automatique des pages de section.

\textbf{Par défaut :} \texttt{sectionpage=true}, \texttt{sectionnumber=false}

\begin{itemize}
    \item \textbf{sectionpage} -- Active/désactive les pages de section automatiques
    \item \textbf{sectionnumber} -- Affiche/masque les numéros de section
\end{itemize}

\begin{code}{latex}
\usetheme[
    sectionpage=false,
    sectionnumber=true
]{Celestia}
\end{code}

Pour désactiver manuellement dans le document :

\begin{code}{latex}
\AtBeginSection{}
\AtBeginSubsection{}
\end{code}

\section{Formatage du texte}

\subsection{Commandes spéciales}

\begin{itemize}
    \item \verb|\texttt{texte}| -- Police monospace avec couleur d'accent
    \item \verb/\verb|texte|/ -- Comme \texttt{\textbackslash texttt} pour du code inline
    \item \verb|\alert{texte}| -- Texte en gras avec couleur d'accent
\end{itemize}

\subsection{Option \texttt{boldurl}}

Active les URLs en gras dans les hyperliens.

\begin{code}{latex}
\usetheme[boldurl]{Celestia}
\end{code}

\section{\textit{Thèmes} prédéfinis}

\subsection{Option \texttt{scheme}}

Applique un thème prédéfini qui configure automatiquement plusieurs paramètres (style de décoration, pied de page, titre de frame, blocs) pour obtenir un rendu cohérent.

\subsubsection*{Valeurs disponibles}

\begin{itemize}
    \item \textbf{light} -- Style léger avec décorations sobres, barre de pied de page ombrée complète, titres ombrés et blocs \textbf{sans fond}.
    \item \textbf{academic} -- Style académique sans décorations, titres centrés, un quart de cercle contenant le numéro de la page à droite du pied de page et blocs ombrés.
    \item \textbf{creative} -- Style créatif avec décorations fantaisie, barre de pied de page complète, blocs doux et titres simples.
    \item \textbf{zen} -- Style minimaliste épuré avec décorations minimales, numérotation simple, titres \textbf{centrés et simples} et blocs sans fond.
    \item \textbf{simple} -- Style ultra-simple sans décorations, numérotation fraction, titres simples et blocs sans fond.
\end{itemize}

\begin{code}{latex}
\usetheme[scheme=zen]{Celestia}
\end{code}

\begin{note}
  Les paramètres définis par le scheme peuvent être surchargés en spécifiant explicitement d'autres options.
\end{note}

\end{document}
