diff options
Diffstat (limited to 'macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty')
-rw-r--r-- | macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty index 751c2754b4..4b50b04ca1 100644 --- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty +++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty @@ -12,11 +12,19 @@ % See http://www.latex-project.org/lppl.txt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesPackage{beamerinnerthemetcolorbox}[2022/08/29 version v0.3 Beamer blocks with tcolorboxes] +\ProvidesPackage{beamerinnerthemetcolorbox}[2022/09/06 version v0.4 Beamer blocks with tcolorboxes] \RequirePackage{tcolorbox} \tcbuselibrary{skins,hooks} +\tcbset{ + beamer@tcb@iftitle/.code n args={1}{ + \ifbeamer@tcb@title + \pgfkeysalso{#1} + \fi + } +} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Theme Options @@ -25,15 +33,19 @@ \newif\ifbeamer@tcb@rounded \newif\ifbeamer@tcb@shadow \newif\ifbeamer@tcb@shaded +\newif\ifbeamer@tcb@title +\newif\ifbeamer@tcb@inmargin \def\beamer@tcb@true{true} \DeclareOptionBeamer{shadow}[true]{\csname beamer@tcb@shadow#1\endcsname} \DeclareOptionBeamer{rounded}[true]{\csname beamer@tcb@rounded#1\endcsname\csname beamer@tcb@shaded#1\endcsname} \DeclareOptionBeamer{shaded}[true]{\csname beamer@tcb@shaded#1\endcsname} +\DeclareOptionBeamer{inmargin}[true]{\csname beamer@tcb@inmargin#1\endcsname} \ExecuteOptionsBeamer{shadow=false} \ExecuteOptionsBeamer{rounded=false} \ExecuteOptionsBeamer{shaded=false} +\ExecuteOptionsBeamer{inmargin=false} % check options from other themes \ifdefined\beamer@themerounded@shadow @@ -44,6 +56,10 @@ \fi \fi +\ifdefined\beamer@putleft + \beamer@tcb@inmargintrue +\fi + \ProcessOptionsBeamer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -96,6 +112,7 @@ } \else \tcbsetforeverylayer{sharpish corners} + \beamer@tcb@titletrue \fi \ifbeamer@tcb@shaded @@ -110,6 +127,15 @@ \tcbsetforeverylayer{drop fuzzy shadow=black!90} \fi +\ifbeamer@tcb@inmargin + \tcbsetforeverylayer{ + detach title, + overlay={ + \node[anchor=north east,align=right,text width=\dimexpr\beamer@leftsidebar-\beamer@leftmargin-\beamer@rightmargin\relax] at ([xshift=-\beamer@leftmargin]frame.north west) {\tcbtitle}; + } + } +\fi + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Defining blocks @@ -120,11 +146,8 @@ % normal block \setbeamertemplate{block begin}{% \beamer@tcb@colini - \unless\ifbeamer@tcb@rounded - \tcbsetforeverylayer{title={\insertblocktitle}} - \fi \ifx\insertblocktitle\@empty\else - \tcbsetforeverylayer{title={\insertblocktitle}} + \beamer@tcb@titletrue \fi \begin{tcolorbox}[ colback=beamer@tcb@bodybg, @@ -132,7 +155,8 @@ coltext=beamer@tcb@bodyfg, coltitle=beamer@tcb@titlefg, before title={\usebeamerfont{block title}}, - before upper={\usebeamercolor{block body}\usebeamerfont{block body}}, + before upper={\usebeamercolor{block body}\usebeamerfont{block body}}, + beamer@tcb@iftitle={title={\insertblocktitle}} ] } \setbeamertemplate{block end}{\end{tcolorbox}} @@ -140,11 +164,8 @@ % alert block \setbeamertemplate{block alerted begin}{% \beamer@tcb@colini[ alerted] - \unless\ifbeamer@tcb@rounded - \tcbsetforeverylayer{title={\insertblocktitle}} - \fi \ifx\insertblocktitle\@empty\else - \tcbsetforeverylayer{title={\insertblocktitle}} + \beamer@tcb@titletrue \fi \begin{tcolorbox}[ colback=beamer@tcb@bodybg, @@ -153,6 +174,7 @@ coltitle=beamer@tcb@titlefg, before title={\usebeamerfont{block title alerted}}, before upper={\usebeamercolor{block body alerted}\usebeamerfont{block body alerted}}, + beamer@tcb@iftitle={title={\insertblocktitle}} ] } \setbeamertemplate{block alerted end}{\end{tcolorbox}} @@ -160,11 +182,8 @@ % example block \setbeamertemplate{block example begin}{% \beamer@tcb@colini[ example] - \unless\ifbeamer@tcb@rounded - \tcbsetforeverylayer{title={\insertblocktitle}} - \fi \ifx\insertblocktitle\@empty\else - \tcbsetforeverylayer{title={\insertblocktitle}} + \beamer@tcb@titletrue \fi \begin{tcolorbox}[ colback=beamer@tcb@bodybg, @@ -173,6 +192,7 @@ coltitle=beamer@tcb@titlefg, before title={\usebeamerfont{block title example}}, before upper={\usebeamercolor{block body example}\usebeamerfont{block body example}}, + beamer@tcb@iftitle={title={\insertblocktitle}} ] } \setbeamertemplate{block example end}{\end{tcolorbox}} |