Kenotom beamer presentation style and template

405 lines
12 KiB

  1. %
  2. % beamerthemeKenotom.sty
  3. %
  4. % A beamer style file to use in a kenotom presentation
  5. %
  6. % author: Christos Choutouridis <c.choutouridis@kenotom.com>
  7. %
  8. \NeedsTeXFormat{LaTeX2e}
  9. \ProvidesPackage{beamerthemeKenotom}
  10. % Requirements
  11. % =====================================================
  12. \RequirePackage{xcolor}
  13. %\RequirePackage{silence}
  14. %\RequirePackage{etoolbox}
  15. \RequirePackage{fontspec}
  16. \RequirePackage{tikz}
  17. \RequirePackage{graphicx}
  18. %\RequirePackage{hyperref}
  19. \RequirePackage{ifthen}
  20. % Options
  21. % =====================================================
  22. % theme: {classic(default), light, dark}
  23. \DeclareOptionBeamer{theme}{\def\beamer@kenotom@theme{#1}}
  24. % backround: {none(default), ribon}
  25. \DeclareOptionBeamer{backround}{\def\beamer@kenotom@backround{#1}}
  26. % title: {normal(default), small, large}
  27. \DeclareOptionBeamer{title}{\def\beamer@kenotom@title{#1}}
  28. % nonavigation: {enable(default), disable}
  29. \DeclareOptionBeamer{navigation}{\def\beamer@kenotom@navigation{#1}}
  30. % Set default options
  31. \ExecuteOptionsBeamer{theme=classic}
  32. \ExecuteOptionsBeamer{backround=none}
  33. \ExecuteOptionsBeamer{title=normal}
  34. \ExecuteOptionsBeamer{navigation=enable}
  35. \ProcessOptionsBeamer
  36. %\ProcessOptions\relax
  37. %\WarningsOff[mathdesign/mdbch]
  38. % Colors
  39. % =====================================================
  40. % Define some colors
  41. \definecolor{KenotomGreenLight}{RGB}{127,213,201}
  42. \definecolor{KenotomGreen}{RGB}{57,174,157}
  43. \definecolor{KenotomGreenDark}{RGB}{39,103,96}
  44. \definecolor{KenotomGreenGreyLight}{RGB}{203,217,217}
  45. \definecolor{KenotomGreenGrey}{RGB}{67,91,92}
  46. \definecolor{KenotomGreenGreyDark}{RGB}{13,34,39}
  47. \definecolor{KenotomGreyLight}{RGB}{215,216,216}
  48. \definecolor{KenotomGrey}{RGB}{154,155,157}
  49. \definecolor{KenotomGreyDark1}{RGB}{108,108,108}
  50. \definecolor{KenotomGreyDark2}{RGB}{92,96,98}
  51. \definecolor{KenotomLightBlue1}{RGB}{207,226,234}
  52. \definecolor{KenotomLightBlue2}{RGB}{232,241,245}
  53. \definecolor{KenotomBlack}{RGB}{0,0,0}
  54. \definecolor{KenotomWhite}{RGB}{255,255,255}
  55. % Local commands
  56. % =====================================================
  57. \newcommand{\Vfill}{\vskip0pt plus 1filll}
  58. % Define a string equality test
  59. \newcommand{\isequal}[2]{ \pdf@strcmp{#1}{#2} }
  60. \newcommand{\SetItemize}[1]{%
  61. \setbeamertemplate{itemize item}{\small{#1}}
  62. \setbeamertemplate{itemize subitem}{\scriptsize{#1}}
  63. \setbeamertemplate{itemize subsubitem}{\tiny{#1}}
  64. }
  65. \newcommand{\SetGraphItemize}[2]{
  66. \setbeamertemplate{itemize item}{\small\includegraphics[height=#1]{#2}}
  67. \setbeamertemplate{itemize subitem}{\scriptsize\includegraphics[height=#1]{#2}}
  68. \setbeamertemplate{itemize subsubitem}{\tiny\includegraphics[height=#1]{#2}}
  69. }
  70. % [1]: Banner image
  71. \newcommand{\SetBackroundPlain}[1]{%
  72. \setbeamertemplate{background}{%
  73. \begin{tikzpicture}[overlay,remember picture]
  74. % Banner
  75. \node[anchor=east, inner sep=0pt, yshift=-0.06\paperheight] at (current page.north east) {%
  76. \includegraphics[width=0.2\paperwidth]{#1}
  77. };%
  78. \end{tikzpicture}%
  79. }
  80. }
  81. % [1]: [social]:
  82. % {2}: Banner image
  83. % {3}: background image
  84. % {4}: Opacity
  85. \newcommand{\SetBackgroundImage}[4][noSocial]{%
  86. \setbeamertemplate{background}{%
  87. \begin{tikzpicture}[overlay,remember picture]
  88. % Banner
  89. \node[anchor=east, inner sep=0pt, yshift=-0.06\paperheight] at (current page.north east) {%
  90. \includegraphics[width=0.2\paperwidth]{#2}
  91. };%
  92. % Image
  93. \node[anchor=center, inner sep=0pt, yshift=0.04\paperheight, opacity=#4] at (current page.center) {%
  94. \includegraphics[width=\paperwidth]{#3}
  95. };%
  96. % Social links
  97. \ifnum \isequal{#1}{social}=0
  98. \node[anchor=west, inner sep=0pt, xshift=0.05\paperwidth, yshift=-0.06\paperheight] at (current page.north west) {%
  99. \includegraphics[width=0.5cm]{media/Social.png}
  100. };%
  101. \fi
  102. \end{tikzpicture}%
  103. }
  104. }
  105. %\SetBackgroundImage[social]{media/kenotomBannerRight.png}{media/ribon.png}{0.15}
  106. %\SetBackgroundImage{media/kenotomBannerRight.png}{media/ribon.png}{0.15}
  107. % {1}: Banner image
  108. % {2}: color 1
  109. % {3}: color 1
  110. %\newcommand{\SetBackgroundBicolor}[3]{%
  111. % \setbeamertemplate{background}{%
  112. % \begin{tikzpicture}[overlay,remember picture]
  113. % % Fill
  114. %% \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){};
  115. % \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){};%
  116. %
  117. %% \fill[shading=axis, shading angle=135, left color=KenotomGreen, right color=KenotomGrey, middle color=KenotomGreen!5, opacity=0.5] (current page.south west)
  118. %% -- +(0, \paperheight) -- +(\paperwidth, \paperheight) -- (current page.south east) -- cycle;%
  119. % % Banner
  120. % \node[anchor=north east, inner sep=0pt, yshift=-0.06\paperheight] at (current page.north east) {%
  121. % \includegraphics[width=0.2\paperwidth]{#1}
  122. % };%
  123. % \end{tikzpicture}%
  124. % }
  125. %}
  126. %
  127. %\SetBackgroundBicolor{media/kenotomBannerRight.png}{ }{ }
  128. \newcommand{\BeginCountingFrames}{%
  129. \addtobeamertemplate{navigation symbols}{}{%
  130. \hspace{2em} \usebeamerfont{footline} \texttt{ \scriptsize{\insertframenumber/\inserttotalframenumber}}
  131. }
  132. \setcounter{framenumber}{0}
  133. }
  134. %
  135. % [1]: Color
  136. % [2]: Text
  137. %\newcommand{\InsertBackroundToText}[2]{%
  138. %% \colorbox{#1}{%
  139. %% \parbox{\dimexpr\textwidth-2\fboxsep\relax}{#2}
  140. % \colorbox{#1}{#2}
  141. %
  142. % }
  143. %}
  144. %
  145. % Theme
  146. % =====================================================
  147. \ifnum \isequal{\beamer@kenotom@theme}{dark}=0
  148. \colorlet{BackgroundCanvasColor}{KenotomGreenGreyDark}
  149. \colorlet{TitleColor}{KenotomGreyLight}
  150. \colorlet{TitleColorAux}{KenotomGreenLight}
  151. \colorlet{FrameTitleColor}{KenotomGrey}
  152. \colorlet{BlockTitleColor}{KenotomGrey}
  153. \colorlet{TextColor}{KenotomGreenGreyLight}
  154. \colorlet{StructureColor}{KenotomGreenLight}
  155. \colorlet{NavigationColor}{KenotomGreen}
  156. \colorlet{NavigationArrowsColor}{KenotomGreyLight}
  157. \colorlet{TableCaptionColor}{KenotomGreyDark1}
  158. \colorlet{TableCaptionTextColor}{KenotomWhite}
  159. \colorlet{TableRowColor1}{KenotomLightBlue1}
  160. \colorlet{TableRowColor2}{KenotomLightBlue2}
  161. \else \ifnum \isequal{\beamer@kenotom@theme}{light}=0
  162. \colorlet{BackgroundCanvasColor}{KenotomWhite}
  163. \colorlet{TitleColor}{KenotomGrey}
  164. \colorlet{TitleColorAux}{KenotomGreen}
  165. \colorlet{FrameTitleColor}{KenotomGrey}
  166. \colorlet{BlockTitleColor}{KenotomGrey}
  167. \colorlet{TextColor}{KenotomGrey}
  168. \colorlet{StructureColor}{KenotomGreen}
  169. \colorlet{NavigationColor}{KenotomGreen}
  170. \colorlet{NavigationArrowsColor}{KenotomGrey}
  171. \colorlet{TableCaptionColor}{KenotomGrey}
  172. \colorlet{TableCaptionTextColor}{KenotomWhite}
  173. \colorlet{TableRowColor1}{KenotomLightBlue1}
  174. \colorlet{TableRowColor2}{KenotomLightBlue2}
  175. \else % clasic
  176. \colorlet{BackgroundCanvasColor}{KenotomWhite}
  177. \colorlet{TitleColor}{KenotomGreyDark1}
  178. \colorlet{TitleColorAux}{KenotomGreen}
  179. \colorlet{FrameTitleColor}{KenotomGreyDark2}
  180. \colorlet{BlockTitleColor}{KenotomGreyDark2}
  181. \colorlet{TextColor}{KenotomGreenGrey}
  182. \colorlet{StructureColor}{KenotomGreen}
  183. \colorlet{NavigationColor}{KenotomGreen}
  184. \colorlet{NavigationArrowsColor}{KenotomGreyDark1}
  185. \colorlet{TableCaptionColor}{KenotomGreyDark1}
  186. \colorlet{TableCaptionTextColor}{KenotomWhite}
  187. \colorlet{TableRowColor1}{KenotomLightBlue1}
  188. \colorlet{TableRowColor2}{KenotomLightBlue2}
  189. \fi\fi
  190. % Apply theme colors
  191. \setbeamercolor{background canvas}{bg=BackgroundCanvasColor}
  192. \setbeamercolor{titlelike}{fg=FrameTitleColor}
  193. \setbeamercolor{block title}{fg=BlockTitleColor}
  194. \setbeamercolor{normal text}{fg=TextColor}
  195. \setbeamercolor{structure}{fg=StructureColor}
  196. \setbeamercolor{navigation symbols}{fg=NavigationColor, bg=NavigationArrowsColor}
  197. %
  198. % Layout and global settings
  199. % =====================================================
  200. \newcommand{\SideMargin}{2em}
  201. % Frame layout
  202. \setbeamersize{
  203. text margin left=\SideMargin,
  204. text margin right=\SideMargin
  205. }
  206. \setlength{\leftmargini}{1.25em}
  207. \setlength{\leftmarginii}{1em}
  208. \setlength{\leftmarginiii}{1em}
  209. \addtobeamertemplate{footnote}{}{\vspace{2ex}}
  210. % Default backround (We overwrite it temporary inside kenotom frame environments)
  211. \ifnum \isequal{\beamer@kenotom@backround}{ribon}=0
  212. \SetBackgroundImage{media/BannerLogoLink.png}{media/Ribon.png}{0.15}
  213. \else %None
  214. \SetBackgroundPlain{media/BannerLogoLink.png}
  215. \fi%
  216. % Fonts
  217. \setromanfont{Georgia}
  218. \setsansfont[Scale=MatchLowercase]{Open Sans}
  219. % General
  220. \ifnum \isequal{\beamer@kenotom@navigation}{disable}=0
  221. \setbeamertemplate{navigation symbols}{}
  222. \fi
  223. \setbeamertemplate{caption}[numbered]
  224. % Default itemize symbols (We overwrite them with kenotom environments)
  225. \SetItemize{\textbullet}
  226. % Content style
  227. % =====================================================
  228. % Title page style
  229. \setbeamertemplate{title page}[default][left]
  230. \setbeamerfont{title}{family=\rmfamily,size=\Huge}
  231. \setbeamerfont{author}{size=\Large}
  232. \setbeamerfont{institute}{size=\normalsize}
  233. % footline
  234. %\setbeamertemplate{navigation symbols}{}
  235. %\setbeamertemplate{footlline}{\hfill \insertnavigation{0.3\textwidth}}
  236. % Frame title style
  237. \ifnum \isequal{\beamer@kenotom@title}{small}=0
  238. \setbeamerfont{frametitle}{family=\rmfamily,size=\large,series=\bfseries}
  239. \else\ifnum \isequal{\beamer@kenotom@title}{normal}=0
  240. \setbeamerfont{frametitle}{family=\rmfamily,size=\Large,series=\bfseries}
  241. \else\ifnum \isequal{\beamer@kenotom@title}{large}=0
  242. \setbeamerfont{frametitle}{family=\rmfamily,size=\huge,series=\bfseries}
  243. \else % default = normal
  244. \setbeamerfont{frametitle}{size=\Large,series=\bfseries}
  245. \fi\fi\fi%
  246. \setbeamertemplate{frametitle}{
  247. \vskip0.05\paperheight
  248. \insertframetitle
  249. }
  250. % Block style
  251. \setbeamerfont{block title}{family=\rmfamily,size=\large}
  252. % Table style
  253. \renewcommand{\arraystretch}{1.2}
  254. \newcommand{\tableheadrow}{\rowcolor{TableCaptionColor}}
  255. \newcommand{\tableheadcol}[1]{{\bfseries\color{TableCaptionTextColor}#1}}
  256. \rowcolors{2}{TableRowColor1}{TableRowColor2}
  257. %\AtBeginEnvironment{tabular}{\color{black}}
  258. % Kenotom environments
  259. % =====================================================
  260. % Kenotom CoverFrame
  261. \newcommand{\CoverFrame}{{%
  262. \SetBackgroundImage[social]{media/BannerLink.png}{media/Ribon.png}{0.1}
  263. \begin{frame}
  264. \begin{tikzpicture}[overlay,remember picture]
  265. % Logo
  266. \node[anchor=center, inner sep=0pt, yshift=0.25\paperheight] at (current page.center) {%
  267. \ifnum \isequal{\beamer@kenotom@theme}{dark}=0
  268. \includegraphics[width=\paperwidth]{media/LogoWhite.png}
  269. \else
  270. \includegraphics[width=\paperwidth]{media/Logo.png}
  271. \fi
  272. };%
  273. % Car
  274. \node[anchor=north, inner sep=0pt, yshift=0.16\paperheight] at (current page.center) {%
  275. \includegraphics[width=\paperwidth, keepaspectratio]{media/CarCover.png}
  276. };%
  277. \end{tikzpicture}
  278. \end{frame}
  279. }
  280. }
  281. \newcommand{\TitleFrame}{{%
  282. \SetBackgroundImage{media/BannerLink.png}{media/Ribon.png}{0.4}
  283. \begin{frame}
  284. \vspace{0.15\textheight}
  285. \textcolor{TitleColor}{
  286. \rmfamily \Huge
  287. \Title \\[0.5ex]
  288. \normalsize
  289. \SubTitle \\[10ex]
  290. }
  291. \textcolor{TextColor}{
  292. \Large
  293. \AuthorName \\[1.5ex]
  294. \normalsize
  295. \Date
  296. }
  297. \end{frame}
  298. }
  299. }
  300. \newcommand{\BackCoverFrame}{{%
  301. \SetBackgroundImage[social]{media/BannerThankYou.png}{media/Ribon.png}{0.4}
  302. \begin{frame}
  303. \Vfill
  304. \begin{tikzpicture}[overlay,remember picture]
  305. \node[anchor=center, inner sep=0pt, yshift=0.04\paperheight] at (current page.center) {%
  306. \includegraphics[width=\paperwidth]{media/LogoDetails.png}
  307. };%
  308. \end{tikzpicture}
  309. \Vfill
  310. \AuthorName \\
  311. \AuthorMail \\
  312. \textcolor{StructureColor}{%
  313. \Address \\
  314. \Telephone
  315. }
  316. \vspace{0.125\paperheight}
  317. \end{frame}
  318. }
  319. }
  320. \newenvironment{tickmarks}{%
  321. \SetGraphItemize{1.6ex}{media/Tickmark.png}
  322. \begin{itemize}
  323. }{%
  324. \end{itemize}
  325. }
  326. \newenvironment{bullets}{%
  327. \SetGraphItemize{1.3em}{media/Bullet.png}
  328. \begin{itemize}
  329. }{%
  330. \end{itemize}
  331. }