summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-09-15 03:15:34 +0000
committerNorbert Preining <norbert@preining.info>2022-09-15 03:15:34 +0000
commit6d44c638512eb736c41551c5887b4475a14935bf (patch)
tree2f7c144e0e682047bc8ed9a411f4ca762ba1d300 /macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
parent9fb667bb165065e655a81b1eaf7b61f2f03825ec (diff)
CTAN sync 202209150315
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.sty171
1 files changed, 106 insertions, 65 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 4b50b04ca1..7878e5620e 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
@@ -12,40 +12,76 @@
% See http://www.latex-project.org/lppl.txt
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesPackage{beamerinnerthemetcolorbox}[2022/09/06 version v0.4 Beamer blocks with tcolorboxes]
+\ProvidesPackage{beamerinnerthemetcolorbox}[2022/09/14 version v0.5 Beamer blocks with tcolorboxes]
\RequirePackage{tcolorbox}
\tcbuselibrary{skins,hooks}
+\providecommand\@secondofthree[3]{#2}
+
\tcbset{
- beamer@tcb@iftitle/.code n args={1}{
- \ifbeamer@tcb@title
- \pgfkeysalso{#1}
- \fi
+ beamer@tcb@if/.code n args = {3}{%
+ \csname #1\endcsname\expandafter\@secondofthree\fi
+ \@secondoftwo{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
}
}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Theme Options
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newif\ifbeamer@tcb@rounded
\newif\ifbeamer@tcb@shadow
\newif\ifbeamer@tcb@shaded
-\newif\ifbeamer@tcb@title
+\newif\ifbeamer@tcb@showtitle
\newif\ifbeamer@tcb@inmargin
+\newif\ifbeamer@tcb@color
+\newif\ifbeamer@tcb@left
+\newif\ifbeamer@tcb@right
+\newif\ifbeamer@tcb@center
+\newif\ifbeamer@tcb@titlepage
+\newif\ifbeamer@tcb@blocks
+\beamer@tcb@colortrue
\def\beamer@tcb@true{true}
+\tikzset{
+ /beamer@tcb/.cd,
+ wd/.store in = \beamer@tcb@wd,
+ wd = \textwidth,
+ dp/.code = \relax,
+ ht/.code = \relax,
+ left/.code = \beamer@tcb@lefttrue,
+ right/.code = \beamet@tcb@righttrue,
+ center/.code = \beamer@tcb@centertrue,
+ leftskip/.store in = \beamer@tcb@leftskip,
+ leftskip = 0.05cm,
+ rightskip/.store in = \beamer@tcb@rightskip,
+ rightskip = 0.05cm,
+ sep/.store in = \beamer@tcb@sep,
+ sep = 1mm,
+ colsep/.code = \relax,
+ colsep*/.code = \relax,
+ shadow/.code = \relax,
+ rounded/.code = \relax,
+ ignorebg/.code = \relax,
+ vmode/.code = \relax,
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Theme Options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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{rounded}[true]{\csname beamer@tcb@rounded#1\endcsname\csname beamer@tcb@shaded#1\endcsname\csname beamer@tcb@showtitlefalse\endcsname}
\DeclareOptionBeamer{shaded}[true]{\csname beamer@tcb@shaded#1\endcsname}
\DeclareOptionBeamer{inmargin}[true]{\csname beamer@tcb@inmargin#1\endcsname}
+\DeclareOptionBeamer{showtitle}[true]{\csname beamer@tcb@showtitle#1\endcsname}
+\DeclareOptionBeamer{titlepage}[true]{\csname beamer@tcb@titlepage#1\endcsname}
+\DeclareOptionBeamer{blocks}[true]{\csname beamer@tcb@blocks#1\endcsname}
\ExecuteOptionsBeamer{shadow=false}
\ExecuteOptionsBeamer{rounded=false}
\ExecuteOptionsBeamer{shaded=false}
\ExecuteOptionsBeamer{inmargin=false}
+\ExecuteOptionsBeamer{showtitle=true}
+\ExecuteOptionsBeamer{titlepage=true}
+\ExecuteOptionsBeamer{blocks=true}
% check options from other themes
\ifdefined\beamer@themerounded@shadow
@@ -54,6 +90,7 @@
\ifx\beamer@themerounded@shadow\beamer@tcb@true
\beamer@tcb@shadowtrue
\fi
+ \beamer@tcb@showtitlefalse
\fi
\ifdefined\beamer@putleft
@@ -112,7 +149,6 @@
}
\else
\tcbsetforeverylayer{sharpish corners}
- \beamer@tcb@titletrue
\fi
\ifbeamer@tcb@shaded
@@ -143,58 +179,63 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mode<presentation>
-% normal block
-\setbeamertemplate{block begin}{%
- \beamer@tcb@colini
- \ifx\insertblocktitle\@empty\else
- \beamer@tcb@titletrue
- \fi
- \begin{tcolorbox}[
- colback=beamer@tcb@bodybg,
- colbacktitle=beamer@tcb@titlebg,
- coltext=beamer@tcb@bodyfg,
- coltitle=beamer@tcb@titlefg,
- before title={\usebeamerfont{block title}},
- before upper={\usebeamercolor{block body}\usebeamerfont{block body}},
- beamer@tcb@iftitle={title={\insertblocktitle}}
- ]
-}
-\setbeamertemplate{block end}{\end{tcolorbox}}
-
-% alert block
-\setbeamertemplate{block alerted begin}{%
- \beamer@tcb@colini[ alerted]
- \ifx\insertblocktitle\@empty\else
- \beamer@tcb@titletrue
- \fi
- \begin{tcolorbox}[
- colback=beamer@tcb@bodybg,
- colbacktitle=beamer@tcb@titlebg,
- coltext=beamer@tcb@bodyfg,
- 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}}
-
-% example block
-\setbeamertemplate{block example begin}{%
- \beamer@tcb@colini[ example]
- \ifx\insertblocktitle\@empty\else
- \beamer@tcb@titletrue
- \fi
- \begin{tcolorbox}[
+\newtcolorbox{beamer@tcb@block}[1][]{
+ code={
+ \beamer@tcb@colini[#1]
+ \ifx\insertblocktitle\@empty\else
+ \beamer@tcb@showtitletrue
+ \fi
+ },
+ colback=beamer@tcb@bodybg,
+ colbacktitle=beamer@tcb@titlebg,
+ coltext=beamer@tcb@bodyfg,
+ coltitle=beamer@tcb@titlefg,
+ before title={\usebeamerfont{block title}},
+ before upper={\usebeamercolor{block body}\usebeamerfont{block body}},
+ beamer@tcb@if={ifbeamer@tcb@showtitle}{title={\insertblocktitle}}{},
+}
+
+\ifbeamer@tcb@blocks
+ \setbeamertemplate{block begin}{\begin{beamer@tcb@block}}
+ \setbeamertemplate{block end}{\end{beamer@tcb@block}}
+ \setbeamertemplate{block alerted begin}{\begin{beamer@tcb@block}[ alerted]}
+ \setbeamertemplate{block alerted end}{\end{beamer@tcb@block}}
+ \setbeamertemplate{block example begin}{\begin{beamer@tcb@block}[ example]}
+ \setbeamertemplate{block example end}{\end{beamer@tcb@block}}
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% patch title page etc.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\beamer@tcb@patchcolorbox}{%
+ \renewtcolorbox{beamercolorbox}[2][]{%
+ code={%
+ \usebeamercolor{##2}%
+ \colorlet{beamer@tcb@bodybg}{##2.bg}%
+ \colorlet{beamer@tcb@bodyfg}{##2.fg}%
+ \ifbeamercolorempty[bg]{##2}{}{\beamer@tcb@colorfalse}%
+ \tikzset{/beamer@tcb/.cd,##1}%
+ },
colback=beamer@tcb@bodybg,
- colbacktitle=beamer@tcb@titlebg,
coltext=beamer@tcb@bodyfg,
- 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}}
+ beamer@tcb@if={ifbeamer@tcb@color}{no shadow}{boxsep=\beamer@tcb@sep},
+ width=\beamer@tcb@wd,
+ beamer@tcb@if={ifbeamer@tcb@center}{halign=center}{},
+ beamer@tcb@if={ifbeamer@tcb@left}{halign=left}{},
+ beamer@tcb@if={ifbeamer@tcb@right}{halign=right}{},
+ left=\beamer@tcb@leftskip,
+ right=\beamer@tcb@rightskip,
+ }%
+}
+
+\ifbeamer@tcb@titlepage
+ \addtobeamertemplate{title page}{\begingroup\beamer@tcb@patchcolorbox}{\endgroup}
+ \addtobeamertemplate{part page}{\begingroup\beamer@tcb@patchcolorbox}{\endgroup}
+ \addtobeamertemplate{section page}{\begingroup\beamer@tcb@patchcolorbox}{\endgroup}
+ \addtobeamertemplate{subsection page}{\begingroup\beamer@tcb@patchcolorbox}{\endgroup}
+\fi
\mode<all>