diff options
author | Norbert Preining <norbert@preining.info> | 2022-09-15 03:15:34 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-09-15 03:15:34 +0000 |
commit | 6d44c638512eb736c41551c5887b4475a14935bf (patch) | |
tree | 2f7c144e0e682047bc8ed9a411f4ca762ba1d300 /macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty | |
parent | 9fb667bb165065e655a81b1eaf7b61f2f03825ec (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.sty | 171 |
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> |