summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer-contrib/themes/beamerthemeconcrete/clagrange/beamerthemeclagrange.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/beamer-contrib/themes/beamerthemeconcrete/clagrange/beamerthemeclagrange.sty')
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamerthemeconcrete/clagrange/beamerthemeclagrange.sty379
1 files changed, 379 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamerthemeconcrete/clagrange/beamerthemeclagrange.sty b/macros/latex/contrib/beamer-contrib/themes/beamerthemeconcrete/clagrange/beamerthemeclagrange.sty
new file mode 100644
index 0000000000..9f2c17d4c3
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamerthemeconcrete/clagrange/beamerthemeclagrange.sty
@@ -0,0 +1,379 @@
+% -*- coding: utf-8 -*-
+% ----------------------------------------------------------------------------
+% Author: Jianrui Lyu <tolvjr@163.com>
+% Website: https://github.com/lvjr/concrete
+% License: The LaTeX Project Public License 1.3c
+% ----------------------------------------------------------------------------
+
+\ProvidesPackage{beamerthemeclagrange}[2024-01-21 v2024B Beamer Theme cLagrange]
+
+\makeatletter
+
+% compatible with old versions of beamer
+\providecommand{\beamer@endinputifotherversion}[1]{}
+
+\RequirePackage{tikz,etoolbox,manfnt}
+\usetikzlibrary{calc}
+
+\mode<presentation>
+
+\@ifclasswith{beamer}{aspectratio=169}
+ {\setbeamersize{text margin left=5mm,text margin right=5mm}}
+ {\setbeamersize{text margin left=6mm,text margin right=6mm}}
+
+%% ----------------- background canvas and background ----------------
+
+\newcommand{\my@background@canvas@vector@narrow}{%
+ \begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[line width=4mm, rounded corners=4mm, corner1,
+ shading=axis,top color=corner2!80,bottom color=corner2!80,middle color=white,shading angle=-45]
+ (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[line width=3.5mm, rounded corners=3.8mm, corner2]
+ (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[draw=lightgray!50, step=4mm, xshift=6mm, yshift=6mm, opacity=0.5]
+ (0,0) grid ($(\paperwidth,\paperheight)-(12mm,12mm)$);
+ \end{tikzpicture}
+}
+
+\newcommand{\my@background@canvas@vector@wide}{%
+ \begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[line width=4mm, rounded corners=4mm, corner1,
+ shading=axis,top color=corner2!80,bottom color=corner2!80,middle color=white,shading angle=-45]
+ (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[line width=3.5mm, rounded corners=3.8mm, corner2]
+ (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[draw=lightgray!50, step=5mm, xshift=5mm, yshift=5mm, opacity=0.5]
+ (0,0) grid ($(\paperwidth,\paperheight)-(10mm,10mm)$);
+ \end{tikzpicture}
+}
+
+\newcommand{\my@background@canvas@raster@narrow}{%
+ \includegraphics<beamer>[width=\paperwidth,height=\paperheight]{backgroundn1}%
+ \includegraphics<handout>[width=\paperwidth,height=\paperheight]{backgroundn2}%
+}
+
+\newcommand{\my@background@canvas@raster@wide}{%
+ \includegraphics<beamer>[width=\paperwidth,height=\paperheight]{backgroundw1}%
+ \includegraphics<handout>[width=\paperwidth,height=\paperheight]{backgroundw2}%
+}
+
+\@ifclasswith{beamer}{aspectratio=169}{%
+ \let\my@background@canvas@vector=\my@background@canvas@vector@wide
+ \let\my@background@canvas@raster=\my@background@canvas@raster@wide
+}{%
+ \let\my@background@canvas@vector=\my@background@canvas@vector@narrow
+ \let\my@background@canvas@raster=\my@background@canvas@raster@narrow
+}
+
+\defbeamertemplate{background canvas}{vector}{%
+ \my@background@canvas@vector
+}
+
+\defbeamertemplate{background canvas}{raster}{%
+ \my@background@canvas@raster
+}
+
+\defbeamertemplate{background}{logo}[1][height=0.6\paperheight]{%
+ \parbox[c][\paperheight][c]{\paperwidth}{\centering\includegraphics[#1]{logo}}%
+}
+
+\@ifclasswith{beamer}{aspectratio=169}{%
+ \defbeamertemplate{background}{line}[1][\relax]{%
+ \begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[draw=accent2!50, #1, xshift=5mm, yshift=5mm, opacity=0.5]
+ (0,0) grid ($(\paperwidth,\paperheight)-(10mm,10mm)$);
+ %\insertbackgroundmark
+ \end{tikzpicture}%
+ }
+}{
+ \defbeamertemplate{background}{line}[1][\relax]{%
+ \begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[draw=accent2!50, #1, xshift=6mm, yshift=6mm, opacity=0.5]
+ (0,0) grid ($(\paperwidth,\paperheight)-(12mm,12mm)$);
+ %\insertbackgroundmark
+ \end{tikzpicture}%
+ }
+}
+
+\@ifclasswith{beamer}{aspectratio=169}{%
+ \defbeamertemplate{background}{lattice}[1][1mm]{%
+ \begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[draw=accent3!50, step=2.5mm, xshift=5mm, yshift=5mm, opacity=0.5]
+ (0,0) grid ($(\paperwidth,\paperheight)-(10mm,10mm)$);
+ %\insertbackgroundmark
+ \end{tikzpicture}%
+ }
+}{
+ \defbeamertemplate{background}{lattice}[1][1mm]{%
+ \begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
+ \draw[draw=accent3!50, step=2mm, xshift=6mm, yshift=6mm, opacity=0.5]
+ (0,0) grid ($(\paperwidth,\paperheight)-(12mm,12mm)$);
+ %\insertbackgroundmark
+ \end{tikzpicture}%
+ }
+}
+
+%% -------------------------- title page -----------------------------
+
+% add \occasion command
+\newcommand{\occasion}[1]{\def\insertoccasion{#1}}
+\occasion{}
+
+\newlength{\my@title@split@left}
+\newlength{\my@title@split@right}
+\@ifclasswith{beamer}{aspectratio=169}{
+ \setlength{\my@title@split@left}{0.618\textwidth}
+ \setlength{\my@title@split@right}{0.382\textwidth}
+}{
+ \setlength{\my@title@split@left}{0.54\textwidth}
+ \setlength{\my@title@split@right}{0.46\textwidth}
+}
+
+
+\defbeamertemplate{title page}{split}{%
+ \begin{minipage}[c][0.9\textheight]{\my@title@split@left}
+ \linespread{1}\raggedright
+ \vfill
+ \ifx\insertoccasion\@empty\else
+ \usebeamerfont*{occasion}\usebeamercolor[fg]{occasion}\insertoccasion\\[3pt]%
+ \fi
+ \usebeamerfont*{date}\usebeamercolor[fg]{date}\insertdate
+ \vspace{4pt}{\color{gray}\hrule}
+ \vfill\vfill
+ \usebeamerfont*{title}\usebeamercolor[fg]{title}\inserttitle
+ \ifx\insertsubtitle\@empty\else
+ \\[5pt]\usebeamerfont*{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle
+ \fi%
+ \vfill\vfill{\color{gray}\hrule}\vspace{4pt}
+ \usebeamerfont*{author}\usebeamercolor[fg]{author}\insertauthor\\[3pt]%
+ \usebeamerfont*{institute}\usebeamercolor[fg]{institute}\insertinstitute
+ \vfill\vfill
+ \end{minipage}%
+ \begin{minipage}[c][0.9\textheight]{\my@title@split@right}
+ \hfill
+ \IfFileExists{titlepage.png}{%
+ \includegraphics[height=0.9\textheight]{titlepage}%
+ }{%
+ \begin{tikzpicture}[draw=gray,text=darkgray]
+ \draw[use as bounding box] (0,0) rectangle (0.5\paperheight,0.7\paperheight);
+ \draw (0,0) -- (0.5\paperheight,0.7\paperheight);
+ \draw (0,0.7\paperheight) -- (0.5\paperheight,0);
+ \node at (0.25\paperheight,0.35\paperheight) {titlepage.png};
+ \end{tikzpicture}%
+ }%
+ \end{minipage}
+}
+
+%% ----------------------- section and subsection --------------------
+
+\def\sectionintochideskip{10pt}
+\def\sectionintocshowskip{6pt}
+\patchcmd{\beamer@sectionintoc}{\vskip1.5em}{\vskip\sectionintochideskip}{}{}
+\patchcmd{\beamer@sectionintoc}{\vfill}{\vskip\sectionintocshowskip}{}{}
+
+\AtBeginSection[]{%
+ \begin{frame}
+ \tableofcontents[sectionstyle=show/shaded,subsectionstyle=hide]
+ \end{frame}
+}
+
+\defbeamertemplate{section in toc}{numbered}{%
+ \leavevmode\leftskip=8mm\inserttocsectionnumber.\hspace{0.6em}\inserttocsection\par
+}
+\defbeamertemplate{section in toc}{dbend}{%
+ \leavevmode\leftskip=8mm{\color{accent3}\tiny\textdbend\scriptsize\inserttocsectionnumber}%
+ \hspace{0.6em}\inserttocsection\par
+}
+
+\AtBeginSubsection[]{%
+ \begin{frame}
+ \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide]
+ \end{frame}
+}
+
+\defbeamertemplate{subsection in toc}{numbered}{%
+ \vspace{6pt}\leavevmode\leftskip=12mm\inserttocsectionnumber.\inserttocsubsectionnumber
+ \hspace{0.8em}\inserttocsubsection\par
+}
+\defbeamertemplate{subsection in toc}{dbend}{%
+ \vspace{6pt}\leavevmode\leftskip=12mm{\color{accent3}\tiny\textdbend
+ \scriptsize\inserttocsectionnumber.\inserttocsubsectionnumber}%
+ \hspace{0.8em}\inserttocsubsection\par
+}
+
+%% ---------------- headline, footline and textheight ----------------
+
+% make \textheight = \paperheight - 12mm
+\patchcmd{\beamer@calculateheadfoot}{\advance\footheight by 4pt}{}{}{}
+
+% modify plain frames
+\def\beamer@frametemplate@plain{}
+
+\@ifclasswith{beamer}{aspectratio=169}{
+ \setbeamertemplate{headline}{\vspace{5mm}}
+ \setbeamertemplate{footline}{\vspace{5mm}}
+}{
+ \setbeamertemplate{headline}{\vspace{6mm}}
+ \setbeamertemplate{footline}{\vspace{6mm}}
+}
+
+% patch frames with t option
+\patchcmd{\KV@beamerframe@t}
+ {\beamer@frametopskip=.2cm plus .5\paperheight}
+ {\beamer@frametopskip=0mm}
+ {}{}
+
+%% ------------------------- frame title -----------------------------
+
+\defbeamertemplate{frametitle}{simple}[1][]{%
+ \nointerlineskip
+ \begin{beamercolorbox}[wd=\paperwidth,sep=0pt,leftskip=\beamer@leftmargin,%
+ rightskip=\beamer@rightmargin,#1]{frametitle}
+ \usebeamerfont{frametitle}%
+ \rule[-0.45em]{0pt}{1.5em}\insertframetitle\usebeamertemplate{frame number}%
+ \rule[-0.45em]{0pt}{1.5em}\par
+ \end{beamercolorbox}
+}
+
+\defbeamertemplate{frame number}{simple}{%
+ \usebeamercolor{normal text}%
+ \hfill{\color{fg!60!bg}\insertframenumber}%
+}
+
+%% ------------------- block and theorem -----------------------------
+
+% allow it to be modified by user
+\def\myinserttheoremaddition{\inserttheoremaddition}
+
+\defbeamertemplate{theorem begin}{simple}
+{%
+ \upshape%\bfseries\inserttheoremheadfont
+ {\usebeamercolor[fg]{theoremname}%
+ \inserttheoremname\inserttheoremnumber
+ \ifx\inserttheoremaddition\@empty\else
+ \ \usebeamercolor[fg]{local structure}(\myinserttheoremaddition)%
+ \fi%
+ %\inserttheorempunctuation
+ }%
+ \quad\normalfont
+}
+\defbeamertemplate{theorem end}{simple}{\par}
+
+\defbeamertemplate{proof begin}{simple}
+{%
+ %\bfseries
+ {\usebeamercolor[fg]{proofname}\insertproofname}%
+ \quad\normalfont
+}
+\defbeamertemplate{proof end}{simple}{\par}
+
+%% --------------------------- font theme ----------------------------
+
+\setbeamerfont{title}{size=\LARGE,series=\bfseries,family=\rmfamily}
+\setbeamerfont{subtitle}{size=\large}
+\setbeamerfont{occasion}{size=\normalsize}
+\setbeamerfont{date}{size=\normalsize}
+\setbeamerfont{author}{size=\normalsize}
+\setbeamerfont{institute}{size=\normalsize}
+\setbeamerfont{section in toc}{size=\Large}
+\setbeamerfont{subsection in toc}{size=\large}
+\setbeamerfont{frametitle}{size=\large}
+\setbeamerfont{block title}{size=\normalsize}
+
+\usefonttheme{professionalfonts}
+%\usepackage{arev}
+
+%% ---------------------------- color theme --------------------------
+
+% always use rgb colors in pdf files
+\substitutecolormodel{hsb}{rgb}
+
+\definecolor{redx5}{Hsb}{0,1,0.5}
+\definecolor{yellow86}{Hsb}{60,0.8,0.6}
+\definecolor{greenx3}{Hsb}{120,1,0.3}
+\definecolor{azurexx}{Hsb}{210,1,0.5}
+\definecolor{blue29}{Hsb}{240,0.2,0.9}
+\definecolor{magenta88}{Hsb}{300,0.8,0.8}
+
+\colorlet{text1}{black}
+\colorlet{back1}{white}
+\colorlet{accent1}{azurexx}
+\colorlet{accent2}{greenx3}
+\colorlet{accent3}{redx5}
+\colorlet{accent4}{yellow86}
+\colorlet{accent5}{magenta88}
+\colorlet{filler1}{accent1!40!back1}
+\colorlet{filler2}{accent2!40!back1}
+\colorlet{filler3}{accent3!40!back1}
+\colorlet{filler4}{accent4!40!back1}
+\colorlet{filler5}{accent5!40!back1}
+\colorlet{gray1}{black!20}
+\colorlet{gray2}{black!35}
+\colorlet{gray3}{black!50}
+\colorlet{gray4}{black!65}
+\colorlet{gray5}{black!80}
+\colorlet{corner1}{white}
+\colorlet{corner2}{blue29}
+
+\setbeamercolor{normal text}{bg=white,fg=black}
+\setbeamercolor{structure}{fg=accent3}
+\setbeamercolor{local structure}{fg=accent2}
+\setbeamercolor{footline}{bg=,fg=black}
+\setbeamercolor{title}{use=structure,fg=structure.fg}
+\setbeamercolor{subtitle}{fg=black}
+\setbeamercolor{occasion}{fg=accent1}
+\setbeamercolor{date}{fg=black}
+\setbeamercolor{author}{fg=accent2}
+\setbeamercolor{institute}{fg=black}
+\setbeamercolor{section in toc}{parent=occasion}
+\setbeamercolor{subsection in toc}{parent=author}
+\setbeamercolor{section in toc shaded}{parent=normal text}
+\setbeamercolor{subsection in toc shaded}{parent=normal text}
+\setbeamercolor{frametitle}{parent=title}
+\setbeamercolor{theoremname}{parent=occasion}
+\setbeamercolor{proofname}{parent=occasion}
+\setbeamercolor{block title}{fg=white,bg=accent1}
+\setbeamercolor{block body}{bg=lightgray}
+\setbeamercolor{block title example}{fg=white,bg=accent2}
+\setbeamercolor{block body example}{bg=lightgray}
+\setbeamercolor{block title alerted}{fg=white,bg=accent3}
+\setbeamercolor{block body alerted}{bg=lightgray}
+
+%% ------------------------ select templates -------------------------
+
+\setbeamertemplate{background canvas}[vector]
+\setbeamertemplate{title page}[split]
+\setbeamertemplate{theorem begin}[simple]
+\setbeamertemplate{theorem end}[simple]
+\setbeamertemplate{proof begin}[simple]
+\setbeamertemplate{proof end}[simple]
+\setbeamertemplate{frametitle}[simple]
+\setbeamertemplate{frame number}[simple]
+\setbeamertemplate{navigation symbols}{}
+\setbeamertemplate{section in toc}[dbend]
+\setbeamertemplate{subsection in toc}[dbend]
+\setbeamertemplate{subsubsection in toc}{}
+\setbeamertemplate{section in toc shaded}[default][100]
+\setbeamertemplate{subsection in toc shaded}[default][100]
+\setbeamertemplate{itemize items}[default]
+\setbeamertemplate{enumerate items}[default]
+
+%% ----------------------- handout mode ------------------------------
+
+\mode<handout>{
+ \colorlet{corner1}{lightgray}
+ \colorlet{corner2}{white}
+ \setbeamercolor{section in toc shaded}{fg=lightgray}
+ \setbeamercolor{subsection in toc shaded}{fg=lightgray}
+}
+
+\mode
+<all>
+
+\makeatother