% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{Заголовок в три строки \\ покажут нормально только \\ если \\ убрать \\ подзаголовок}
+\title{Заголовок в три строки \\ покажут нормально только \\ Если \\ убрать \\ подзаголовок}
\subtitle{Подзаголовок презентации в две или три\\
строки (чтобы лучше объяснить тему\\
выступления)}
\AtBeginDocument{\setsansfont{Roboto}}
\AtBeginDocument{\setmonofont{Consolas}}
\setbeamercolor*{title page header}{fg=white}
-\setbeamerfont*{title}{size*={40pt}{1},family={\fontspec{Roboto-Medium}}}
+\setbeamerfont*{title}{size*={40pt}{40pt},family={\fontspec{Roboto-Medium}}}
\setbeamercolor*{subtitle}{fg=subTitleColor}
\definecolor{subTitleColor}{HTML}{889BEF}
\setbeamerfont*{subtitle}{size*={20pt}{24pt},family=\sffamily}
}
% Title page
+\newlength{\theme@titleheight}
\defbeamertemplate*{title page}{}[1][]
{%
+ % рендерим заголовок отдельно, и в зависимости от его размера (theme@titleheight)
+ % по разному вставляем его в макет
+ \setbox0=\vbox{%
+ \usebeamerfont{title}%
+ \inserttitle\par%
+ }
+ \settototalheight{\theme@titleheight}{\usebox0}
+
\begin{textblock*}{\paperwidth}(\beamer@leftmargin, 2.31cm)
\begin{beamercolorbox}[left,#1]{title page header}
\usebeamerfont{title}%
- \begin{minipage}[t][3.51cm][c]{\textwidth}
- % \vskip\the\RobotoMediumBaselineGap%
- \inserttitle\par%
- \end{minipage}
+ %
+ \ifdim\theme@titleheight<3.51cm
+ \begin{minipage}[t][3.51cm][c]{\textwidth}
+ \usebox0%
+ \end{minipage}
+ \else
+ \usebox0%
+ \fi
\end{beamercolorbox}%
- \end{textblock*}
%
- \begin{textblock*}{\paperwidth}(\beamer@leftmargin, 6.08cm)
\begin{beamercolorbox}[left,#1]{subtitle}
\usebeamerfont{subtitle}%
- \vskip \dimexpr \RobotoRegularBaselineGap - 9pt \relax%
+
+ \ifdim\theme@titleheight<3.51cm
+ \vskip \dimexpr \RobotoRegularBaselineGap - 9pt \relax%
+ \else
+ \vskip \dimexpr \RobotoRegularBaselineGap + 0pt \relax%
+ \fi
+%
\insertsubtitle\par%
\end{beamercolorbox}%
\end{textblock*}