@@ -1,51 +1,51 @@
%
%
% beamerthemeKenotom.sty
%
%
% A beamer style file to use in a kenotom presentation
%
% author: Christos Choutouridis <c.choutouridis@kenotom.com>
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemeKenotom}
\ProvidesPackage{beamerthemeKenotom}[2023/05/12 Kenotom beamer theme]
% Requirements
% =====================================================
\RequirePackage{xcolor}
%\RequirePackage{silence}
%\RequirePackage{etoolbox}
\RequirePackage{fontspec}
\RequirePackage{tikz}
\RequirePackage{graphicx}
%\RequirePackage{hyperref}
\RequirePackage{ifthen}
\RequirePackage[absolute,overlay]{textpos}
% Options
% =====================================================
% theme: {classic(default), light, dark}
% key-value: theme: {classic(default), light, dark}
\DeclareOptionBeamer{theme}{\def\beamer@kenotom@theme{#1}}
% backround: {none(default), ribon}
% key-value: backround: {none(default), ribon}
\DeclareOptionBeamer{backround}{\def\beamer@kenotom@backround{#1}}
% title: {normal(default), small, large}
% key-value: title: {normal(default), small, large}
\DeclareOptionBeamer{title}{\def\beamer@kenotom@title{#1}}
% no navigation: {enable(default), disable}
% key-value: navigation: {enable(default), disable}
\DeclareOptionBeamer{navigation}{\def\beamer@kenotom@navigation{#1}}
% key-value: fancy: {disable(default), enable}
\DeclareOptionBeamer{fancy}{\def\beamer@kenotom@fancy{#1}}
% Set default options
\ExecuteOptionsBeamer{theme=classic}
\ExecuteOptionsBeamer{backround=none}
\ExecuteOptionsBeamer{title=normal}
\ExecuteOptionsBeamer{navigation=enable}
\ExecuteOptionsBeamer{fancy=disable}
\ProcessOptionsBeamer
%\ProcessOptions\relax
%\WarningsOff[mathdesign/mdbch]
% Colors
@@ -104,12 +104,13 @@
}
}
% [1]: [social]:
% [1]: [social]:
% {2}: Banner image
% {3}: background image
% {4}: Opacity
\newcommand{\SetBackgroundImage}[4][noSocial]{%
% {4}: y-offset
% {5}: Opacity
\newcommand{\SetBackgroundImage}[5][noSocial]{%
\setbeamertemplate{background}{%
\begin{tikzpicture}[overlay,remember picture]
% Banner
@@ -117,45 +118,19 @@
\includegraphics[width=0.2\paperwidth]{#2}
};%
% Image
\node[anchor=center, inner sep=0pt, yshift=0.04\paperheight, opacity=#4 ] at (current page.center) {%
\node[anchor=center, inner sep=0pt, yshift=#4\paperheight, opacity=#5 ] at (current page.center) {%
\includegraphics[width=\paperwidth]{#3}
};%
% Social links
% Social links
\ifnum \isequal{#1}{social}=0
\node[anchor=west, inner sep=0pt, xshift=0.05\paperwidth, yshift=-0.06\paperheight] at (current page.north west) {%
\includegraphics[width=0.5cm ]{media/Social.png}
\includegraphics[width=0.03\paperwidth ]{media/Social.png}
};%
\fi
\end{tikzpicture}%
}
}
%\SetBackgroundImage[social]{media/kenotomBannerRight.png}{media/ribon.png}{0.15}
%\SetBackgroundImage{media/kenotomBannerRight.png}{media/ribon.png}{0.15}
% {1}: Banner image
% {2}: color 1
% {3}: color 1
%\newcommand{\SetBackgroundBicolor}[3]{%
% \setbeamertemplate{background}{%
% \begin{tikzpicture}[overlay,remember picture]
% % Fill
%% \node [shading = axis,rectangle, left color=left, right color=left!30!white,shading angle=135, anchor=north, minimum width=\paperwidth, minimum height=5.5cm] (box) at (current page.north){};
% \node[shading=axis,rectangle, left color=KenotomGreen, right color=KenotomGrey, middle color=KenotomGreen!30, shading angle=135, opacity=0.2, anchor=north, minimum width=\paperwidth, minimum height=\paperheight] (box) at (current page.north){};%
%
%% \fill[shading=axis, shading angle=135, left color=KenotomGreen, right color=KenotomGrey, middle color=KenotomGreen!5, opacity=0.5] (current page.south west)
%% -- +(0, \paperheight) -- +(\paperwidth, \paperheight) -- (current page.south east) -- cycle;%
% % Banner
% \node[anchor=north east, inner sep=0pt, yshift=-0.06\paperheight] at (current page.north east) {%
% \includegraphics[width=0.2\paperwidth]{#1}
% };%
% \end{tikzpicture}%
% }
%}
%
%\SetBackgroundBicolor{media/kenotomBannerRight.png}{ }{ }
\newcommand{\BeginCountingFrames}{%
\addtobeamertemplate{navigation symbols}{}{%
\hspace{2em} \usebeamerfont{footline} \texttt{ \scriptsize{\insertframenumber/\inserttotalframenumber}}
@@ -181,16 +156,19 @@
\ifnum \isequal{\beamer@kenotom@theme}{dark}=0
\colorlet{BackgroundCanvasColor}{KenotomGreenGreyDark}
\colorlet{TitleColor}{KenotomGreyLight}
\colorlet{TitleColorFancy}{KenotomWhite}
\colorlet{TitleColorAux}{KenotomGreenLight}
\colorlet{FrameTitleColor}{KenotomGrey}
\colorlet{BlockTitleColor}{KenotomGrey}
\colorlet{TextColor}{KenotomGreenGreyLight}
\colorlet{StructureColor}{KenotomGreenLight}
\colorlet{NavigationColor}{KenotomGreen}
\colorlet{NavigationColorFancy}{KenotomWhite}
\colorlet{NavigationArrowsColor}{KenotomGreyLight}
\colorlet{NavigationArrowsColorFancy}{KenotomWhite}
\colorlet{TableCaptionColor}{KenotomGreyDark1}
\colorlet{TableCaptionTextColor}{KenotomWhite}
\colorlet{TableRowColor1}{KenotomLightBlue1}
@@ -198,16 +176,19 @@
\else \ifnum \isequal{\beamer@kenotom@theme}{light}=0
\colorlet{BackgroundCanvasColor}{KenotomWhite}
\colorlet{TitleColor}{KenotomGrey}
\colorlet{TitleColorFancy}{KenotomWhite}
\colorlet{TitleColorAux}{KenotomGreen}
\colorlet{FrameTitleColor}{KenotomGrey}
\colorlet{BlockTitleColor}{KenotomGrey}
\colorlet{TextColor}{KenotomGrey}
\colorlet{StructureColor}{KenotomGreen}
\colorlet{NavigationColor}{KenotomGreen}
\colorlet{NavigationColorFancy}{KenotomWhite}
\colorlet{NavigationArrowsColor}{KenotomGrey}
\colorlet{NavigationArrowsColorFancy}{KenotomWhite}
\colorlet{TableCaptionColor}{KenotomGrey}
\colorlet{TableCaptionTextColor}{KenotomWhite}
\colorlet{TableRowColor1}{KenotomLightBlue1}
@@ -215,16 +196,19 @@
\else % clasic
\colorlet{BackgroundCanvasColor}{KenotomWhite}
\colorlet{TitleColor}{KenotomGreyDark1}
\colorlet{TitleColorFancy}{KenotomWhite}
\colorlet{TitleColorAux}{KenotomGreen}
\colorlet{FrameTitleColor}{KenotomGreyDark2}
\colorlet{BlockTitleColor}{KenotomGreyDark2}
\colorlet{TextColor}{KenotomGreenGrey}
\colorlet{StructureColor}{KenotomGreen}
\colorlet{NavigationColor}{KenotomGreen}
\colorlet{NavigationColorFancy}{KenotomWhite}
\colorlet{NavigationArrowsColor}{KenotomGreyDark1}
\colorlet{NavigationArrowsColorFancy}{KenotomWhite}
\colorlet{TableCaptionColor}{KenotomGreyDark1}
\colorlet{TableCaptionTextColor}{KenotomWhite}
\colorlet{TableRowColor1}{KenotomLightBlue1}
@@ -233,7 +217,12 @@
% Apply theme colors
\setbeamercolor{background canvas}{bg=BackgroundCanvasColor}
\setbeamercolor{titlelike}{fg=FrameTitleColor}
\setbeamercolor{title}{fg=TitleColor}
\setbeamercolor{subtitle}{fg=TitleColor}
\setbeamercolor{frametitle}{fg=FrameTitleColor}
\setbeamercolor{section title}{fg=FrameTitleColor}
\setbeamercolor{subsection title}{fg=FrameTitleColor}
\setbeamercolor{block title}{fg=BlockTitleColor}
\setbeamercolor{normal text}{fg=TextColor}
@@ -260,7 +249,7 @@
% Default backround (We overwrite it temporary inside kenotom frame environments)
\ifnum \isequal{\beamer@kenotom@backround}{ribon}=0
\SetBackgroundImage{media/BannerLogoLink.png}{media/Ribon.png}{0.15}
\SetBackgroundImage{media/BannerLogoLink.png}{media/Ribon.png}{0.04}{0. 15}
\else %None
\SetBackgroundPlain{media/BannerLogoLink.png}
\fi%
@@ -282,11 +271,48 @@
% Content style
% =====================================================
\newcommand{\TitleSize}{\Huge}
\newcommand{\SectionSize}{\Large}
\ifnum \isequal{\beamer@kenotom@title}{small}=0
\newcommand{\FrameTitleSize}{\large}
\else\ifnum \isequal{\beamer@kenotom@title}{normal}=0
\newcommand{\FrameTitleSize}{\Large}
\else\ifnum \isequal{\beamer@kenotom@title}{large}=0
\newcommand{\FrameTitleSize}{\huge}
\else % default = normal
\newcommand{\FrameTitleSize}{\Large}
\fi\fi\fi%
\newcommand{\AuthorSize}{\Large}
\newcommand{\InstituteSize}{\normalsize}
\newcommand{\ContactInfoSize}{\normalize}
\newcommand{\FancyTitleSize}{\LARGE}
\newcommand{\FancyTitleFontStyle}[1]{\textbf{#1}}
%\newcommand{\FancyDateSize}{\normalize}
%\newcommand{\FancyDateFontStyle}[1]{\textrm{#1}}
\newcommand{\FancySectionSize}{\huge}
\newcommand{\FancySectionFontStyle}[1]{\textbf{#1}}
% Title page style
\setbeamertemplate{title page}[default][left]
\setbeamerfont{title}{family=\rmfamily,size=\Huge}
\setbeamerfont{author}{size=\Large}
\setbeamerfont{institute}{size=\normalsize}
\setbeamerfont{title}{family=\rmfamily,size=\TitleSize}
\setbeamerfont{author}{size=\AuthorSize}
\setbeamerfont{institute}{size=\InstituteSize}
\renewcommand{\maketitle}{%
\ifnum \isequal{\beamer@kenotom@fancy}{enable}=0
\TitleFrameFancy
\else {% once
\SetBackgroundImage{media/BannerLink.png}{media/Ribon.png}{0.04}{0.4}
\begin{frame}
\titlepage
\end{frame}
} \fi
}
% footline
%\setbeamertemplate{navigation symbols}{}
@@ -294,20 +320,15 @@
% Frame title style
\ifnum \isequal{\beamer@kenotom@title}{small}=0
\setbeamerfont{frametitle}{family=\rmfamily,size=\large,series=\bfseries}
\else\ifnum \isequal{\beamer@kenotom@title}{normal}=0
\setbeamerfont{frametitle}{family=\rmfamily,size=\Large,series=\bfseries}
\else\ifnum \isequal{\beamer@kenotom@title}{large}=0
\setbeamerfont{frametitle}{family=\rmfamily,size=\huge,series=\bfseries}
\else % default = normal
\setbeamerfont{frametitle}{size=\Large,series=\bfseries}
\fi\fi\fi%
\setbeamerfont{frametitle}{family=\rmfamily,size=\FrameTitleSize,series=\bfseries}
\setbeamertemplate{frametitle}{
\vskip0.05\paperheight
\insertframetitle
}
%\setbeamerfont{section title}{size=\LARGE,series=\bfseries}
%\setbeamerfont{subsection title}{size=\Large,series=\bfseries}
% Block style
\setbeamerfont{block title}{family=\rmfamily,size=\large}
@@ -318,75 +339,189 @@
\newcommand{\tableheadcol}[1]{{\bfseries\color{TableCaptionTextColor}#1}}
\rowcolors{2}{TableRowColor1}{TableRowColor2}
% Section frames
\AtBeginSection[]{%
\ifnum \isequal{\beamer@kenotom@fancy}{enable}=0
\SectionFrameFancy
\fi
}
%\AtBeginEnvironment{tabular}{\color{black}}
\newcommand{\InsertFancyTitle}{%
\FancyTitleSize
\textcolor{TitleColorFancy}{\FancyTitleFontStyle{\inserttitle}}
}
\newcommand{\InsertFancySection}{%
\FancySectionSize
\textcolor{TitleColorFancy}{
\ifnum \thesection<10
\FancySectionFontStyle{0\thesection} \\
\else
\FancySectionFontStyle{\thesection} \\
\fi
\FancySectionFontStyle{\insertsection}
}
}
\newcommand{\InsertFancyDate}{%
\textcolor{TitleColorFancy}{\insertdate}
}
\newcommand{\InsertAuthorEmail}{%
\AuthorEmail
}
\newcommand{\InsertAddress}{%
\textcolor{StructureColor}{\Address}
}
\newcommand{\InsertTelephone}{%
\textcolor{StructureColor}{\Telephone}
}
% Kenotom environments
% =====================================================
% Kenotom CoverFrame
\newcommand{\CoverFrame}{{%
\SetBackgroundImage[social]{media/BannerLink.png}{media/Ribon.png}{0.1}
\begin{frame}
\newcommand{\TitleFrameFancy}{ {% once
\SetBackgroundImage[social]{media/BannerLink.png}{media/Ribon.png}{0.12}{0.1}
\setbeamercolor{navigation symbols}{fg=NavigationColor, bg=NavigationArrowsColorFancy}
\addtobeamertemplate{background}{}{%
\begin{tikzpicture}[overlay,remember picture]
% Logo
\node[anchor=center, inner sep=0pt, yshift=0.25\paperheight] at (current page.center) {%
\ifnum \isequal{\beamer@kenotom@theme}{dark}=0
\includegraphics[width=\paperwidth]{media/LogoWhite.png}
\else
\includegraphics[width=\paperwidth]{media/Logo.png}
\fi
};%
% Car
\node[anchor=north, inner sep=0pt, yshift=0.16\paperheight] at (current page.center) {%
\includegraphics[width=\paperwidth, keepaspectratio]{media/CarCover.png}
};%
% Logo
\node[anchor=center, inner sep=0pt, yshift=0.275\paperheight] at (current page.center) {%
\ifnum \isequal{\beamer@kenotom@theme}{dark}=0
\includegraphics[width=\paperwidth]{media/LogoWhite.png}
\else
\includegraphics[width=\paperwidth]{media/Logo.png}
\fi
};%
% Car the
\node[anchor=north, inner sep=0pt, yshift=0.08\paperheight] at (current page.center) {%
\includegraphics[width=\paperwidth, keepaspectratio]{media/CarCover.png}
};%
% TitleBox center:0.58\paperheight
\node[anchor=center, inner sep=0pt, yshift=0.08\paperheight] at (current page.center) {%
\includegraphics[width=0.7\paperwidth, keepaspectratio]{media/FancyTitleBox.png}
};%
\end{tikzpicture}
}
\begin{frame}
\setlength{\TPHorizModule}{\paperwidth}
\setlength{\TPVertModule}{\paperheight}
% hsize:
% 0.58 = {BoxLength=7.697}/{TotlaLength=13.333}
% hpos: 0.56
% (1.6/2)/13.333 in = 0.06\paperwidth
% 0.5+0.06 = 0.56
% vpos: 0.42
% 0.42 = 0.5 - 0.08
\begin{textblock}{0.58}[0.5,0.5](0.56,0.42)
\centering
\InsertFancyTitle
\end{textblock}
% Date @ bottom right
\begin{textblock}{0.5}[1,1](0.95,0.95)
\begin{flushright}
\InsertFancyDate
\end{flushright}
\end{textblock}
\end{frame}
}
}
\newcommand{\TitleFrame}{{%
\SetBackgroundImage{media/BannerLink.png}{media/Ribon.png}{0.4}
% [nosubsections]
% {1} : Outline Text Grey
% {2} : Outline Text Green
\newcommand{\OutlineFrameFancy}[3][subsections]{ {% once
\SetBackgroundImage{media/BannerLink.png}{media/Ribon.png}{0.04}{0.1}
\begin{frame}
\vspace{0.15\textheight}
\textcolor{TitleColor}{
\rmfamily \Huge
\Title \\[0.5ex]
\normalsize
\SubTitle \\[10ex]
}
\textcolor{TextColor}{
\Large
\AuthorName \\[1.5ex]
\normalsize
\Date
}
\begin{columns}
\begin{column}{0.6\textwidth}
\setlength{\TPHorizModule}{\textwidth}
\setlength{\TPVertModule}{\textheight}
\begin{textblock}{1}[0.5,0.5](0.5,0.35)
\centering
\huge \textbf {\textcolor{KenotomGrey}{#2} \textcolor{KenotomGreen}{#3}}
\end{textblock}
\end{column}
\begin{column}{0.4\textwidth}
\vspace{0.2\textheight}
\ifnum \isequal{#1}{nosubsections}=0
\setcounter{tocdepth}{1}
\fi
\tableofcontents
\Vfill
\end{column}
\end{columns}
\end{frame}
}
}
\newcommand{\BackCoverFrame}{{%
\SetBackgroundImage[social]{media/BannerThankYou.png}{media/Ribon.png}{0.4}
\newcommand{\OutlineFrame}[3][subsections]{%
\ifnum \isequal{\beamer@kenotom@fancy}{enable}=0
\OutlineFrameFancy[#1]{#2}{#3}
\else
\begin{frame}{#2 #3}
\vspace{0.2\textheight}
\ifnum \isequal{#1}{nosubsections}=0
\setcounter{tocdepth}{1}
\fi
\tableofcontents
\Vfill
\end{frame}
\fi
}
\newcommand{\SectionFrameFancy}{ {% once
\SetBackgroundImage{media/nothing.png}{media/SectionBackground.png}{0}{1.0}
\setbeamercolor{navigation symbols}{fg=NavigationColorFancy, bg=NavigationArrowsColorFancy}
\begin{frame}
\Vfill
\setlength{\TPHorizModule}{\paperwidth}
\setlength{\TPVertModule}{\paperheight}
% hsize:
% 0.4 = {AvailableLength}/{TotlaLength}
% hpos: 0.9
% // The line in svg ends @12in
% 0.9 = {LineEnds}/{TotalLength} = 12/13.333
% vpos: 0.475
% // 0.025 above center
% 0.475 = 0.5 - 0.025
\begin{textblock}{0.4}[1,1](0.9,0.475)
\begin{flushright}
\InsertFancySection
\end{flushright}
\end{textblock}
\end{frame}
}
}
\newcommand{\BackFrame}{ {% once
\SetBackgroundImage[social]{media/BannerThankYou.png}{media/Ribon.png}{0.04}{0.4}
\addtobeamertemplate{background}{}{%
\begin{tikzpicture}[overlay,remember picture]
\node[anchor=center, inner sep=0pt, yshift=0.04\paperheight] at (current page.center) {%
\includegraphics[width=\paperwidth]{media/LogoDetails.png}
};%
\node[anchor=south, inner sep=0pt] at (current page.south) {%
\includegraphics[width=\paperwidth]{media/BottomGradient.png}
};%
\end{tikzpicture}
}
\begin{frame}
\Vfill
\AuthorName \\
\AuthorMail \\
\textcolor{StructureColor}{%
\Address \\
\Telephone
}
\insertauthor \\
\InsertAuthorEmail \\
\InsertAddress \\
\InsertTelephone
\vspace{0.125\paperheight}
\end{frame}
}
}
\newenvironment{tickmarks}{%
\SetGraphItemize{1.6ex}{media/Tickmark.png}
\begin{itemize}