1% Copyright 2007 by Till Tantau
2% Copyright 2015 by Vedran Mileti\'c, Joseph Wright
3% Copyright 2017,2018 by Louis Stuart, Joseph Wright
4%
5% This file may be distributed and/or modified
6%
7% 1. under the LaTeX Project Public License and/or
8% 2. under the GNU Public License.
9%
10% See the file doc/licenses/LICENSE for more details.
11
12\newdimen\beamer@sidebarwidth
13\newdimen\beamer@headheight
14\usebeamerfont{frametitle}
15\beamer@sidebarwidth=2.5\baselineskip
16\beamer@headheight=2.5\baselineskip
17\reset@font
18
19\def\beamer@lefttext{left}
20
21\DeclareOptionBeamer{hideothersubsections}[]{\beamer@nav@subsectionstyle{show/show/hide}}
22\DeclareOptionBeamer{hideallsubsections}[]{\beamer@nav@subsectionstyle{hide}}
23
24\DeclareOptionBeamer{width}{\beamer@sidebarwidth=#1}
25\DeclareOptionBeamer{height}{\beamer@headheight=#1}
26\DeclareOptionBeamer{left}{\def\beamer@sidebarside{left}}
27\DeclareOptionBeamer{right}{\def\beamer@sidebarside{right}}
28\ExecuteOptionsBeamer{left}
29\ProcessOptionsBeamer
30
31
32\mode<presentation>
33
34\ifdim\beamer@headheight>0pt
35% if head height is 0pt, use default frame title
36
37  \setbeamercolor*{frametitle}{parent=sidebar}
38
39  \defbeamertemplate*{frametitle}{sidebar theme}
40  {%
41    \nointerlineskip%
42    \ifbeamer@plainframe%
43      \hbox{\usebeamercolor[bg]{frametitle}%
44        \@tempdima\paperwidth\advance\@tempdima-\beamer@sidebarwidth
45        \hskip-\beamer@leftmargin\vrule height\beamer@headheight width\@tempdima\hskip-\beamer@rightmargin}%
46      \nointerlineskip%
47    \fi%
48    \vskip-\beamer@headheight%
49    \vbox to \beamer@headheight{%
50      \vfil
51      \leftskip=-\beamer@leftmargin%
52      \advance\leftskip by0.3cm%
53      \rightskip=-\beamer@rightmargin%
54      \advance\rightskip by0.3cm plus1fil%
55      {\usebeamercolor[fg]{frametitle}\usebeamerfont{frametitle}\strut\insertframetitle\par}%
56      \ifx\insertframesubtitle\@empty\else%
57        {\usebeamercolor[fg]{framesubtitle}\usebeamerfont{framesubtitle}\strut\insertframesubtitle\par}%
58      \fi%
59      \vbox{}%
60      \vskip-1em%
61      \vfil
62    }%
63  }
64
65  \defbeamertemplate*{headline}{sidebar theme}
66  {%
67    \begin{beamercolorbox}[wd=\paperwidth]{frametitle}
68      \ifx\beamer@sidebarside\beamer@lefttext%
69      \else%
70        \hfill%
71      \fi%
72      \ifdim\beamer@sidebarwidth>0pt%
73        \usebeamercolor[bg]{logo}%
74        \vrule width\beamer@sidebarwidth height \beamer@headheight%
75        \hskip-\beamer@sidebarwidth%
76        \hbox to \beamer@sidebarwidth{\hss\vbox to
77          \beamer@headheight{\vss\hbox{\color{fg}\insertlogo}\vss}\hss}%
78      \else%
79        \vrule width0pt height \beamer@headheight%
80      \fi%
81    \end{beamercolorbox}
82  }
83\fi
84
85
86\def\beamer@sidebarformat#1#2#3{%
87  \begin{beamercolorbox}[wd=\beamer@sidebarwidth,leftskip=#1,rightskip=1ex plus1fil,vmode]{#2}
88    \vbox{}%
89    #3\par%
90    \vbox{}%
91    \vskip-1.5ex%
92  \end{beamercolorbox}
93}
94
95\defbeamertemplate*{section in sidebar}{sidebar theme}
96{%
97  \vbox{%
98    \vskip1ex%
99    \beamer@sidebarformat{3pt}{section in sidebar}{\insertsectionhead}%
100  }%
101}
102
103\defbeamertemplate*{section in sidebar shaded}{sidebar theme}
104{%
105  \vbox{%
106    \vskip1ex%
107    \beamer@sidebarformat{3pt}{section in sidebar shaded}{\insertsectionhead}%
108  }%
109}
110
111\defbeamertemplate*{subsection in sidebar}{sidebar theme}
112{%
113  \beamer@sidebarformat{5pt}{subsection in sidebar}{\insertsubsectionhead}%
114}
115
116\defbeamertemplate*{subsection in sidebar shaded}{sidebar theme}
117{%
118  \beamer@sidebarformat{5pt}{subsection in sidebar shaded}{\insertsubsectionhead}%
119}
120
121\defbeamertemplate*{subsubsection in sidebar}{sidebar theme}
122{%
123  \beamer@sidebarformat{7pt}{subsubsection in sidebar}{\insertsubsubsectionhead}%
124}
125
126\defbeamertemplate*{subsubsection in sidebar shaded}{sidebar theme}
127{%
128  \beamer@sidebarformat{7pt}{subsubsection in sidebar shaded}{\insertsubsubsectionhead}%
129}
130
131
132\ifdim\beamer@sidebarwidth>0pt
133
134                                % Sidebar
135  \setbeamersize{sidebar width \beamer@sidebarside=\beamer@sidebarwidth}
136  \defbeamertemplate*{sidebar \beamer@sidebarside}{sidebar theme}
137  {
138    \beamer@tempdim=\beamer@sidebarwidth%
139    \advance\beamer@tempdim by -6pt%
140    {\usebeamerfont{title in sidebar}%
141      \vskip1.5em%
142      \hskip3pt%
143      \usebeamercolor[fg]{title in sidebar}%
144      \insertshorttitle[width=\beamer@tempdim,center,respectlinebreaks]\par%
145      \vskip1.25em%
146    }%
147    {%
148      \hskip3pt%
149      \usebeamercolor[fg]{author in sidebar}%
150      \usebeamerfont{author in sidebar}%
151      \insertshortauthor[width=\beamer@tempdim,center,respectlinebreaks]\par%
152      \vskip1.25em%
153    }%
154    \insertverticalnavigation{\beamer@sidebarwidth}%
155    \vfill
156    \ifx\beamer@sidebarside\beamer@lefttext%
157    \else%
158      \usebeamercolor{normal text}%
159      \llap{\usebeamertemplate***{navigation symbols}\hskip0.1cm}%
160      \vskip2pt%
161    \fi%
162  }%
163
164  \ifx\beamer@sidebarside\beamer@lefttext%
165    \defbeamertemplate*{sidebar right}{sidebar theme}
166    {%
167      \vfill%
168      \llap{\usebeamertemplate***{navigation symbols}\hskip0.1cm}%
169      \vskip2pt}
170  \fi
171                                % Margins
172  \setbeamersize{text margin left=0.5cm,text margin right=0.5cm}
173\fi
174
175\mode
176<all>
177