\documentclass[9pt]{beamer}

\usepackage[T1]{fontenc}
%\usepackage{sourcesanspro}
%\usepackage[scaled=.9]{DejaVuSansCondensed}
%\usepackage[sfdefault,lining,scaled=.95]{FiraSans}
\usepackage{lmodern}
\usepackage[scale=.8,lining,type1]{FiraMono}

\usepackage{fontawesome}
\usepackage{multicol}


\usepackage{tikz}
\usetikzlibrary{shadows,arrows.meta,backgrounds,fit,calc,positioning}

\usepackage{fancyvrb}
\usepackage{listings}

\usepackage{hologo}
\hologoFontSetup{general=\normalfont\fontfamily{lmr}\selectfont\mdseries}
\AtBeginDocument{
  \def\LaTeX{\hologo{LaTeX}}
  \def\TeX{\hologo{TeX}}
}


\newenvironment{fragileframe}[1][]
{\begin{frame}[fragile,environment=fragileframe,#1]}
{\end{frame}}

\setbeamercolor{code}{parent=normal text,bg=albi blue!5!bg}
\setbeamercolor{code keyword}{parent=code,fg=albi blue!50!albi cyan!80!fg}
\setbeamercolor{code comment}{parent=code,fg=albi red!75!fg}
\setbeamercolor{code string}{parent=code,fg=albi green!50!fg}

\lstdefinestyle{textsmall}{basicstyle=\usebeamercolor[fg]{code}\small\mdseries\ttfamily}
\lstdefinestyle{textfootnotesize}{basicstyle=\usebeamercolor[fg]{code}\footnotesize\mdseries\ttfamily}
\lstdefinestyle{textscriptsize}{basicstyle=\usebeamercolor[fg]{code}\scriptsize\mdseries\ttfamily}
\lstdefinestyle{textsemitiny}{basicstyle=\usebeamercolor[fg]{code}\semitiny\mdseries\ttfamily}
\lstdefinestyle{texttiny}{basicstyle=\usebeamercolor[fg]{code}\tiny\mdseries\ttfamily}

\lstdefinestyle{LaTeX}{
  style=textsmall,
  fancyvrb=true,
  language=[LaTeX]TeX,
  keywordstyle=\usebeamercolor[fg]{code keyword}\bfseries,
  commentstyle=\usebeamercolor[fg]{code comment}\itshape,
  stringstyle=\usebeamercolor[fg]{code string}\ttfamily,
  stepnumber=1,
  numbersep=5pt,
  showspaces=false,
  showstringspaces=false,
  backgroundcolor=\usebeamercolor*{code}\color{bg},
  fontadjust=true,
  aboveskip=.3\baselineskip,
  belowskip=.3\baselineskip,
  emphstyle=\color{albi red},
  keepspaces=true,
  flexiblecolumns=true,
  upquote,
  moretexcs={
    defminesalbilogo,usetheme,institute,maketitle,frametitle,usefonttheme,
    setbeamercolor,scalebox,insertlogo,titlegraphic,includegraphics,subtitle,
    Albikeys,rotatebox,node,logo,titlepage,setbeamerfont,setbeamertemplate,
    Albisetlogofilename,
  }
}
\lstdefinestyle{LaTeXsmall}{style=LaTeX,style=textsmall}
\lstdefinestyle{LaTeXfootnotesize}{style=LaTeX,style=textfootnotesize}
\lstdefinestyle{LaTeXscriptsize}{style=LaTeX,style=textscriptsize}
\lstdefinestyle{LaTeXsemitiny}{style=LaTeX,style=textsemitiny}
\lstdefinestyle{LaTeXtiny}{style=LaTeX,style=texttiny}

\def\code{\lstinline[basicstyle=\mdseries\ttfamily\color{albi blue!50!albi cyan!80!fg}]}

\usetheme{Albi}

\def\logoone{%
  \begin{tikzpicture}
    \node[node font=\Large\bfseries,inner xsep=1em,
      inner ysep=.5em,fill=cyan!50!green,text=white]
    {\rotatebox{30}{Logo}};
  \end{tikzpicture}
}

\def\bmt{\emph{beamer-template} \code}
\def\bmf{\emph{beamer-font} \code}
\def\bmc{\emph{beamer-color} \code}
\def\bmtf{\emph{beamer-template/-font} \code}
\def\bmtc{\emph{beamer-template/-color} \code}
\def\bmfc{\emph{beamer-font/-color} \code}
\def\bmtfc{\emph{beamer-template/-font/-color} \code}
\def\ab{\emph{albi-keys} \code}

\def\bmparen#1#2{\hbox{{\footnotesize(#1{#2})}}}

\NewDocumentEnvironment{lwcolumns}{}{
  \columns[onlytextwidth]
  \column{\dimexpr\textwidth-\linewidth}
}{
  \endcolumns
}

\newbool{dark theme}
\setbool{dark theme}{false}

\ifbool{dark theme}{
  \setbeamercolor{albi title page.title}{fg=white,bg=black!80!white}
  \setbeamercolor{albi title page.logo}{fg=white,bg=black!70!white}
  \setbeamercolor{albi title page.author}{fg=white,bg=black!60!white}
  \setbeamercolor{albi title page.empty}{fg=white,bg=black!90!white}
  
  \setbeamercolor{frametitle}{bg=albi yellow,fg=albi green}
  
  \setbeamercolor{albi part page.title}{fg=yellow,bg=black!80!white}
  \setbeamercolor{albi part page.logo}{fg=orange,bg=black!70!white}
  \setbeamercolor{albi part page.empty}{fg=white,bg=black!60!white}
  
  \setbeamercolor{footline}{fg=white,bg=albi black!90!albi blue}
  \setbeamercolor{date in head/foot}{parent=footline,fg=gray}
  \setbeamercolor{institute in head/foot}{parent=footline,fg=gray}
  
  \setbeamercolor{frametitle}{bg=blue!20!black,fg=gray!20!white}
  
  \setbeamercolor{subsection in head/foot}{bg=cyan!20!black,fg=albi green!30}
  
  \setbeamercolor{albi section page.toc}{fg=yellow,bg=black!80!white}
  \setbeamercolor{albi section page.logo}{fg=orange,bg=black!70!white}
  \setbeamercolor{albi section page.part}{fg=white,bg=black!60!white}
  
  \setbeamercolor{alerted text}{fg=albi red!50!albi orange!50!fg}
  \setbeamercolor{example text}{fg=albi green!50!white}
  \setbeamercolor{normal text}{bg=albi black,fg=albi silver!50!white}

  \setbeamercolor{block title}{bg=albi blue!50!bg,fg=white}
  \setbeamercolor{block body}{parent=normal text,bg=albi blue!30!bg,fg=albi blue!30!fg}
  
  \setbeamercolor{background canvas}{bg=albi black,fg=white}
  \setbeamertemplate{background canvas}[default]

  \setbeamercolor{code}{parent=normal text,bg=albi cyan!20!bg}
  \setbeamercolor{code keyword}{parent=code,fg=albi cyan!50!fg}
  \setbeamercolor{code comment}{parent=code,fg=albi red!50!fg}
  \def\code{\lstinline[basicstyle=\mdseries\ttfamily\color{albi cyan!50!fg}]}

}{}

\title{Albi Beamer Theme}
\subtitle{Documentation}
\author{Paul Gaborit}
\institute{Albi, France}
\date{\today}
\logo{\logoone}


\begin{document}

\begin{frame}[plain]
  \titlepage
\end{frame}

\begin{frame}
  \frametitle{Contents}

    \partname~\ref{part:one} \nameref{part:one}

    \tableofcontents[part=1]

    \partname~\ref{part:epilogue} \nameref{part:epilogue}

\end{frame}

\part{User manual}
\label{part:one}

\section{Usage}

% ------------------------------------------------------------
% activation
% ------------------------------------------------------------
\subsection{Albi theme and options}

\def\initialvalue#1{{\footnotesize\mbox{(initially: \code{#1})}}}

\begin{fragileframe}
  \frametitle{How to use Albi theme}

  \begin{itemize}
  \item In the preamble of the beamer document:
    
\begin{lstlisting}[style=LaTeX]
\usetheme{Albi}
\end{lstlisting}

    \vfill

    \item Boolean options:
      
      \begin{description}[\mdseries\texttt{compactfootline}]
      \item[\mdseries\texttt{compactfootline}] Compact the footline
        \initialvalue{false}.
        
      \item[\mdseries\texttt{compacttitle}] Compact the frame title
        \initialvalue{false}.
        
      \item[\mdseries\texttt{partpage}] Add a part page at the beginning
        of every part \initialvalue{true}.
        
      \item[\mdseries\texttt{sectionpage}] Add a section page at the
        beginning of every section \initialvalue{true}.
      \end{description}
      
      \vfill
      
\begin{lstlisting}[style=LaTeX]
% compact
\usetheme[compactfootline,compacttitle]{Albi}
\end{lstlisting}
      
      \vfill
      
\begin{lstlisting}[style=LaTeX]
% suppress part pages and section pages
\usetheme[partpage=false,sectionpage=false]{Albi}
\end{lstlisting}

    
  \item Change options during the document:

\begin{lstlisting}[style=LaTeX]
\Albikeys{compactfootline,compacttitle,partpage=false,sectionpage=false}
\end{lstlisting}
    
  \end{itemize}
\end{fragileframe}


% ------------------------------------------------------------
% title page
% ------------------------------------------------------------
\subsection{Title page}

\begin{fragileframe}

  \frametitle{How to insert a title page}

  \begin{itemize}
  \item In the preamble of the beamer document:

\begin{lstlisting}[style=LaTeX]
\title{A Good Title}
\subtitle{with a good subtitle} % optional
\author{My name}
\institute{Organization name}
\date{\today}
\logo{\includegraphics{logo}}
\end{lstlisting}

  \item To insert a title page:

    \begin{lwcolumns}

      \column{.45\linewidth}
      
\begin{lstlisting}[style=LaTeX]
\begin{frame}[plain]
  \titlepage
\end{frame}
\end{lstlisting}

      \column{.1\linewidth}

      {\centering or \par}

      \column{.45\linewidth}

\begin{lstlisting}[style=LaTeX]
\begin{frame}[plain]
  \maketitle
\end{frame}
\end{lstlisting}

    \end{lwcolumns}
  \end{itemize}
  
\end{fragileframe}

% ------------------------------------------------------------
% main logo
% ------------------------------------------------------------
\subsection{Logos}

\begin{fragileframe}
  \frametitle{How to choose logos}


  % --------------------
  \begin{onlyenv}<+>
    
    \begin{itemize}
    \item Via a picture (\code{mylogo.pdf}, \code{mylogo.png} or \code{mylogo.jpg}):
      
\begin{lstlisting}[style=LaTeX]
\logo{\includegraphics{mylogo}}
\end{lstlisting}

      or: 
      
\begin{lstlisting}[style=LaTeX]
\Albisetlogofilename{mylogo}
\end{lstlisting}
      
      or: 
      
\begin{lstlisting}[style=LaTeX]
\Albikeys{all logos={\includegraphics{mylogo}}}
\end{lstlisting}
      
      \begin{itemize}
      \item[\faHandORight] The logo picture is automatically scaled and
        inserted in the \emph{footline}, \emph{title page}, \emph{part
          pages} and \emph{section pages}.
      \end{itemize}
    \end{itemize}
  \end{onlyenv}

  % --------------------
  \begin{onlyenv}<+>
    
    \begin{itemize}
    \item With different logos:
      
\begin{lstlisting}[style=LaTeX]
\Albikeys{
  footline logo={\includegraphics{logo-for-footline}},
  logo={\includegraphics{logo-for-title-page}},
  part logo={\includegraphics{logo-for-part-page}},
  section logo={\includegraphics{logo-for-section-page}},
}
\end{lstlisting}


      \begin{itemize}
      \item[\faHandORight] Logos pictures are automatically scaled and
        inserted in the \emph{footline}, \emph{title page}, \emph{part
          pages} and \emph{section pages}.
      \end{itemize}
    \end{itemize}
    
  \end{onlyenv}
  
  % --------------------
  \begin{onlyenv}<+>

    \begin{itemize}
    \item Using any \LaTeX{} code (as in this document):
    
\begin{lstlisting}[style=LaTeX]
\Albikeys{
  all logos={%
    \begin{tikzpicture}
      \node[node font=\Large\bfseries,inner xsep=1em,
         inner ysep=.5em,fill=cyan!50!green,text=white]
      {\rotatebox{30}{Logo}};
    \end{tikzpicture}%
  },
}
\end{lstlisting}

      \begin{itemize}
      \item[\faHandORight] Content is automatically scaled and inserted
        in the \emph{footline}, \emph{title page}, \emph{part pages} and
        \emph{section pages}.
      \item[\faGear] Scaling is computed according to the bounding box
        of the provided code.
      \item[\faHandORight] A specific code can be provided to each specific
        key (\code{footline logo}, \code{logo}, \code{part logo}
        and \code{section logo}).
      \end{itemize}
    \end{itemize}
  \end{onlyenv}
\end{fragileframe}


\section{Colors and texts}

\subsection{Color scheme}

\begin{fragileframe}
  \frametitle{Color scheme}

  {
    \centering
    
    \begin{tikzpicture}[x=5mm,y=5mm,line width=.5pt,remember picture,inner sep=0]
      
      \path (0,-.3)
      node[minimum width=30mm,minimum height=6mm,font=\ttfamily\scriptsize]
      (pure){pure};
      
      \path (pure.west) ++(.5,0) coordinate (w-pure);
      \path (pure.east) ++(-.5,0) coordinate (b-pure);
      
      \foreach \val [count=\nv] in {90,80,60,50,40,20,10}{
        \path (w-pure) ++(-\nv,0) coordinate (w-\val)
        node[font=\ttfamily\scriptsize,anchor=base] {\val};
        \path (b-pure) ++(\nv,0) coordinate (b-\val)
        node[font=\ttfamily\scriptsize,anchor=base] {\val};
      }
      
      \path (b-10) ++(0,.5) node[anchor=base east,font=\ttfamily\scriptsize]
      {$\rightarrow$ black};
      
      \path (w-10) ++(0,.5) node[anchor=base west,font=\ttfamily\scriptsize]
      {white $\leftarrow$};
      
      \path (b-10) ++(1.5,0) node[anchor=base,font=\ttfamily\scriptsize]
      {gray};
      
      \foreach \mycol[count=\nc] in {
        albi blue,
        albi dark blue,
        albi black,
        albi green,
        albi red,
        albi gray,
        albi cyan,
        albi orange,
        albi yellow,
        albi silver%
      }{\usebeamercolor{\mycol}%
        \extractcolorspecs{fg}{\mymodelspec}{\mycolorspec}
        \node[font=\ttfamily\semitiny,inner sep=0,
          minimum width=30mm,minimum height=.9*5mm,
          fill=fg,
          align=center,text=bg,draw=fg,
          rounded corners=1mm] (\mycol)  at (0,-\nc)
        {%
          \textbf{\mycol}\\[-.2em]
          \semitiny\mymodelspec(\foreach \val[count=\c] in \mycolorspec {%
            \pgfmathsetmacro\valcent{int(round(\val*255))}\valcent%
            \ifnum\c=3\relax\else,\fi%
          })%
        };
        
        \foreach \val [count=\nv] in {90,80,60,50,40,20,10}{
          \path (w-\val |- \mycol) coordinate (\mycol!\val!white);
          \fill[fill=fg!\val!white,draw=fg,rounded corners=1mm]
          (\mycol!\val!white) +(-.45,-.45) rectangle +(.45,.45);
          
          \path (b-\val |- \mycol) coordinate (\mycol!\val!black);
          \fill[fill=fg!\val!black,draw=fg,rounded corners=1mm]
          (\mycol!\val!black) +(-.45,-.45) rectangle +(.45,.45);
        }
        
        \colorlet{gray color}[gray]{\mycol}
        \fill[fill=gray color,draw=gray color,rounded corners=1mm]
        (\mycol!10!black) ++(1.5,0) +(-.45,-.45) rectangle +(.45,.45);
      }
      
    \end{tikzpicture}
    
    \vfill
    
    \begin{tikzpicture}[remember picture,x=5mm,y=3mm,inner sep=0]
      \foreach \exa/\out/\in [count=\c] in {
        albi green/0/0,
        albi blue!60!white/180/270,
        albi red!60!black/0/270%
      }
      {
        \node[font=\ttfamily\scriptsize,anchor=base west,text=\exa,text depth=0]
        (a) at (0,-\c){\rule{.8em}{.8em} \exa};
        \begin{scope}[overlay]
          \draw[{Stealth[{fill=fg}]-},draw=bg,double=fg,line cap=round]
          (a) to[out=\out,in=\in] (\exa);
        \end{scope}
      }
    \end{tikzpicture}

  }

  
  \begin{itemize}
    \footnotesize
  \item[\faGear] All colors are also define as \bmc{} (with black or white background color).
  \end{itemize}
  
\end{fragileframe}

\begin{frame}
  \frametitle{Distribution in color space}
  
  \centering
  \begin{tikzpicture}
    \def\myradius{1.5pt}

    \coordinate (red) at (60:3cm);
    \coordinate (green) at (180:3cm);
    \coordinate (blue) at (-60:3cm);

    \tikzset{
      line style/.style={draw=gray!50,line width=1pt,dashed,line join=round,line cap=round},
      pastille/.style={fill=####1,draw=gray,line width=0.01pt},
      lab/.style={font=\semitiny,fill=white,fill opacity=.25,text opacity=1,inner sep=.01mm,####1=1.5mm}
    }
    \draw[line style] (red) -- (blue) -- (green) -- cycle;
    \foreach \mycol/\pos in {red/right,green/right,blue/right}{
      \fill[pastille=\mycol] (\mycol) circle (\myradius) node[text=\mycol,lab=\pos]{\mycol};
    }

    \foreach \mycol/\pos[count=\nc] in {
      albi blue/right,
      albi dark blue/right,
      albi black/above,
      albi gray/below,
      albi silver/right,
      albi orange/right,
      albi red/right,
      albi yellow/below,
      albi cyan/right,
      albi green/above%
    }{
      \usebeamercolor{\mycol}
      \extractcolorspecs{\mycol}{\mymodelspec}{\mycolorspec}
      \pgfmathsetmacro\myred{int(round(array({\mycolorspec},0)*100))}
      \pgfmathsetmacro\mygreen{int(round(array({\mycolorspec},1)*100))}
      \pgfmathsetmacro\myblue{int(round(array({\mycolorspec},2)*100))}
      \fill[\mycol,draw=black]
      (barycentric cs:red=\myred,green=\mygreen,blue=\myblue)
      circle (\myradius)
      node[text=bg,lab=\pos,fill=fg,fill opacity=1,inner sep=.1em]{\mycol};
    }

    \path (current bounding box.west) ++(-2cm,0) coordinate(grayline);
    \coordinate (white) at (red -| grayline);
    \coordinate (black) at (blue -| grayline);
      
    \draw[line style] (white) -- (black);
    \foreach \mycol in {white,black}{
      \fill[pastille=\mycol]
      (\mycol) circle (\myradius) node[lab=left]{\mycol};
    }
    
    \foreach \mycol/\pos[count=\nc] in {
      albi blue/left,
      albi dark blue/right,
      albi black/right,
      albi gray/left,
      albi silver/left,
      albi orange/right,
      albi red/right,
      albi yellow/right,
      albi cyan/right,
      albi green/below left%
    }{
      \usebeamercolor{\mycol}
      \colorlet{current gray color}[gray]{\mycol}
      \extractcolorspecs{current gray color}{\mymodelspec}{\mycolorspec}
      \path (black) -- (white)  coordinate[pos=\mycolorspec] (g);
      \fill[pastille=\mycol]  (g) circle (\myradius)
      node[text=bg,lab=\pos,fill=fg,fill opacity=1,inner sep=.1em]{\mycol};
    }
  \end{tikzpicture}
\end{frame}

\subsection{Text sizes}

\begin{fragileframe}
  \frametitle{Text sizes}

  \begin{multicols}{2}
    \def\demotext{Example}
    \begin{description}[\ttfamily\string\footnotesize]
    \item[\ttfamily\string\TINY] {\TINY\demotext\par}
    \item[\ttfamily\string\Tiny] {\Tiny\demotext\par}
    \item[\ttfamily\string\tiny] {\tiny\demotext\par}
    \item[\ttfamily\string\semitiny] {\semitiny\demotext\par}
    \item[\ttfamily\string\scriptsize] {\scriptsize\demotext\par}
    \item[\ttfamily\string\footnotesize] {\footnotesize\demotext\par}
    \item[\ttfamily\string\small] {\small\demotext\par}
    \item[\ttfamily\string\normalsize] {\normalsize\demotext\par}
    \item[\ttfamily\string\large] {\large\demotext\par}
    \item[\ttfamily\string\Large] {\Large\demotext\par}
    \item[\ttfamily\string\LARGE] {\LARGE\demotext\par}
    \item[\ttfamily\string\huge] {\huge\demotext\par}
    \item[\ttfamily\string\Huge] {\Huge\demotext\par}
    \item[\ttfamily\string\HUGE] {\HUGE\demotext\par}
    \end{description}
  \end{multicols}

  \begin{itemize}
  \item[\faHandORight] \code{\HUGE} and \code{\semitiny} don't exist in beamer
  \end{itemize}

\end{fragileframe}

% ------------------------------------------------------------
% Blocks
% ------------------------------------------------------------

\subsection{Blocks}

\begin{filecontents*}[overwrite]{\jobname-example1.vrb}
\begin{block}{Title}
  Content of \texttt{block}...
\end{block}
\end{filecontents*}

\begin{filecontents*}[overwrite]{\jobname-example2.vrb}
\begin{alertblock}{Title}
  Content of \texttt{alertblock}...
\end{alertblock}
\end{filecontents*}

\begin{filecontents*}[overwrite]{\jobname-example3.vrb}
\begin{exampleblock}{Title}
  Content of \texttt{exampleblock}...
\end{exampleblock}
\end{filecontents*}

\begin{fragileframe}
  \frametitle{Blocks}

  \begin{columns}[onlytextwidth]
    \column{.425\linewidth}
    \lstinputlisting[style=LaTeX]{\jobname-example1.vrb}
    \input{\jobname-example1.vrb}

    \column{.525\linewidth}
    \lstinputlisting[style=LaTeX]{\jobname-example2.vrb}
    \input{\jobname-example2.vrb}
  \end{columns}

  \begin{columns}[onlytextwidth]
    \column{.425\linewidth}
    \begin{itemize}
    \item[\faHandORight] Do not overuse it !
    \end{itemize}

    \column{.525\linewidth}
    \lstinputlisting[style=LaTeX]{\jobname-example3.vrb}
    \input{\jobname-example3.vrb}
  \end{columns}
  
\end{fragileframe}



\section{Customizations}

\subsection{Special pages: title, part, section}

\begin{fragileframe}
  \frametitle{Customize the title page}

  The predefined option \code{[albi]} \bmparen\bmt{title page} is
  divided into four areas:
  
  \begin{enumerate}
  \item the logo area \bmparen\bmc{albi title page.logo} contains the
    logo.
    
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi title page.logo}{fg=black,bg=white}
\end{lstlisting}
    
  \item the title area \bmparen\bmc{albi title page.title} contains the
    title \bmparen\bmfc{title} and the subtitle \bmparen\bmfc{subtitle}.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi title page.title}{use=albi orange,fg=albi orange.bg,bg=albi orange.fg}
\setbeamerfont{title}{series=\bfseries,size=\LARGE}
\end{lstlisting}

  \item the author area \bmparen\bmc{albi title page.author} contains
    the author \bmparen\bmfc{author}, the institute
    \bmparen\bmfc{institute}, date \bmparen\bmfc{date} and titlegraphic
    \bmparen\bmfc{titlegraphic}.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi title page.author}{use=albi cyan,fg=albi cyan.bg,bg=albi cyan.fg}
\setbeamerfont{author}{series=\bfseries,size=\large}
\end{lstlisting}
    
  \item the empty area \bmparen\bmc{albi title page.empty}.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi title page.empty}{use=albi dark blue,fg=albi dark blue.bg,bg=albi dark blue.fg}
\end{lstlisting}
    
  \end{enumerate}
  
\end{fragileframe}

\begin{fragileframe}
  \frametitle{Customize part pages}

  The predefined option \code{[albi]} \bmparen\bmt{part page} is divided
  into three areas:
  
  \begin{enumerate}
  \item the empty area \bmparen\bmc{albi part page.empty}.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi part page.empty}{use=albi orange,fg=albi orange.bg,bg=albi orange.fg}
\end{lstlisting}

  \item the title area \bmparen\bmc{albi part page.title} contains the
    part name \bmparen\bmfc{part name} and the part title
    \bmparen\bmfc{part title}.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi part page.title}{use=albi cyan,fg=albi cyan.bg,bg=albi cyan.fg}
\setbeamerfont{part name in part page}{parent=part name}
\setbeamerfont{part title in part page}{parent=part title}
\end{lstlisting}
        
  \item the logo area \bmparen\bmc{albi part page.logo} contains the logo.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi part page.logo}{fg=black,bg=white}
\end{lstlisting}
    
  \end{enumerate}

\end{fragileframe}

\begin{fragileframe}
  \frametitle{Customize section pages}

  The predefined option \code{[albi]} \bmparen\bmt{section page} is divided
  into three areas:
  
  \begin{enumerate}
  \item the toc area \bmparen\bmc{albi section page.toc} contains the
    table of content of the current part with current section details.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi section page.toc}{parent=normal text}
\end{lstlisting}

  \item the part area \bmparen\bmc{albi section page.part} contains the
    part name \bmparen\bmfc{part name in section page} and the part title
    \bmparen\bmfc{part title in section page}.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi section page.part}{use=albi orange,fg=albi orange.bg,bg=albi orange.fg}
\setbeamerfont{part name in section page}{parent=part name,size=\normalsize}
\setbeamerfont{part title in section page}{parent=part title,size=\normalsize}
\end{lstlisting}
        
  \item the logo area \bmparen\bmc{albi section page.logo} contains the logo.
    
\begin{lstlisting}[style=LaTeXsemitiny]
\setbeamercolor{albi section page.logo}{use=albi silver,fg=albi silver.bg,bg=albi silver.fg}
\end{lstlisting}
    
  \end{enumerate}

\end{fragileframe}

\subsection{Frame title, headline and footline}

\begin{fragileframe}
  \frametitle{Frame title}

  \begin{itemize}
  \item The predefined option \code{[albi]} \bmparen\bmt{frametitle}
    displays the frame title \bmparen\bmfc{frametitle}, the frame
    subtitle \bmparen\bmfc{framesubtitle} if exists and the frame number
    \bmparen\bmfc{frame number}.

  \item Predefined options for frame number \bmparen\bmt{frame number}:

    {
      \footnotesize
      \begin{description}[\mdseries\texttt{[frame+slide with total]}]
      \item[\mdseries\texttt{[none]}] no frame number.
      \item[\mdseries\texttt{[frame]}] frame number.
      \item[\mdseries\texttt{[frame with total]}] frame number/total.
      \item[\mdseries\texttt{[frame+slide]}] frame number with slide number if exists.
      \item[\mdseries\texttt{[frame+slide with total]}] frame number with slide number if exists/total
      \end{description}
    }

    \begin{itemize}
    \item[\faHandORight] The default option is \code{[frame+slide with total]}:

\begin{lstlisting}[style=LaTeXfootnotesize]
\setbeamertemplate{frame number}[frame+slide with total]
\end{lstlisting}
    \end{itemize}
    
  \end{itemize}
  
\end{fragileframe}

\begin{fragileframe}
  \frametitle{Headline (navigation bar)}
    
  \begin{itemize}
  \item The predefined option \code{[albi]} \bmparen\bmt{headline} displays on the...

    \begin{description}[...right]

    \item[...left] all sections \bmparen\bmtfc{section in head/foot} with
      the current section highlighted \bmparen\bmt{section in head/foot
        shaded}.

    \item[...right] all subsections \bmparen\bmtfc{subsection in
        head/foot} of the current section with the current
      subsection highlighted \bmparen\bmt{subsection in head/foot shaded}.

    \end{description}

\begin{lstlisting}[style=LaTeXscriptsize]
\setbeamercolor{section in head/foot}{use=albi dark blue,fg=albi dark blue.bg,bg=albi dark blue.fg}
\setbeamercolor{subsection in head/foot}{use=albi orange,fg=albi orange.bg,bg=albi orange.fg}

\setbeamerfont{section in head/foot}{parent={headline},series=\bfseries}
\setbeamerfont{subsection in head/foot}{parent={headline},series=\bfseries}
\end{lstlisting}

    \begin{itemize}
    \item[\faHandORight] The predefined options
      \code{[albi with number]} \bmparen\bmt{section in head/foot}
      \bmparen\bmt{subsection in head/foot} displays the number of
      sections and subsections. The default predefined option is
      \code{[albi]}.
    \end{itemize}

  \item[\faHandORight] The headline can be \emph{compressed} (showing
    only current section and subsection) using the class option or the
    theme option \code{compress}:

\begin{lstlisting}[style=LaTeXscriptsize]
\documentclass[compress]{beamer}
\end{lstlisting}
      
\begin{lstlisting}[style=LaTeXscriptsize]
\Albikeys{compress=true}
\end{lstlisting}

  \end{itemize}
\end{fragileframe}

\begin{filecontents*}[force]{\jobname-example1.vrb}
\Albikeys{other logos list={example-image-b/8mm,example-image-c/4mm,example-image-a/7mm}}
\end{filecontents*}

\input{\jobname-example1.vrb}
  
\begin{fragileframe}
  \frametitle{Footline}
  
  \begin{itemize}
  \item The predefined option \code{[albi]} \bmparen\bmt{footline} displays:
    
    \begin{itemize}
    \item the footline logo if defined \bmparen\ab{footline logo},
    \item the title \bmparen\bmfc{title in head/foot} and the date \bmparen\bmfc{date in head/foot},
    \item the author \bmparen\bmfc{author in head/foot} and the
      institute \bmparen\bmfc{institute in head/foot},
    \item others logos if defined \bmparen\ab{other logos list}.
    \end{itemize}

\begin{lstlisting}[style=LaTeXscriptsize]
\setbeamercolor{footline}{fg=black,bg=albi silver}
\setbeamercolor{author in head/foot}{parent=footline}
\setbeamercolor{date in head/foot}{parent=footline}
\setbeamercolor{title in head/foot}{parent=footline}
\setbeamercolor{institute in head/foot}{parent=footline}

\setbeamerfont{author in head/foot}{parent={footline}}
\setbeamerfont{title in head/foot}{parent={footline}}
\setbeamerfont{institute in head/foot}{parent={footline}}
\setbeamerfont{date in head/foot}{parent={footline}}
\end{lstlisting}

    
  \item[\faHandORight] The \code{other logos list} is a list (possibly
    empty) of pairs \emph{image/width}:
    \lstinputlisting[style=LaTeXscriptsize]{\jobname-example1.vrb}
  \end{itemize}
\end{fragileframe}

\Albikeys{other logos list={}}

\begin{filecontents*}[force]{\jobname-example1.vrb}
\setbeamercolor{block title}{bg=albi orange,fg=white}
\setbeamercolor{block body}{bg=albi orange!10!white,fg=albi black}

\setbeamercolor{block title alerted}{bg=albi gray,fg=white}
\setbeamercolor{block body alerted}{bg=albi black!10!white,fg=albi black}

\setbeamercolor{block title example}{bg=albi blue,fg=white}
\setbeamercolor{block body example}{bg=albi blue!10!white,fg=albi black}
\end{filecontents*}

\subsection{Blocks}

\begin{fragileframe}
  \frametitle{Blocks with custom colors}
  
  \begin{itemize}
  \item Default colors :
    
    \begin{lwcolumns}
      
      \column{.29\linewidth}
      \begin{block}{Title (\texttt{block})}
        Content...
      \end{block}
      
      \column{.03333\linewidth}
      
      \column{.3\linewidth}
      \begin{alertblock}{Title (\texttt{alertblock})}
        Content...
      \end{alertblock}
      
      \column{.03333\linewidth}
      
      \column{.31\linewidth}
      \begin{exampleblock}{Title (\texttt{exampleblock})}
        Content...
      \end{exampleblock}
      
    \end{lwcolumns}
    
  \item Custom colors :
    
    \lstinputlisting[style=LaTeXscriptsize]{\jobname-example1.vrb}
    
    \input{\jobname-example1.vrb}
    
    \begin{lwcolumns}
      \column{.29\linewidth}
      \begin{block}{Title (\texttt{block})}
        Content...
      \end{block}
      
      \column{.03333\linewidth}
      
      \column{.3\linewidth}
      \begin{alertblock}{Title (\texttt{alertblock})}
        Content...
      \end{alertblock}
      
      \column{.03333\linewidth}
      
      \column{.31\linewidth}
      \begin{exampleblock}{Title (\texttt{exampleblock})}
        Content...
      \end{exampleblock}
      
    \end{lwcolumns}
  \end{itemize}
\end{fragileframe}


\part{Epilogue}
\label{part:epilogue}

\begin{frame}[plain]

  \centering
  \color{albi red}
  
  \HUGE  \textbf{Thank you for your time}

  \vfill
  
  \huge
  Questions, comments, suggestions, bugs...\\
  \href{mailto:paul.gaborit@gmail.com}{\faEnvelopeO~paul.gaborit@gmail.com}
  
\end{frame}

\end{document}


% LocalWords:  Albi beamer compactfootline footline compacttitle mylogo
% LocalWords:  partpage sectionpage pdf png jpg alertblock exampleblock
% LocalWords:  albi titlegraphic toc frametitle framesubtitle bg fg

%%% Local Variables:
%%% mode: LaTeX
%%% TeX-master: t
%%% LaTeX-verbatim-macros-with-braces-local: ("code")
%%% End:
