Kenotom beamer presentation style and template
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

580 lines
17 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}[2023/05/12 Kenotom beamer theme]
  10. % Requirements
  11. % =====================================================
  12. \RequirePackage{xcolor}
  13. \RequirePackage{fontspec}
  14. \RequirePackage{tikz}
  15. \RequirePackage{graphicx}
  16. \RequirePackage{ifthen}
  17. \RequirePackage[absolute,overlay]{textpos}
  18. % Options
  19. % =====================================================
  20. % key-value: theme: {classic(default), light, dark}
  21. \DeclareOptionBeamer{theme}{\def\beamer@kenotom@theme{#1}}
  22. % key-value: background: {none(default), ribon}
  23. \DeclareOptionBeamer{background}{\def\beamer@kenotom@background{#1}}
  24. % key-value: title: {normal(default), small, large}
  25. \DeclareOptionBeamer{title}{\def\beamer@kenotom@title{#1}}
  26. % Option: navigation
  27. \DeclareOptionBeamer{nonavigation}{\def\beamer@kenotom@nonavigation{}}
  28. % Option: fancy
  29. \DeclareOptionBeamer{fancy}{\def\beamer@kenotom@fancy{}}
  30. % Set default options
  31. \ExecuteOptionsBeamer{theme=classic}
  32. \ExecuteOptionsBeamer{background=none}
  33. \ExecuteOptionsBeamer{title=normal}
  34. \ProcessOptionsBeamer
  35. %\ProcessOptions\relax
  36. % Colors
  37. % =====================================================
  38. % Define some colors
  39. \definecolor{KenotomGreenLight}{RGB}{127,213,201}
  40. \definecolor{KenotomGreen}{RGB}{57,174,157}
  41. \definecolor{KenotomGreenDark}{RGB}{39,103,96}
  42. \definecolor{KenotomGreenGreyLight}{RGB}{203,217,217}
  43. \definecolor{KenotomGreenGrey}{RGB}{67,91,92}
  44. \definecolor{KenotomGreenGreyDark}{RGB}{13,34,39}
  45. \definecolor{KenotomGreyLight}{RGB}{215,216,216}
  46. \definecolor{KenotomGrey}{RGB}{154,155,157}
  47. \definecolor{KenotomGreyDark1}{RGB}{108,108,108}
  48. \definecolor{KenotomGreyDark2}{RGB}{92,96,98}
  49. \definecolor{KenotomLightBlue1}{RGB}{207,226,234}
  50. \definecolor{KenotomLightBlue2}{RGB}{232,241,245}
  51. \definecolor{KenotomBlack}{RGB}{0,0,0}
  52. \definecolor{KenotomWhite}{RGB}{255,255,255}
  53. % Local commands
  54. % =====================================================
  55. \newcommand{\Vfill}{\vskip0pt plus 1filll}
  56. % Define a string equality test
  57. \newcommand{\isequal}[2]{ \pdf@strcmp{#1}{#2} }
  58. \newcommand{\SetItemize}[1]{%
  59. \setbeamertemplate{itemize item}{\small{#1}}
  60. \setbeamertemplate{itemize subitem}{\scriptsize{#1}}
  61. \setbeamertemplate{itemize subsubitem}{\tiny{#1}}
  62. }
  63. \newcommand{\SetGraphItemize}[2]{
  64. \setbeamertemplate{itemize item}{\small\includegraphics[height=#1]{#2}}
  65. \setbeamertemplate{itemize subitem}{\scriptsize\includegraphics[height=#1]{#2}}
  66. \setbeamertemplate{itemize subsubitem}{\tiny\includegraphics[height=#1]{#2}}
  67. }
  68. % [1]: Banner image
  69. \newcommand{\SetBackgroundPlain}[1]{%
  70. \setbeamertemplate{background}{%
  71. \begin{tikzpicture}[overlay,remember picture]
  72. % Banner
  73. \node[anchor=east, inner sep=0pt, yshift=-0.06\paperheight] at (current page.north east) {%
  74. \includegraphics[width=0.2\paperwidth]{#1}
  75. };%
  76. \end{tikzpicture}%
  77. }
  78. }
  79. % [1]: [social]:
  80. % {2}: Banner image
  81. % {3}: background image
  82. % {4}: y-offset
  83. % {5}: Opacity
  84. \newcommand{\SetBackgroundImage}[5][noSocial]{%
  85. \setbeamertemplate{background}{%
  86. \begin{tikzpicture}[overlay,remember picture]
  87. % Banner
  88. \node[anchor=east, inner sep=0pt, yshift=-0.06\paperheight] at (current page.north east) {%
  89. \includegraphics[width=0.2\paperwidth]{#2}
  90. };%
  91. % Image
  92. \node[anchor=center, inner sep=0pt, yshift=#4\paperheight, opacity=#5] at (current page.center) {%
  93. \includegraphics[width=\paperwidth]{#3}
  94. };%
  95. % Social links
  96. \ifnum \isequal{#1}{social}=0
  97. \node[anchor=west, inner sep=0pt, xshift=0.05\paperwidth, yshift=-0.06\paperheight] at (current page.north west) {%
  98. \includegraphics[width=0.03\paperwidth]{media/Social.png}
  99. };%
  100. \fi
  101. \end{tikzpicture}%
  102. }
  103. }
  104. \newcommand{\BeginCountingFrames}{%
  105. \addtobeamertemplate{navigation symbols}{}{%
  106. \hspace{2em} \usebeamerfont{footline} \texttt{ \scriptsize{\insertframenumber/\inserttotalframenumber}}
  107. }
  108. \setcounter{framenumber}{0}
  109. }
  110. %
  111. % [1]: Color
  112. % [2]: Text
  113. %\newcommand{\InsertBackgroundToText}[2]{%
  114. %% \colorbox{#1}{%
  115. %% \parbox{\dimexpr\textwidth-2\fboxsep\relax}{#2}
  116. % \colorbox{#1}{#2}
  117. %
  118. % }
  119. %}
  120. %
  121. % Theme
  122. % =====================================================
  123. \ifnum \isequal{\beamer@kenotom@theme}{dark}=0
  124. \colorlet{BackgroundCanvasColor}{KenotomGreenGreyDark}
  125. \colorlet{TitleColor}{KenotomGreyLight}
  126. \colorlet{TitleColorFancy}{KenotomWhite}
  127. \colorlet{TitleColorAux}{KenotomGreenLight}
  128. \colorlet{SectionTitleColor}{KenotomGreenLight}
  129. \colorlet{FrameTitleColor}{KenotomGreenLight}
  130. \colorlet{BlockTitleColor}{KenotomGreenLight}
  131. \colorlet{TextColor}{KenotomGreenGreyLight}
  132. \colorlet{StructureColor}{KenotomGreenLight}
  133. \colorlet{SectionFrameOpacityColor}{KenotomGreenGreyDark}
  134. \colorlet{GraphicBoxColor}{KenotomGreyDark1}
  135. \colorlet{GraphicLineColor}{KenotomGreenLight}
  136. \colorlet{NavigationColor}{KenotomGreen}
  137. \colorlet{NavigationColorFancy}{KenotomGreen}
  138. \colorlet{NavigationArrowsColor}{KenotomGreyLight}
  139. \colorlet{NavigationArrowsColorFancy}{KenotomGreyLight}
  140. \colorlet{TableCaptionColor}{KenotomGreyDark1}
  141. \colorlet{TableCaptionTextColor}{KenotomWhite}
  142. \colorlet{TableRowColor1}{KenotomLightBlue1}
  143. \colorlet{TableRowColor2}{KenotomLightBlue2}
  144. \else \ifnum \isequal{\beamer@kenotom@theme}{light}=0
  145. \colorlet{BackgroundCanvasColor}{KenotomWhite}
  146. \colorlet{TitleColor}{KenotomGrey}
  147. \colorlet{TitleColorFancy}{KenotomWhite}
  148. \colorlet{TitleColorAux}{KenotomGreen}
  149. \colorlet{SectionTitleColor}{KenotomWhite!90!KenotomGreenLight}
  150. \colorlet{FrameTitleColor}{KenotomGrey}
  151. \colorlet{BlockTitleColor}{KenotomGrey}
  152. \colorlet{TextColor}{KenotomGrey}
  153. \colorlet{StructureColor}{KenotomGreen}
  154. \colorlet{SectionFrameOpacityColor}{KenotomGreenLight}
  155. \colorlet{GraphicBoxColor}{KenotomGreyDark1}
  156. \colorlet{GraphicLineColor}{KenotomGreenLight}
  157. \colorlet{NavigationColor}{KenotomGreen}
  158. \colorlet{NavigationColorFancy}{KenotomWhite}
  159. \colorlet{NavigationArrowsColor}{KenotomGrey}
  160. \colorlet{NavigationArrowsColorFancy}{KenotomWhite}
  161. \colorlet{TableCaptionColor}{KenotomGrey}
  162. \colorlet{TableCaptionTextColor}{KenotomWhite}
  163. \colorlet{TableRowColor1}{KenotomLightBlue1}
  164. \colorlet{TableRowColor2}{KenotomLightBlue2}
  165. \else % clasic
  166. \colorlet{BackgroundCanvasColor}{KenotomWhite}
  167. \colorlet{TitleColor}{KenotomGreyDark1}
  168. \colorlet{TitleColorFancy}{KenotomWhite}
  169. \colorlet{TitleColorAux}{KenotomGreen}
  170. \colorlet{SectionTitleColor}{KenotomWhite!90!KenotomGreenLight}
  171. \colorlet{TitleColorFancy}{KenotomWhite}
  172. \colorlet{FrameTitleColor}{KenotomGreyDark2}
  173. \colorlet{BlockTitleColor}{KenotomGreyDark2}
  174. \colorlet{TextColor}{KenotomGreyDark1}
  175. \colorlet{StructureColor}{KenotomGreen}
  176. \colorlet{SectionFrameOpacityColor}{KenotomGreenLight}
  177. \colorlet{GraphicBoxColor}{KenotomGreyDark1}
  178. \colorlet{GraphicLineColor}{KenotomGreenLight}
  179. \colorlet{SectionFrameOpacityColor}{KenotomGreen}
  180. \colorlet{GraphicBoxColor}{KenotomGreyDark1}
  181. \colorlet{GraphicLineColor}{KenotomGreenLight}
  182. \colorlet{NavigationColor}{KenotomGreen}
  183. \colorlet{NavigationColorFancy}{KenotomWhite}
  184. \colorlet{NavigationArrowsColor}{KenotomGreyDark1}
  185. \colorlet{NavigationArrowsColorFancy}{KenotomWhite}
  186. \colorlet{TableCaptionColor}{KenotomGreyDark1}
  187. \colorlet{TableCaptionTextColor}{KenotomWhite}
  188. \colorlet{TableRowColor1}{KenotomLightBlue1}
  189. \colorlet{TableRowColor2}{KenotomLightBlue2}
  190. \fi\fi
  191. % Apply theme colors
  192. \setbeamercolor{background canvas}{bg=BackgroundCanvasColor}
  193. \setbeamercolor{title}{fg=TitleColor}
  194. \setbeamercolor{subtitle}{fg=TitleColor}
  195. \setbeamercolor{frametitle}{fg=FrameTitleColor}
  196. \setbeamercolor{section title}{fg=FrameTitleColor}
  197. \setbeamercolor{subsection title}{fg=FrameTitleColor}
  198. \setbeamercolor{block title}{fg=BlockTitleColor}
  199. \setbeamercolor{normal text}{fg=TextColor}
  200. \setbeamercolor{structure}{fg=StructureColor}
  201. \setbeamercolor{navigation symbols}{fg=NavigationColor, bg=NavigationArrowsColor}
  202. %
  203. % Layout and global settings
  204. % =====================================================
  205. \newcommand{\SideMargin}{2em}
  206. % Frame layout
  207. \setbeamersize{
  208. text margin left=\SideMargin,
  209. text margin right=\SideMargin
  210. }
  211. \setlength{\leftmargini}{1.25em}
  212. \setlength{\leftmarginii}{1em}
  213. \setlength{\leftmarginiii}{1em}
  214. \addtobeamertemplate{footnote}{}{\vspace{2ex}}
  215. % Default background (We overwrite it temporary inside kenotom frame environments)
  216. \ifnum \isequal{\beamer@kenotom@background}{ribon}=0
  217. \SetBackgroundImage{media/BannerLogoLink.png}{media/Ribon.png}{0.04}{0.15}
  218. \else %None
  219. \SetBackgroundPlain{media/BannerLogoLink.png}
  220. \fi%
  221. % Fonts
  222. \setromanfont{Georgia}
  223. \setsansfont[Scale=MatchLowercase]{Open Sans}
  224. % General
  225. \ifdefined \beamer@kenotom@nonavigation
  226. \setbeamertemplate{navigation symbols}{}
  227. \fi
  228. \setbeamertemplate{caption}[numbered]
  229. % Default itemize symbols (We overwrite them with kenotom environments)
  230. \SetItemize{\textbullet}
  231. % Content style
  232. % =====================================================
  233. \newcommand{\TitleSize}{\Huge}
  234. \newcommand{\SectionSize}{\Large}
  235. \ifnum \isequal{\beamer@kenotom@title}{small}=0
  236. \newcommand{\FrameTitleSize}{\large}
  237. \else\ifnum \isequal{\beamer@kenotom@title}{normal}=0
  238. \newcommand{\FrameTitleSize}{\Large}
  239. \else\ifnum \isequal{\beamer@kenotom@title}{large}=0
  240. \newcommand{\FrameTitleSize}{\huge}
  241. \else % default = normal
  242. \newcommand{\FrameTitleSize}{\Large}
  243. \fi\fi\fi%
  244. \newcommand{\AuthorSize}{\Large}
  245. \newcommand{\InstituteSize}{\normalsize}
  246. \newcommand{\ContactInfoSize}{\normalize}
  247. \newcommand{\FancyTitleSize}{\LARGE}
  248. \newcommand{\FancyTitleFontStyle}[1]{\textbf{#1}}
  249. %\newcommand{\FancyDateSize}{\normalize}
  250. %\newcommand{\FancyDateFontStyle}[1]{\textrm{#1}}
  251. \newcommand{\FancySectionSize}{\huge}
  252. \newcommand{\FancySectionFontStyle}[1]{\textbf{#1}}
  253. % Title page style
  254. \setbeamertemplate{title page}[default][left]
  255. \setbeamerfont{title}{family=\rmfamily,size=\TitleSize}
  256. \setbeamerfont{author}{size=\AuthorSize}
  257. \setbeamerfont{institute}{size=\InstituteSize}
  258. \renewcommand{\maketitle}{%
  259. \ifdefined \beamer@kenotom@fancy
  260. \TitleFrameFancy
  261. \else {% once
  262. \SetBackgroundImage{media/BannerLink.png}{media/Ribon.png}{0.04}{0.4}
  263. \begin{frame}
  264. \titlepage
  265. \end{frame}
  266. } \fi
  267. }
  268. % footline
  269. %\setbeamertemplate{navigation symbols}{}
  270. %\setbeamertemplate{footlline}{\hfill \insertnavigation{0.3\textwidth}}
  271. % Frame title style
  272. \setbeamerfont{frametitle}{family=\rmfamily,size=\FrameTitleSize,series=\bfseries}
  273. \setbeamertemplate{frametitle}{
  274. \vskip0.05\paperheight
  275. \insertframetitle
  276. }
  277. %\setbeamerfont{section title}{size=\LARGE,series=\bfseries}
  278. %\setbeamerfont{subsection title}{size=\Large,series=\bfseries}
  279. % Block style
  280. \setbeamerfont{block title}{family=\rmfamily,size=\large}
  281. % Table style
  282. \renewcommand{\arraystretch}{1.2}
  283. \newcommand{\tableheadrow}{\rowcolor{TableCaptionColor}}
  284. \newcommand{\tableheadcol}[1]{{\bfseries\color{TableCaptionTextColor}#1}}
  285. \rowcolors{2}{TableRowColor1}{TableRowColor2}
  286. % Section frames
  287. \AtBeginSection[]{%
  288. \ifdefined \beamer@kenotom@fancy
  289. \SectionFrameFancy
  290. \fi
  291. }
  292. %\AtBeginEnvironment{tabular}{\color{black}}
  293. \newcommand{\InsertFancyTitle}{%
  294. \FancyTitleSize
  295. \textcolor{TitleColorFancy}{\FancyTitleFontStyle{\inserttitle}}
  296. }
  297. \newcommand{\InsertFancySection}{%
  298. \FancySectionSize
  299. \textcolor{SectionTitleColor}{
  300. \ifnum \thesection<10
  301. \FancySectionFontStyle{0\thesection} \\
  302. \else
  303. \FancySectionFontStyle{\thesection} \\
  304. \fi
  305. \FancySectionFontStyle{\insertsection}
  306. }
  307. }
  308. \newcommand{\InsertFancyDate}{%
  309. \textcolor{TitleColorFancy}{\insertdate}
  310. }
  311. \newcommand{\InsertAuthorEmail}{%
  312. \AuthorEmail
  313. }
  314. \newcommand{\InsertAddress}{%
  315. \textcolor{StructureColor}{\Address}
  316. }
  317. \newcommand{\InsertTelephone}{%
  318. \textcolor{StructureColor}{\Telephone}
  319. }
  320. % Kenotom environments
  321. % =====================================================
  322. % Kenotom CoverFrame
  323. \newcommand{\TitleFrameFancy}{ {% once
  324. \SetBackgroundImage[social]{media/BannerLink.png}{media/Ribon.png}{0.12}{0.1}
  325. \setbeamercolor{navigation symbols}{fg=NavigationColor, bg=NavigationArrowsColorFancy}
  326. \addtobeamertemplate{background}{}{%
  327. \begin{tikzpicture}[overlay,remember picture]
  328. % Logo
  329. \node[anchor=center, inner sep=0pt, yshift=0.275\paperheight] at (current page.center) {%
  330. \ifnum \isequal{\beamer@kenotom@theme}{dark}=0
  331. \includegraphics[width=\paperwidth]{media/LogoWhite.png}
  332. \else
  333. \includegraphics[width=\paperwidth]{media/Logo.png}
  334. \fi
  335. };%
  336. % Car the
  337. \node[anchor=north, inner sep=0pt, yshift=0.08\paperheight] at (current page.center) {%
  338. \includegraphics[width=\paperwidth, keepaspectratio]{media/CarCover.png}
  339. };%
  340. % TitleBox center:0.58\paperheight
  341. \node[anchor=center, inner sep=0pt, yshift=0.08\paperheight] at (current page.center) {%
  342. \includegraphics[width=0.7\paperwidth, keepaspectratio]{media/FancyTitleBox.png}
  343. };%
  344. \end{tikzpicture}
  345. }
  346. \begin{frame}
  347. \setlength{\TPHorizModule}{\paperwidth}
  348. \setlength{\TPVertModule}{\paperheight}
  349. % hsize:
  350. % 0.58 = {BoxLength=7.697}/{TotlaLength=13.333}
  351. % hpos: 0.56
  352. % (1.6/2)/13.333 in = 0.06\paperwidth
  353. % 0.5+0.06 = 0.56
  354. % vpos: 0.42
  355. % 0.42 = 0.5 - 0.08
  356. \begin{textblock}{0.58}[0.5,0.5](0.56,0.42)
  357. \centering
  358. \InsertFancyTitle
  359. \end{textblock}
  360. % Date @ bottom right
  361. \begin{textblock}{0.5}[1,1](0.95,0.95)
  362. \begin{flushright}
  363. \InsertFancyDate
  364. \end{flushright}
  365. \end{textblock}
  366. \end{frame}
  367. }
  368. }
  369. % [nosubsections]
  370. % {1} : Outline Text Grey
  371. % {2} : Outline Text Green
  372. \newcommand{\OutlineFrameFancy}[3][subsections]{ {% once
  373. \SetBackgroundImage{media/BannerLink.png}{media/Ribon.png}{0.04}{0.1}
  374. \begin{frame}
  375. \begin{columns}
  376. \begin{column}{0.6\textwidth}
  377. \setlength{\TPHorizModule}{\textwidth}
  378. \setlength{\TPVertModule}{\textheight}
  379. \begin{textblock}{1}[0.5,0.5](0.55,0.35)
  380. \centering
  381. \huge \textbf {\textcolor{KenotomGrey}{#2} \textcolor{KenotomGreen}{#3}}
  382. \end{textblock}
  383. \end{column}
  384. \begin{column}{0.4\textwidth}
  385. \vspace{0.2\textheight}
  386. \ifnum \isequal{#1}{nosubsections}=0
  387. \setcounter{tocdepth}{1}
  388. \fi
  389. \tableofcontents
  390. \Vfill
  391. \end{column}
  392. \end{columns}
  393. \end{frame}
  394. }
  395. }
  396. \newcommand{\OutlineFrame}[3][subsections]{%
  397. \ifdefined \beamer@kenotom@fancy
  398. \OutlineFrameFancy[#1]{#2}{#3}
  399. \else
  400. \begin{frame}{#2 #3}
  401. \vspace{0.2\textheight}
  402. \ifnum \isequal{#1}{nosubsections}=0
  403. \setcounter{tocdepth}{1}
  404. \fi
  405. \tableofcontents
  406. \Vfill
  407. \end{frame}
  408. \fi
  409. }
  410. \newcommand{\SectionFrameFancy}{ {% once
  411. \SetBackgroundImage{media/nothing.png}{media/SectionBackground.png}{0}{1.0}
  412. \setbeamercolor{navigation symbols}{fg=NavigationColorFancy, bg=NavigationArrowsColorFancy}
  413. \addtobeamertemplate{background}{}{%
  414. \begin{tikzpicture}[overlay,remember picture]
  415. % Rectangular fill
  416. \fill[SectionFrameOpacityColor, opacity=0.95]
  417. (current page.south east) rectangle (0.3075\paperwidth, \paperheight);
  418. % Circle fill
  419. \fill[GraphicBoxColor, opacity=0.95]
  420. (0.3075\paperwidth, -0.5\paperheight) circle (0.1537\paperwidth);
  421. % Border lines
  422. \draw[color=GraphicLineColor, line width=0.8mm]
  423. (0.3075\paperwidth, -0.5\paperheight) circle (0.17\paperwidth);
  424. \draw[color=GraphicLineColor, line width=0.8mm]
  425. (0.4775\paperwidth, -0.5\paperheight) -- (0.9\paperwidth, -0.5\paperheight);
  426. \fill[GraphicLineColor, opacity=0.95]
  427. (0.9\paperwidth, -0.5\paperheight) circle (1.2mm);
  428. % City
  429. \node[anchor=center] at (0.3075\paperwidth, -0.5\paperheight) {%
  430. \includegraphics[width=0.1945\paperwidth]{media/City.png}
  431. };
  432. \end{tikzpicture}
  433. }
  434. \begin{frame}
  435. \setlength{\TPHorizModule}{\paperwidth}
  436. \setlength{\TPVertModule}{\paperheight}
  437. % hsize:
  438. % 0.4 = {AvailableLength}/{TotlaLength}
  439. % hpos: 0.9
  440. % // The line in svg ends @12in
  441. % 0.9 = {LineEnds}/{TotalLength} = 12/13.333
  442. % vpos: 0.475
  443. % // 0.025 above center
  444. % 0.475 = 0.5 - 0.025
  445. \begin{textblock}{0.4}[1,1](0.9,0.475)
  446. \begin{flushright}
  447. \InsertFancySection
  448. \end{flushright}
  449. \end{textblock}
  450. \end{frame}
  451. }
  452. }
  453. \newcommand{\BackFrame}{ {% once
  454. \SetBackgroundImage[social]{media/BannerThankYou.png}{media/Ribon.png}{0.04}{0.4}
  455. \addtobeamertemplate{background}{}{%
  456. \begin{tikzpicture}[overlay,remember picture]
  457. \node[anchor=center, inner sep=0pt, yshift=0.04\paperheight] at (current page.center) {%
  458. \includegraphics[width=\paperwidth]{media/LogoDetails.png}
  459. };%
  460. \node[anchor=south, inner sep=0pt] at (current page.south) {%
  461. \includegraphics[width=\paperwidth]{media/BottomGradient.png}
  462. };%
  463. \end{tikzpicture}
  464. }
  465. \begin{frame}
  466. \Vfill
  467. \insertauthor \\
  468. \InsertAuthorEmail \\
  469. \InsertAddress \\
  470. \InsertTelephone
  471. \vspace{0.125\paperheight}
  472. \end{frame}
  473. }
  474. }
  475. \newenvironment{tickmarks}{%
  476. \SetGraphItemize{1.6ex}{media/Tickmark.png}
  477. \begin{itemize}
  478. }{%
  479. \end{itemize}
  480. }
  481. \newenvironment{bullets}{%
  482. \SetGraphItemize{1.3em}{media/Bullet.png}
  483. \begin{itemize}
  484. }{%
  485. \end{itemize}
  486. }