\documentclass[ english, compacttoc, twocolumntoc, vspacing=0.85, inlinecodebox, mainface=Zilla Slab, sansface=Source Sans 3, sansfaceoptions={Scale=0.92}, monoface=IBM Plex Mono, monofaceoptions={Scale=0.88}, ]{neoschool} \title{The Celestia Theme} \author{Version: 1.1.1 \quad\textemdash{}\quad Author: 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} The Celestia theme is a modern and elegant Beamer theme designed to create professional and visually appealing presentations. It offers extensive customization flexibility while remaining simple to use. \subsection{Basic Usage} \begin{code}{latex} \documentclass{beamer} \usetheme{Celestia} \title{My Presentation} \author{My Name} \date{\today} \begin{document} \maketitle % Your slides here \end{document} \end{code} \section{Language} \subsection{The \texttt{language} Option} Sets the presentation language, automatically passed to the \texttt{babel} package. \textbf{Default value:} \texttt{english} \begin{code}{latex} \usetheme[language=french]{Celestia} \end{code} \section{Color Palettes} \subsection{Predefined Palettes} The theme provides 26 harmonious color palettes. Each palette automatically defines all colors (primary, accent, blocks, background). \subsubsection{The \texttt{palette} Option} \subsubsection*{Default value: \texttt{midnight}} \subsubsection*{Available Palettes} \begin{itemize} \item \textbf{midnight} -- Deep midnight blue with golden accents (default) \item \textbf{ocean} -- Aquatic blue and turquoise tones \item \textbf{sunset} -- Warm red-orange palette \item \textbf{royal} -- Classic royal blue with red touches \item \textbf{frost} -- Cool cyan and icy blue tones \item \textbf{slate} -- Sober and modern slate gray \item \textbf{terra} -- Earth and terracotta tones \item \textbf{forest} -- Natural forest greens \item \textbf{spring} -- Spring pink and turquoise \item \textbf{plum} -- Elegant plum purples \item \textbf{sepia} -- Vintage sepia browns \item \textbf{navy} -- Navy blue with emerald green \item \textbf{crimson} -- Intense crimson red \item \textbf{emerald} -- Vibrant emerald greens \item \textbf{amber} -- Warm amber oranges \item \textbf{lavender} -- Soft lavender purples \item \textbf{copper} -- Copper and metallic tones \item \textbf{coral} -- Blue-green and coral tones \item \textbf{earth} -- Earth and natural wood tones \item \textbf{modern} -- Balanced modern palette \item \textbf{neon} -- Vivid neon contrasts \item \textbf{nordic} -- Nordic design-inspired palette \item \textbf{pastel} -- Soft pastel tones \item \textbf{retro} -- Vintage retro colors \item \textbf{sakura} -- Japanese pink and purple \item \textbf{solar} -- Energetic solar oranges \item \textbf{twilight} -- Twilight blues \item \textbf{bnw} -- Minimalist black and white \end{itemize} \begin{code}{latex} \usetheme[palette=ocean]{Celestia} \end{code} \subsection{Custom Palette} \subsubsection{The \texttt{custompalette} Option} Allows you to define a complete custom palette by specifying six colors in order: primary color, accent, standard block, example block, alert block, background. \begin{code}{latex} \usetheme[ custompalette={2C3E50,E74C3C,3498DB,27AE60,E67E22,ECF0F1} ]{Celestia} \end{code} \subsection{Individual Colors} For finer customization, you can define each color separately (hexadecimal codes without the \#). \begin{itemize} \item \textbf{maincolor} -- Primary color for titles and accents (default \texttt{0A1F3C}) \item \textbf{accentcolor} -- Secondary color for special elements (default \texttt{B38600}) \item \textbf{backgroundcolor} -- Slide background color (default \texttt{F8FAFC}) \item \textbf{codebackgroundcolor} -- Code block background color \item \textbf{blockcolor} -- Standard block color (default \texttt{4A6572}) \item \textbf{examplecolor} -- Example block color (default \texttt{4A7C59}) \item \textbf{alertcolor} -- Alert block color (default \texttt{A93226}) \end{itemize} \begin{code}{latex} \usetheme[ maincolor=045549, accentcolor=E63946, backgroundcolor=FAFAFA, blockcolor=1A3B52 ]{Celestia} \end{code} \subsubsection{The \texttt{unicolor} Option} Enables monochrome mode where the primary color is used for all text. \begin{code}{latex} \usetheme[unicolor]{Celestia} \end{code} \section{Fonts} \subsection{Default Fonts} \begin{itemize} \item \textbf{Main font:} Literata (serif) \item \textbf{Sans-serif font:} Inter \item \textbf{Monospace font:} Roboto Mono \end{itemize} \subsection{Font Customization} \begin{itemize} \item \textbf{mainface} -- Main font for body text \item \textbf{mainfaceoptions} -- \texttt{fontspec} options for the main font \item \textbf{sansface} -- Sans-serif font \item \textbf{sansfaceoptions} -- \texttt{fontspec} options for the sans-serif font \item \textbf{monoface} -- Monospace font for code \item \textbf{monofaceoptions} -- \texttt{fontspec} options for the monospace font \end{itemize} \begin{code}{latex} \usetheme[ mainface=EB Garamond, mainfaceoptions={Scale=1.1}, sansface=Montserrat, monoface=Fira Code ]{Celestia} \end{code} \subsubsection{The \texttt{allserif} Option} Uses the main serif font for mathematics. \begin{code}{latex} \usetheme[allserif]{Celestia} \end{code} \section{Layout} \subsection{Margins} \subsubsection{The \texttt{margin} Option} Sets the content margin for slides. \textbf{Default value:} \texttt{2em} \begin{code}{latex} \usetheme[margin=1.5em]{Celestia} \end{code} \subsection{Frame Title Style} \subsubsection{The \texttt{frametitle} Option} Defines the display style for each slide's title. \subsubsection*{Default value: \texttt{elegant}} \subsubsection*{Available Values:} \begin{itemize} \item \textbf{elegant} -- Title with decorative bar on the left \item \textbf{plain} -- Simple, left-aligned without decoration \item \textbf{centered} -- Centered with decorative bar \item \textbf{plaincentered} -- Centered without decoration \item \textbf{shaded} -- Title with shaded colored background \end{itemize} \begin{code}{latex} \usetheme[frametitle=centered]{Celestia} \end{code} \subsection{Decorative Elements} \subsubsection{The \texttt{decorative} and \texttt{nodecorative} Options} Enables or disables decorative elements (gradients, triangles). \textbf{Default:} disabled \begin{code}{latex} \usetheme[decorative]{Celestia} % or \usetheme[nodecorative]{Celestia} \end{code} \subsubsection{The \texttt{decorationstyle} Option} Defines the visual style of decorations. \subsubsection*{Default value: \texttt{none}} \subsubsection*{Available Values} \begin{itemize} \item \textbf{none} -- No decorations \item \textbf{sober} -- Sober and discreet decorations \item \textbf{fancy} -- Elaborate and creative decorations \item \textbf{minimal} -- Minimalist decorations \end{itemize} \begin{code}{latex} \usetheme[decorationstyle=fancy]{Celestia} \end{code} \subsubsection{The \texttt{decorationopacity} Option} Sets the opacity of decorative elements (value between 0 and 1). \textbf{Default value:} \texttt{0.15} \begin{code}{latex} \usetheme[ decorationstyle=fancy, decorationopacity=0.15 ]{Celestia} \end{code} \subsection{Title Page} \subsubsection{The \texttt{titlealign} Option} Sets the title alignment on the title page. \subsubsection*{Default value: \texttt{center}} \subsubsection*{Available values: \texttt{left}, \texttt{center}, \texttt{right}} \begin{code}{latex} \usetheme[titlealign=right]{Celestia} \end{code} \subsubsection{The \texttt{titlebackground} Option} Allows you to specify a background image for the title page. \begin{code}{latex} \usetheme[titlebackground=images/background.jpg]{Celestia} \end{code} \section{Title Styling} \subsection{Font Family} \subsubsection{The \texttt{headstyle} Option} Sets the font family for titles. \subsubsection*{Default value: \texttt{sffamily}} \subsubsection*{Available Values} \begin{itemize} \item \textbf{rmfamily} -- Serif font \item \textbf{sffamily} -- Sans-serif font \end{itemize} \subsection{Character Shape} \subsubsection{The \texttt{headshape} Option} Sets the character shape for titles. \subsubsection*{Default value: \texttt{normal}} \subsubsection*{Available Values} \begin{itemize} \item \textbf{normal} -- Normal shape \item \textbf{sc} -- Small caps \item \textbf{it} -- Italic \end{itemize} \subsection{Weight} \subsubsection{The \texttt{headweight} Option} Sets the font weight for titles. \subsubsection*{Default value: \texttt{bfseries}} \subsubsection*{Available Values} \begin{itemize} \item \textbf{bfseries} -- Bold \item \textbf{mdseries} -- Medium weight \end{itemize} \subsection{Title Sizes} The theme allows customization of the size of different title elements: \begin{itemize} \item \textbf{titlesize} -- Main title size (title page) (default \texttt{Large}) \item \textbf{frametitlesize} -- Frame title size (default \texttt{large}) \item \textbf{sectiontitlesize} -- Section title size (default \texttt{LARGE}) \item \textbf{subtitlesize} -- Subtitle size (default \texttt{Large}) \end{itemize} Available values are standard LaTeX size commands: \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{Combined Example} \begin{code}{latex} \usetheme[ headstyle=rmfamily, headshape=sc, headweight=mdseries ]{Celestia} \end{code} \section{Source Code} \subsection{Code Handler} \subsubsection{The \texttt{codehandler} Option} Defines the code management system. \subsubsection*{Default value: \texttt{listings}} \subsubsection*{Available Values} \begin{itemize} \item \textbf{listings} -- Uses the \texttt{listings} package \item \textbf{minted} -- Uses the \texttt{minted} package (requires Pygments) \end{itemize} \begin{code}{latex} \usetheme[codehandler=minted]{Celestia} \end{code} \subsection{Code Framing} \subsubsection{The \texttt{codebox}, \texttt{nocodebox}, \texttt{nocodeframe} Options} Controls the framing of code blocks with \texttt{tcolorbox}. \textbf{Default:} \texttt{codebox=true} (framing enabled) \begin{itemize} \item \textbf{codebox} -- Enables framing (active by default) \item \textbf{nocodebox} -- Completely disables framing \item \textbf{nocodeframe} -- Keeps \texttt{tcolorbox} but without visible border \end{itemize} \begin{code}{latex} \usetheme[nocodeframe]{Celestia} \end{code} \subsection{Supported Languages} The theme supports syntax highlighting for many languages: \textbf{Programming languages:} Python, Java, C++, JavaScript, SQL, Bash, Assembly, Lisp \textbf{Data formats:} JSON, YAML, TOML, CSV \textbf{Others:} LaTeX, Markdown \subsection{Usage} \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{Footer} \subsection{The \texttt{footerstyle} Option} Defines the footer style. \subsubsection{Available Values} \begin{itemize} \item \textbf{default} -- Celestia's default style with alternating colors (author, title, date, page) \item \textbf{quartercircle} -- Page number in a quarter circle at bottom right \item \textbf{fullbar} -- Full bar with author/title/date and number in a circle \item \textbf{shadedfullbar} -- Full bar with shaded background \item \textbf{number} -- Simple page number display \item \textbf{fraction} -- Displayed as a fraction (current slide / total) \end{itemize} \begin{code}{latex} \usetheme[footerstyle=quartercircle]{Celestia} \end{code} \subsection{The \texttt{shownavigation} Option} Displays Beamer navigation symbols (disabled by default). \begin{code}{latex} \usetheme[shownavigation]{Celestia} \end{code} \section{Table of Contents} \subsection{The \texttt{compacttoc} Option} Reduces vertical spacing between table of contents entries. \begin{code}{latex} \usetheme[compacttoc]{Celestia} \end{code} \subsection{The \texttt{twocolumntoc} Option} Automatically distributes sections across two balanced columns. \begin{code}{latex} \usetheme[twocolumntoc]{Celestia} \end{code} \subsection{Custom Command} The \verb|\twocolumntoc| command allows manual control of the two-column distribution. \begin{code}{latex} % Sections 1-4 in left column, 5-10 in right column \twocolumntoc[1][5][10] \end{code} \section{Blocks} \subsection{Block Types} Three types of blocks are available: \begin{code}{latex} \begin{block}{Block Title} Standard block content \end{block} \begin{exampleblock}{Example} Example block content \end{exampleblock} \begin{alertblock}{Warning} Alert block content \end{alertblock} \end{code} \subsection{Block Styles} \subsubsection{The \texttt{soberblock}, \texttt{softblock}, \texttt{shadedblock}, and \texttt{nobackblock} Options} Defines the visual style of blocks. \textbf{Default:} title on colored background, body with 10\% tinted background \begin{itemize} \item \textbf{soberblock} -- Colored title on general background, lightly tinted body \item \textbf{softblock} -- Title and body on uniformly tinted 10\% background \item \textbf{shadedblock} -- Blocks with shaded background \item \textbf{nobackblock} -- Blocks without colored background \end{itemize} \begin{code}{latex} \usetheme[soberblock]{Celestia} \end{code} \subsubsection{Block Opacity Options} Allows control of colored background intensity for each block style (value between 0 and 1): \begin{itemize} \item \textbf{shadedblockopacity} -- Opacity for \texttt{shadedblock} (default \texttt{0.35}) \item \textbf{soberblockopacity} -- Opacity for \texttt{soberblock} (default \texttt{0.18}) \item \textbf{softblockopacity} -- Opacity for \texttt{softblock} (default \texttt{0.18}) \end{itemize} \begin{code}{latex} \usetheme[ soberblock, soberblockopacity=0.20 ]{Celestia} \end{code} \section{Special Pages} \subsection{Standout Pages} The \texttt{standout} frame option transforms a slide into an emphasis page for key moments: quotes, important messages, etc. \begin{code}{latex} \begin{frame}[standout] \centering \Huge Important Message \vspace{1em} \large --- Quote \end{frame} \end{code} \subsection{Section Pages} \subsubsection{The \texttt{sectionpage} and \texttt{sectionnumber} Options} Controls the automatic display of section pages. \textbf{Default:} \texttt{sectionpage=true}, \texttt{sectionnumber=false} \begin{itemize} \item \textbf{sectionpage} -- Enables/disables automatic section pages \item \textbf{sectionnumber} -- Shows/hides section numbers \end{itemize} \begin{code}{latex} \usetheme[ sectionpage=false, sectionnumber=true ]{Celestia} \end{code} To manually disable in the document: \begin{code}{latex} \AtBeginSection{} \AtBeginSubsection{} \end{code} \section{Text Formatting} \subsection{Special Commands} \begin{itemize} \item \verb|\texttt{text}| -- Monospace font with accent color \item \verb/\verb|text|/ -- Like \texttt{\textbackslash texttt} for inline code \item \verb|\alert{text}| -- Bold text with accent color \end{itemize} \subsection{The \texttt{boldurl} Option} Enables bold URLs in hyperlinks. \begin{code}{latex} \usetheme[boldurl]{Celestia} \end{code} \section{Predefined Schemes} \subsection{The \texttt{scheme} Option} Applies a predefined scheme that automatically configures multiple parameters (decoration style, footer, frame title, blocks) to achieve a cohesive look. \subsubsection*{Available Values} \begin{itemize} \item \textbf{light} -- Light style with sober decorations, shaded full bar footer, shaded titles, and \textbf{blocks without background}. \item \textbf{academic} -- Academic style without decorations, centered titles, a quarter circle containing the page number on the right side of the footer, and shaded blocks. \item \textbf{creative} -- Creative style with fancy decorations, full bar footer, soft blocks, and plain titles. \item \textbf{zen} -- Minimalist refined style with minimal decorations, simple numbering, \textbf{plain centered titles}, and blocks without background. \item \textbf{simple} -- Ultra-simple style without decorations, fraction numbering, plain titles, and blocks without background. \end{itemize} \begin{code}{latex} \usetheme[scheme=zen]{Celestia} \end{code} \begin{note} Parameters defined by the scheme can be overridden by explicitly specifying other options. \end{note} \end{document}