summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
diff options
context:
space:
mode:
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.sty48
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}}