\documentclass[aspectratio=169]{beamer}

\usetheme[language=french]{Celestia}

\subject{Diaporama \LaTeX}
\title[Le thème beamer Celestia]{Démonstration du thème beamer Celestia}
\subtitle{Présentation des fonctionnalités principales}
\author{Razik Ikhlef}
\institute{https://edulatex.xyz}
\date{\today}

\newcommand{\apercu}[2]{%
  \begin{frame}[celestia={#1}]{Nombres premiers}
    \framesubtitle{#2}
    \begin{definition*}[title=Nombre premier]
      Un entier $p \geq 2$ est \emph{premier} s'il n'admet aucun diviseur autre que $1$ et lui-même.
    \end{definition*}
    \begin{example*}
      $2$, $3$, $5$, $7$ et $11$ sont premiers ; $9 = 3 \times 3$ ne l'est pas.
    \end{example*}
    \begin{alertblock}{Attention}
      Le nombre $1$ n'est pas premier.
    \end{alertblock}
  \end{frame}}

\begin{document}

\maketitle

\begin{frame}{Sommaire}
    \tableofcontents
\end{frame}

\section{Premiers pas}

\begin{frame}{Une diapositive simple}
    Le thème Celestia est un thème Beamer moderne et élégant, conçu pour créer des présentations professionnelles.

    \medskip

    Il propose :
    \begin{itemize}
        \item 7 palettes de couleurs
        \item 10 styles de titre de diapositive
        \item 11 styles de pied de page
        \item 22 styles de blocs
        \item 5 styles de code et 6 styles prédéfinis
    \end{itemize}
\end{frame}

\begin{frame}{Listes numérotées et descriptions}
    \framesubtitle{Prise en charge du sous-titre}

    Les trois moteurs de compilation sont supportés :
    \begin{enumerate}
        \item pdfLaTeX — compilation rapide, compatibilité maximale
        \item LuaLaTeX — accès natif aux polices système
        \item XeLaTeX — gestion avancée des polices OpenType
    \end{enumerate}

    \medskip

    \begin{description}
      \item[serifface] Police avec empattements (secondaire)
      \item[sansface] Police sans empattements (corps du texte)
      \item[monoface] Police à chasse fixe pour le code
      \item[mathface] Police pour les formules mathématiques
    \end{description}
\end{frame}

\section{Blocs et environnements}

\begin{frame}{Les trois types de blocs}
    \begin{block}{Bloc standard}
        Ce bloc utilise la couleur \texttt{blockcolor} définie par la palette. Il sert à mettre en valeur une information importante.
    \end{block}

    \begin{exampleblock}{Bloc exemple}
        Ce bloc utilise la couleur \texttt{examplecolor}. Il est adapté aux exemples et illustrations concrètes.
    \end{exampleblock}

    \begin{alertblock}{Bloc alerte}
        Ce bloc utilise la couleur \texttt{alertcolor}. Il attire l'attention sur un point critique ou un piège courant.
    \end{alertblock}
\end{frame}

\begin{frame}{Théorème et preuve}
  \begin{theorem}[title=Somme des premiers entiers]
    Pour tout entier $n \geq 1$ :
    \[ 1 + 2 + \cdots + n = \frac{n(n+1)}{2} \]
  \end{theorem}

  \begin{proof}
    On pose $S = 1 + 2 + \cdots + n$.
    En écrivant la somme dans l'ordre inverse :
    $S = n + (n-1) + \cdots + 1$.
    En additionnant terme à terme : $2S = n(n+1)$.
  \end{proof}
\end{frame}

\begin{frame}{Définitions et propriétés}
  \begin{definition}[title=Nombre premier]
        Un entier $\mathterm{p} \geq 2$ est dit \emph{premier} s'il n'admet aucun diviseur autre que $1$ et lui-même.
    \end{definition}

    \begin{property}[title=Infinité des nombres premiers]
        Il existe une infinité de nombres premiers.
    \end{property}

    \begin{remark}
        Le nombre $1$ n'est pas premier par convention.
    \end{remark}
\end{frame}

\begin{frame}{Lemme, corollaire et proposition}
    \begin{lemma}[title=Division euclidienne]
        Pour tout entier $a$ et tout entier $b > 0$, il existe un unique couple $(q, r)$ tel que $a = bq + r$ avec $0 \leq r < b$.
    \end{lemma}

    \begin{corollary}
        Tout entier est soit pair, soit impair.
    \end{corollary}

    \begin{proposition}
        Si $p$ est premier et $p \mid ab$, alors $p \mid a$ ou $p \mid b$.
    \end{proposition}
\end{frame}

\begin{frame}{Méthode, activité, application et exercice}
    \begin{method}[title=Factorisation]
        Pour factoriser $n$, tester successivement la divisibilité par $2, 3, 5, 7, \ldots$ jusqu'à $\sqrt{n}$.
    \end{method}

    \begin{columns}[T]
        \begin{column}{0.48\textwidth}
            \begin{activity}
                Décomposer $360$ en produit de facteurs premiers.
            \end{activity}
        \end{column}

        \begin{column}{0.48\textwidth}
            \begin{application}
                Simplifier la fraction $\dfrac{360}{84}$ en utilisant la décomposition en facteurs premiers.
            \end{application}
        \end{column}
    \end{columns}

    \begin{exercise}
        Montrer que $2^{10} - 1$ n'est pas premier.
    \end{exercise}
\end{frame}

\begin{frame}[fragile]{Synthèse et styles par famille}
    \begin{summary}
        \begin{itemize}
            \item Tout entier $n \geq 2$ est un produit de facteurs premiers.
            \item Il existe une infinité de nombres premiers.
        \end{itemize}
    \end{summary}

    Chaque famille de blocs a son style : un panneau pour les définitions et les résultats, un repère pour les exemples, les remarques, les preuves et les activités, un filet sous le titre pour les exercices. Une option par famille le change :

    \begin{lstlisting}[style=latex]
\usetheme[theoremblock=ruled, proofblock=masthead]{Celestia}
    \end{lstlisting}
\end{frame}

\section{Composants}

\begin{frame}{Question à choix multiples}
    \framesubtitle{L'environnement \texttt{quiz} avec \texttt{\textbackslash correct}}

    Quel est le résultat de $\displaystyle\int_0^1 2x\,dx$ ?

    \bigskip

    \begin{quiz}
        \item $0$
        \correct{$1$}
        \item $2$
        \item $\dfrac{1}{2}$
    \end{quiz}

    \bigskip

    \only<2>{\alert{La bonne réponse apparaît en surbrillance au clic.}}
\end{frame}

\begin{frame}[fragile]{Coloration syntaxique}
    Un style \texttt{python} est prédéfini pour la coloration des mots-clés :

    \begin{lstlisting}[style=python]
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

for i in range(10):
    print(fibonacci(i))
    \end{lstlisting}
\end{frame}

\begin{frame}[fragile]{Programme et résultat}
    \begin{code}{python}
for n in range(1, 4):
    print(f"{n} au carré vaut {n * n}")
    \end{code}

    \begin{results}
1 au carré vaut 1
2 au carré vaut 4
3 au carré vaut 9
    \end{results}
\end{frame}

\begin{frame}{Colonnes et blocs}
    \begin{columns}[T]
        \begin{column}{0.48\textwidth}
            \begin{block}{Avantages}
                \begin{itemize}
                    \item Design soigné
                    \item Personnalisation fine
                    \item 7 palettes
                    \item Compatible pdfLaTeX
                \end{itemize}
            \end{block}
        \end{column}

        \begin{column}{0.48\textwidth}
            \begin{exampleblock}{Personnalisation}
                Options de polices :
                \begin{itemize}
                    \item \texttt{serifface} (literata)
                    \item \texttt{sansface} (inter)
                    \item \texttt{monoface} (plex-mono)
                    \item \texttt{mathface} (inter)
                \end{itemize}
            \end{exampleblock}
        \end{column}
    \end{columns}
\end{frame}

\begin{frame}{Tableaux}
    Les dix palettes du thème :

    \medskip

    \centering
    \begin{tabular}{llc}
        \hline
        \tablehead{Palette} & \tablehead{Caractère} & \tablehead{Fond} \\
        \hline
        nordic & bleus glacés (défaut) & \texttt{\#F5F8F8} \\
        palatial & bleu nuit et or & \texttt{\#F8FAFC} \\
        petrol & vert pétrole et laiton & \texttt{\#F9FBF9} \\
        terracotta & terre cuite & \texttt{\#FFF9F5} \\
        velvet & prune et or & \texttt{\#FBF9F8} \\
        forest & vert forêt et cuivre & \texttt{\#F7FAF8} \\
        burgundy & bordeaux et or & \texttt{\#FDF8F8} \\
        graphite & gris anthracite et orange & \texttt{\#FCFBFA} \\
        midnight & indigo profond, fond sombre & \texttt{\#161828} \\
        dusk & bleu-vert, fond sombre & \texttt{\#131C20} \\
        \hline
    \end{tabular}

    \bigskip

    Les deux dernières conviennent aux salles peu éclairées.
\end{frame}

\begin{frame}{Chiffres clés et source}
    \begin{columns}[T]
        \begin{column}{0.3\textwidth}
            \keyfigure{7}{palettes de couleurs}
        \end{column}
        \begin{column}{0.3\textwidth}
            \keyfigure{6}{styles prédéfinis}
        \end{column}
        \begin{column}{0.3\textwidth}
            \keyfigure{3}{moteurs de compilation}
        \end{column}
    \end{columns}

    \vspace{2em}

    La commande \texttt{\textbackslash keyfigure} compose un nombre en grand corps, suivi de son libellé. La commande \texttt{\textbackslash source} inscrit une ligne de source au-dessus du pied de page.

    \source{Source : documentation de Celestia.}
\end{frame}

\begin{frame}{Commandes de formatage}
    Celestia fournit des commandes spécifiques :

    \medskip

    \begin{itemize}
        \item \alert{Texte en alerte} avec \texttt{\textbackslash alert\{...\}}
        \item $\mathterm{x}$ est un terme mathématique (\texttt{\textbackslash mathterm})
        \item $\mathdef{f}$ est une définition mathématique (\texttt{\textbackslash mathdef})
        \item \texttt{Code en ligne} avec \texttt{\textbackslash texttt\{...\}}
    \end{itemize}

    \bigskip

    Les formules s'intègrent naturellement :
    \[
        e^{i\pi} + 1 = 0
    \]
\end{frame}

\celestiaset{sectiontoc}

\section{Réglages en cours de document}

\begin{frame}[fragile, celestia={block=shaded}]{Une diapositive réglée à part}
    L'option de diapositive \texttt{celestia} change les réglages pour une seule diapositive :

    \begin{lstlisting}[style=latex]
\begin{frame}[celestia={block=shaded}]{Une diapositive réglée à part}
    \end{lstlisting}

    \begin{block}{Blocs \texttt{shaded}}
        Cette diapositive est la seule à utiliser ce style de bloc. La suivante retrouve les réglages du document.
    \end{block}
\end{frame}

\begin{frame}[fragile, celestia={palette=midnight}]{Une diapositive sombre}
    Les couleurs se changent de la même façon :

    \begin{lstlisting}[style=latex]
\begin{frame}[celestia={palette=midnight}]{Une diapositive sombre}
    \end{lstlisting}

    \begin{exampleblock}{Pour toute la suite}
        Placée entre deux diapositives, la commande \texttt{\textbackslash celestiaset\{...\}} s'applique à toutes celles qui suivent.
    \end{exampleblock}
\end{frame}

\begin{frame}{Le plan sur les pages de section}
    L'option \texttt{sectiontoc} rappelle le plan du diaporama sur chaque page de section.

    \medskip

    \begin{itemize}
        \item \texttt{sectiontoc} : la liste des sections tient lieu de titre. C'est la forme de la page de section qui précède.
        \item \texttt{sectiontoc=dots} : le titre reste seul, suivi d'un point par section. C'est la forme de la page de section qui suit.
    \end{itemize}
\end{frame}

\celestiaset{sectiontoc=dots}

\section{Styles prédéfinis et palettes}

\begin{frame}{Styles prédéfinis et palettes}
    Un style prédéfini règle d'un coup la palette, le titre de diapositive, le pied de page et les blocs. Les six diapositives suivantes montrent chacun des styles, les sept d'après chacune des palettes.

    \medskip

    Chaque réglage d'un style reste modifiable : \texttt{style=modern, palette=petrol}.
\end{frame}

\apercu{style=celestia}{\texttt{style=celestia} : palette nordic, titre ruled, pied info, blocs roles}
\apercu{style=modern}{\texttt{style=modern} : palette nordic, titre subtle, pied info, blocs sober}
\apercu{style=signature}{\texttt{style=signature} : palette petrol, titre cosmic, pied cosmic, blocs fullbar}
\apercu{style=executive}{\texttt{style=executive} : palette palatial, titre leftbar, pied fullbar, blocs fullbar}
\apercu{style=sober}{\texttt{style=sober} : palette terracotta, titre gradient, pied info, blocs sober}
\apercu{style=stage}{\texttt{style=stage} : palette midnight, titre ruled, pied minimalist, blocs ribbon}

\apercu{palette=nordic}{\texttt{palette=nordic} : bleus glacés scandinaves (défaut)}
\apercu{palette=palatial}{\texttt{palette=palatial} : bleu nuit avec accents dorés}
\apercu{palette=petrol}{\texttt{palette=petrol} : verts pétrole avec accents laiton}
\apercu{palette=terracotta}{\texttt{palette=terracotta} : tons terre cuite chaleureux}
\apercu{palette=velvet}{\texttt{palette=velvet} : prune sombre avec accents dorés}
\apercu{palette=forest}{\texttt{palette=forest} : vert forêt avec accents cuivrés}
\apercu{palette=burgundy}{\texttt{palette=burgundy} : bordeaux avec accents dorés}
\apercu{palette=graphite}{\texttt{palette=graphite} : gris anthracite avec un accent orange}
\apercu{palette=midnight}{\texttt{palette=midnight} : texte clair sur fond indigo profond}
\apercu{palette=dusk}{\texttt{palette=dusk} : texte clair sur fond sombre bleu-vert}

\begin{frame}{Texte et citations}
    Le corps de texte utilise une police sans empattement optimisée pour la projection. Les contrastes sont calibrés pour garantir la lisibilité, y compris dans les grandes salles.

    \vspace{1em}

    \begin{quote}
        \emph{La simplicité est la sophistication suprême.}

        \hfill\textcolor{emphasis}{--- Léonard de Vinci}
    \end{quote}

    \begin{quote}
        \emph{Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.}

        \hfill\textcolor{emphasis}{--- Nicolas Boileau}
    \end{quote}
\end{frame}

\begin{frame}[quote]
    La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.\\[0.6em]
    {\small Antoine de Saint-Exupéry}
\end{frame}

\begin{frame}[standout]
    Merci pour votre attention !

    \vspace{1em}
    \large celestia v2.3.0
\end{frame}
\end{document}
