%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Personal helper theme for package documentations % Copyright samcarter % % This file may be distributed and/or modified % under the LaTeX Project Public License 1.3c or later % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Usage: % ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty % \usepackage[ % themecolor=samdblue % ]{\jobname-settings} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Colours % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{xcolor} \definecolor{samyellow}{RGB}{246,193,65} \definecolor{samorange}{RGB}{241,147,45} \definecolor{samred}{RGB}{191,26,46}% TikZbricks \definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots \definecolor{samviolet}{RGB}{136,46,114}% TikZlings \definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme \definecolor{samdblue}{RGB}{0,51,134}% beamer theme \definecolor{samlblue}{RGB}{22,89,155}% TikZducks \definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme \definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw \definecolor{samdgreen}{RGB}{78,178,125} \definecolor{samlgray}{RGB}{160,160,185} \definecolor{samdgray}{RGB}{60,60,85} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Package options % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{xkeyval} \DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}} \DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}} \ExecuteOptionsX{themecolor,listingcolor} \ProcessOptionsX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Packages % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \@ifclassloaded{beamer}{}{% \RequirePackage[english]{babel} \RequirePackage[paper=a4paper,margin=2.9cm]{geometry} \RequirePackage{scrlayer-scrpage} \let\hrulefillx\hrulefill \RequirePackage[bitstream-charter]{mathdesign} \let\hrulefill\hrulefillx \RequirePackage[hang,flushmargin,bottom]{footmisc} \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor]{hyperref} \RequirePackage[all]{nowidow} } \RequirePackage[T1]{fontenc} \RequirePackage{xspace} \RequirePackage{inconsolata}% mono font with bold, but italic is missing % \RequirePackage[scale=0.85]{cascadia-code} % \AddToHook{cmd/ttfamily/before}{\fontseries{sl}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Listings % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage[ cachedir=./build/ ]{minted} % smuggling custom pygmentize style in cache folder % (a real pygmentise style would need installtion in some python folder) \begin{filecontents*}[noheader]{./build/sam.pygstyle} \makeatletter \def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax% \let\PYG@ul=\relax \let\PYG@tc=\relax% \let\PYG@bc=\relax \let\PYG@ff=\relax} \def\PYG@tok#1{\csname PYG@tok@#1\endcsname} \def\PYG@toks#1+{\ifx\relax#1\empty\else% \PYG@tok{#1}\expandafter\PYG@toks\fi} \def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{% \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}} \def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}} % optional arguments \expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}} % macros \expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} % curly brakets \expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} % comments (italics won't work with the inconsolata font) \expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}} \def\PYGZbs{\char`\\} \def\PYGZus{\char`\_} \def\PYGZob{\char`\{} \def\PYGZcb{\char`\}} \def\PYGZca{\char`\^} \def\PYGZam{\char`\&} \def\PYGZlt{\char`\<} \def\PYGZgt{\char`\>} \def\PYGZsh{\char`\#} \def\PYGZpc{\char`\%} \def\PYGZdl{\char`\$} \def\PYGZhy{\char`\-} \def\PYGZsq{\char`\'} \def\PYGZdq{\char`\"} \def\PYGZti{\char`\~} % for compatibility with earlier versions \def\PYGZat{@} \def\PYGZlb{[} \def\PYGZrb{]} \makeatother \end{filecontents*} \usemintedstyle{sam} \setminted{ breaksymbolleft={}, tabsize=2, breaklines=true, } \newminted[samcode]{latex}{} \newmintinline[saminline]{latex}{} % use non-bold and all coloured for inline code in articles \ifdefined\insertaspectratio\else \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{} \fi \RequirePackage[most]{tcolorbox} \tcbuselibrary{minted} \tcbset{% colframe=themecolor, fonttitle=\bfseries, sidebyside, center lower, righthand width=5.7cm, bottom=2pt, top=2pt, left=3pt, right=3pt, sidebyside gap=10pt, lower separated=false, listing engine=minted, minted language=latex, colback=themecolor!10, sharp corners, boxrule=0pt, before title={\strut} } % avoid page breaks right in front of the tcolorbox \@ifclassloaded{beamer}{}{ \tcbuselibrary{hooks} \tcbset{before pre={\nopagebreak[4]}} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % document settings % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \@ifclassloaded{scrartcl}{% \KOMAoptions{parskip=half} \addtokomafont{sectioning}{\color{themecolor}} \addtokomafont{date}{\normalsize} \addtokomafont{author}{\normalsize} \setlength{\footnotemargin}{0.7em} }{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Custom macros % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \providecommand*{\CTAN}{\textsc{CTAN}\xspace} \providecommand*{\TikZ}{Ti\emph{k}Z\xspace} \providecommand*{\miktex}{MiK\TeX\xspace} \providecommand*{\texlive}{\TeX{}Live\xspace} \providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace} \providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace} \providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace} \providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace} \providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}