% Beamer sTeX slide theme; % Copyright (c) 20 Michael Kohlhase . \ProvidesPackage{beamerthemesTeX} \typeout{Beamer sTeX theme} \RequirePackage{xspace} \RequirePackage{stex,notesslides,tikzinput} \ExplSyntaxOn \protected\def\stexbeamerthm#1#2#3#4#5#6#7#8{ \tl_if_empty:nTF{#4}{ \newcounter{#1} \ifnotes\else\resetcounteronoverlays{#1} \fi }{ \newcounter{#1}[#4] \ifnotes\else\resetcounteronoverlays{#1} \fi \tl_set:cn{the#1}{ \use:c{the#4}.\arabic{#1} } } \tl_set:cn{#1autorefname}{#6} \newenvironment{#1}{ \ifhmode\par\fi \tl_if_empty:nF{#5}{ \setcounter{#1}{\value{#5}} \stepcounter{#5} } \refstepcounter{#1} \noindent#7{ #6~\use:c{the#1} \tl_if_empty:NF\thistitle{ {}~(\thistitle) }. } #8 }{\par} \csname stexstyle#2\endcsname[#3]{\begin{#1}}{\end{#1}} } \cs_set_protected:Nn \stex_beamertheme_do_en: { \def\stexthm@kw@theorem{Theorem} \def\stexthm@kw@observation{Observation} \def\stexthm@kw@corollary{Corollary} \def\stexthm@kw@lemma{Lemma} \def\stexthm@kw@axiom{Axiom} \def\stexthm@kw@remark{Remark} \def\stexthm@kw@example{Example} \def\stexthm@kw@definition{Definition} } \cs_set_protected:Nn \stex_beamertheme_do_de: { \def\stexthm@kw@theorem{Satz} \def\stexthm@kw@observation{Beobachtung} \def\stexthm@kw@corollary{Korollar} \def\stexthm@kw@lemma{Lemma} \def\stexthm@kw@axiom{Axiom} \def\stexthm@kw@remark{Bemerkung} \def\stexthm@kw@example{Beispiel} \def\stexthm@kw@definition{Definition} } \AtBeginDocument{ \cs_if_exist:NTF\iflanguage{ \cs_if_exist:NT \l@english { \iflanguage{english}{ \stex_beamertheme_do_en: }{} } \cs_if_exist:NT \l@ngerman { \iflanguage{ngerman}{ \stex_beamertheme_do_de: }{} } }{ \stex_beamertheme_do_en: } } \cs_if_exist:NF \_beamertheme_stex_css:n { \cs_set:Nn \_beamertheme_stex_css:n { font-weight:~bold; font-size:inherit; color:blue; &::before~{ content:~"#1"~"~"counter(ftml-section)~"."~counter(ftml-para); } &::after~{ content: ".~"; } } } \AddToHook{begindocument}{ \stexcssassertion[theorem,counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@theorem} \stexcssassertion[observation,counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@observation} \stexcssassertion[corollary,counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@corollary} \stexcssassertion[lemma,counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@lemma} \stexcssassertion[axiom,counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@axiom} \stexcssassertion[remark,counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@remark} \stexcssparagraph[remark,counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@remark} \stexcssdefinition[counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@definition} \stexcssexample[counter=para,parent=section]{ }{\_beamertheme_stex_css:n \stexthm@kw@example} } \ExplSyntaxOff \stexbeamerthm{theorem}{assertion}{theorem}{section}{}{\stexthm@kw@theorem}\textbf\itshape \stexbeamerthm{observation}{assertion}{observation}{section}{theorem}{\stexthm@kw@observation}\textbf\itshape \stexbeamerthm{corollary}{assertion}{corollary}{section}{theorem}{\stexthm@kw@corollary}\textbf\itshape \stexbeamerthm{lemma}{assertion}{lemma}{section}{theorem}{\stexthm@kw@lemma}\textbf\itshape \stexbeamerthm{axiom}{assertion}{axiom}{section}{theorem}{\stexthm@kw@axiom}\textbf\itshape \stexbeamerthm{remark}{assertion}{remark}{section}{theorem}{\stexthm@kw@remark}\emph{} \stexstyleparagraph[remark]{\begin{remark}}{\end{remark}} \stexbeamerthm{example}{example}{}{section}{theorem}{\stexthm@kw@example}\textbf{} \stexbeamerthm{definition}{definition}{}{section}{theorem}{\stexthm@kw@definition}\textbf{} \def\notesslidestitleemph#1{ \textcolor{blue}{\Large\bf\sf#1}% \vskip0.1\baselineskip \leaders\vrule width \textwidth \vskip0.4pt% \nointerlineskip } \newlength{\slidelogoheight} \ExplSyntaxOn \bool_if:NTF \c_notesslides_notes_bool { \setlength{\slidelogoheight}{.4cm} }{ \setlength{\slidelogoheight}{.25cm} } \ifcsname slidelogo\endcsname\else \newsavebox{\slidelogo} \sbox{\slidelogo}{\sTeX} \fi \newrobustcmd{\setslidelogo}[2][]{ \tl_if_empty:nTF{#1}{ \sbox{\slidelogo}{\includegraphics[height=\slidelogoheight]{#2}} }{ \sbox{\slidelogo}{\mhgraphics[height=\slidelogoheight,archive=#1]{#2}} } } \newrobustcmd{\setsource}[1]{\def\source{#1}} \def\copyrightnotice{% \footnotesize\copyright :\hspace{.3ex}% \ifcsname source\endcsname\source\else% \ifcsname c_notesslides_shortauthor\endcsname\c_notesslides_shortauthor\else% \PackageWarning{notesslides}{Author/Source~undefined~in~copyright~notice}% ?source/author?\fi% \fi} \newsavebox{\cclogo} \sbox{\cclogo}{\includegraphics[height=\slidelogoheight]{stex-cc_somerights}} \newif\ifcchref\cchreffalse \AtBeginDocument{ \@ifpackageloaded{hyperref}{\cchreftrue}{\cchreffalse} } \def\licensing{ \ifcchref \href{http://creativecommons.org/licenses/by-sa/2.5/}{\usebox{\cclogo}} \else {\usebox{\cclogo}} \fi } \newrobustcmd{\setlicensing}[2][]{ \def\@url{#1} \sbox{\cclogo}{\includegraphics[height=\slidelogoheight]{#2}} \ifx\@url\@empty \def\licensing{{\usebox{\cclogo}}} \else \def\licensing{ \ifcchref \href{#1}{\usebox{\cclogo}} \else {\usebox{\cclogo}} \fi } \fi } \newrobustcmd\notesslides@slidelabel{ \vbox to \slidelogoheight{ \vss\hbox to \slidewidth {\licensing\hfill\copyrightnotice\hfill\arabic{slide}\hfill\usebox{\slidelogo}} } } \define@key{Gin}{label}{\def\@currentlabel{\arabic{slide}}\label{#1}} %% Logo images \pgfdeclareimage[height=2ex]{instlogo}{sTeX-logo} \pgfdeclareimage[height=2ex]{cclogo}{stex-cc_somerights} \ExplSyntaxOff \def\notesslidesfooter{ \usebox\slidelogo \hspace*{1cm}\insertshortauthor: \insertshorttitle\hfill{}% \insertframenumber\hfill\insertshortdate \hspace*{1cm}\pgfuseimage{cclogo}% } % THEME \mode \def\notesslidestitleemph#1{ \textcolor{blue}{\Large\bf\sf#1}% \vskip-.1\baselineskip \leaders\vrule width \paperwidth\vskip0.4pt% \vskip0pt% \nointerlineskip } \notesslidesfont %% A simple frame title with a long rule under it. \setbeamertemplate{frametitle}{% \usebeamerfont{frametitle}\insertframetitle\strut% \vskip-.1\baselineskip% \leaders\vrule width \paperwidth\vskip0.4pt% \vskip0pt% \nointerlineskip } %% A Footer line with a Institution and CC logos \setbeamertemplate{footline}[text line]{% \usebeamercolor[fg]{titlelike}% \strut\notesslidesfooter } %% Turn off the navigation symbols \setbeamertemplate{navigation symbols}{} %% Inner theme \useinnertheme{default} %\setbeamertemplate{enumerate item}{(\alph{enumi})} %\setbeamertemplate{enumerate subitem}{(\roman{enumii})} \mode %% Redefine various margin sizes \setbeamersize{text margin left=3mm} \setbeamersize{text margin right=3mm} \setbeamersize{description width=0.57cm} \setlength\leftmargini{1em} \setlength\leftmarginii{1em} \setlength\leftmarginiii{1em} \providecommand{\vstretch}[1]{\vspace*{\stretch{#1}}} %% set the colors for sTeX content highlighting \definecolor{steelblue}{rgb}{0.27, 0.51, 0.71} \def\compemph#1{\textcolor{steelblue}{#1}} \def\symrefemph#1{\textcolor{steelblue}{#1}} \def\defemph#1{\textcolor{magenta}{#1}} \def\varemph#1{\textcolor{gray}{#1}} %% set PDF tooltips \RequirePackage{pdfcomment} \protected\def\compemph@uri#1#2{% \pdftooltip{% \compemph{#1}%\srefsymuri{#2}{\compemph{#1}}% }{% URI:~#2% }% } \protected\def\symrefemph@uri#1#2{% \pdftooltip{% \symrefemph{#1}%\srefsymuri{#2}{\symrefemph{#1}}% }{% URI:~#2% }% } \protected\def\defemph@uri#1#2{% \pdftooltip{% \defemph{#1}% }{% URI:~#2% }% } \protected\def\varemph@uri#1#2{% \pdftooltip{% \varemph{#1}% }{% Variable~#2% }% }