texlive[71763] Master/texmf-dist: moloch (10jul24)

commits+karl at tug.org commits+karl at tug.org
Wed Jul 10 22:43:24 CEST 2024


Revision: 71763
          https://tug.org/svn/texlive?view=revision&revision=71763
Author:   karl
Date:     2024-07-10 22:43:24 +0200 (Wed, 10 Jul 2024)
Log Message:
-----------
moloch (10jul24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/moloch/README.md
    trunk/Master/texmf-dist/doc/latex/moloch/moloch.pdf
    trunk/Master/texmf-dist/doc/latex/moloch/moloch.tex
    trunk/Master/texmf-dist/source/latex/moloch/beamercolorthememoloch.dtx
    trunk/Master/texmf-dist/source/latex/moloch/beamerfontthememoloch.dtx
    trunk/Master/texmf-dist/source/latex/moloch/beamerinnerthememoloch.dtx
    trunk/Master/texmf-dist/source/latex/moloch/beamerouterthememoloch.dtx
    trunk/Master/texmf-dist/source/latex/moloch/beamerthememoloch.dtx
    trunk/Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty
    trunk/Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty
    trunk/Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty
    trunk/Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty
    trunk/Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty

Modified: trunk/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md	2024-07-10 20:43:24 UTC (rev 71763)
@@ -1,5 +1,20 @@
 # Changelog
 
+## [0.4.0](https://github.com/jolars/moloch/compare/v0.3.0...v0.4.0) (2024-07-09)
+
+
+### Features
+
+* add a small amount of vertical space before subtitle ([b224a9b](https://github.com/jolars/moloch/commit/b224a9b5067187e64a7669b61aee029447535729))
+* support memoize package (closes [#16](https://github.com/jolars/moloch/issues/16)) ([1ca26e8](https://github.com/jolars/moloch/commit/1ca26e857a331fcb29296c4987b69aea0db90fae))
+* support title format modifications ([#18](https://github.com/jolars/moloch/issues/18)) ([46a4f49](https://github.com/jolars/moloch/commit/46a4f49e8bb95798c2d6f3b69a1b96128d95cb8b))
+
+
+### Bug Fixes
+
+* add % at the end of some commands ([33b9833](https://github.com/jolars/moloch/commit/33b9833f21d3e0654fe2452d0b8ac8e8eb3a47bb))
+* convert raw command in manual to text ([ac305e9](https://github.com/jolars/moloch/commit/ac305e9b547ce44e0573f333adc4e6684eb88b68))
+
 ## [0.3.0](https://github.com/jolars/moloch/compare/v0.2.0...v0.3.0) (2024-03-06)
 
 

Modified: trunk/Master/texmf-dist/doc/latex/moloch/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/moloch/README.md	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/doc/latex/moloch/README.md	2024-07-10 20:43:24 UTC (rev 71763)
@@ -12,19 +12,23 @@
 - To remove some of the more opinionated design choices, such as special handling of the Fira family of fonts.
 - To strip away some features that added complexity to the code base without achieving valuable functionality for the majority of users, such as special code block designs and the pgfplots theme.
 
+[Here's a blog post](https://jolars.co/blog/2024-05-30-moloch/) in which I introduce the theme and write in more detail about the changes with respect to Metropolis.
+
 Do not expect this theme to be backwards compatible with the Metropolis theme.
 
+![Screenshot](https://raw.githubusercontent.com/jolars/moloch/main/assets/screenshot.svg)
+
 ## Installation
 
 Moloch is on [CTAN](https://ctan.org/pkg/moloch), so you can install it using your favorite LaTeX package manager. For example, with `tlmgr`:
 
-```sh
+```bash
 tlmgr install moloch
 ```
 
 You can also install the theme from source, in which case you need a working LaTeX installation with `l3build` installed. Then just follow these steps:
 
-```sh
+```bash
 git clone https://github.com/jolars/moloch.git
 cd moloch
 l3build install

Modified: trunk/Master/texmf-dist/doc/latex/moloch/moloch.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/moloch/moloch.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/moloch/moloch.tex	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/doc/latex/moloch/moloch.tex	2024-07-10 20:43:24 UTC (rev 71763)
@@ -58,7 +58,7 @@
   xrightmargin=0em,
   aboveskip=1em,
   belowskip=1em,
-  morekeywords={usetheme,institute,maketitle,%
+  morekeywords={usetheme,institute,maketitle, at moloch@titleformat,%
                 plain,setbeamercolor,molochset,setsansfont,setmonofont},
 }
 \lstMakeShortInline|
@@ -82,7 +82,7 @@
 
 \newcommand{\themename}{\textsf{moloch}\xspace}
 
-\def\molochversion{0.3.0} % x-release-please-version
+\def\molochversion{0.4.0} % x-release-please-version
 
 \usepackage{readprov}
 % \ReadPackageInfos{beamerthememoloch}
@@ -166,10 +166,10 @@
 \begin{lstlisting}
 \documentclass{beamer}
 \usetheme{moloch}
-\title{A minimal example}
+\title{A Minimal Example}
 \date{\today}
 \author{Johan Larsson}
-\institute{Centre for Modern Beamer Themes}
+\institute{Some University}
 \begin{document}
   \maketitle
   \section{First Section}
@@ -187,6 +187,7 @@
   \begin{itemize}
     \item |tikz|
     \item |pgfopts|
+    \item |etoolbox|
     \item |calc|
   \end{itemize}
 \end{multicols}
@@ -224,6 +225,27 @@
   A short description of the option.
 }
 
+
+\subsubsection{Main theme}
+
+\DescribeOption{titleformat}%
+{regular, smallcaps, allsmallcaps, allcaps}
+{regular}{
+  Changes the format of titles, subtitles, section titles, frame titles, and
+  the text on ``standout'' frames. The available options produce
+  Regular, \textsc{SmallCaps}, \textsc{\MakeLowercase{AllSmallCaps}}, or
+  \MakeUppercase{AllCaps} titles. Note that these commands do not
+  affect math and numbers, so may not work as you expect if your titles
+  contain these.
+}
+
+\DescribeOption{titleformat plain}%
+{regular, smallcaps, allsmallcaps, allcaps}%
+{regular}{
+  Changes the format of ``standout'' frames (see |titleformat|, above).
+}
+
+
 \subsubsection{Inner theme}
 
 \DescribeOption{sectionpage}{none, simple, progressbar}{progressbar}{
@@ -270,6 +292,20 @@
   of the reverse.
 }
 
+
+\subsubsection{Font theme}
+
+\DescribeMacro{titleformat title}
+\DescribeMacro{titleformat subtitle}
+\DescribeMacro{titleformat section}
+\DescribeOption{titleformat frame}%
+{regular, smallcaps, allsmallcaps, allcaps}%
+{regular}{
+  Individually controls the format of titles, subtitles, section titles, and
+  frame titles (see |titleformat|, above).
+}
+
+
 \subsection{Color Customization}
 
 The included \themename color theme is used by default, but its colors can be
@@ -321,6 +357,18 @@
 
 \section{Known Issues}
 
+\subsection{Title Formats}
+
+Be aware that not every font supports small caps, so the |smallcaps| or
+|allsmallcaps| options may not work for all fonts.
+In particular, the Computer Modern sans-serif typeface, which is used
+by default when \themename is compiled with pdf\LaTeX, does not have a
+small-caps variant.
+
+Note that title format options |allsmallcaps| and |allcaps| do not 
+affect the sizes of numerals, punctuation, and math symbol, and are 
+probably best avoided if your titles contain these characters.
+
 \subsection{Interactions with other color themes}
 
 \themename can be used along with any other Beamer color theme, such as
@@ -412,7 +460,7 @@
 
 \subsection{Standout frames with Pandoc}
 
-With Pandoc versions prior 1.17.2 it was not possible to create standout frames
+With Pandoc versions prior to 1.17.2 it was not possible to create standout frames
 because Pandoc only supported a specific list of frame attributes thus ignoring
 additional attributes such as  |{.standout}|.
 

Modified: trunk/Master/texmf-dist/source/latex/moloch/beamercolorthememoloch.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/moloch/beamercolorthememoloch.dtx	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/source/latex/moloch/beamercolorthememoloch.dtx	2024-07-10 20:43:24 UTC (rev 71763)
@@ -14,7 +14,7 @@
 % \iffalse
 %<*package>
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthememoloch}[2024-03-06 v0.3.0 Moloch color theme] % x-release-please-version
+\ProvidesPackage{beamercolorthememoloch}[2024-07-09 v0.4.0 Moloch color theme] % x-release-please-version
 %</package>
 % \fi
 % \CheckSum{0}

Modified: trunk/Master/texmf-dist/source/latex/moloch/beamerfontthememoloch.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/moloch/beamerfontthememoloch.dtx	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/source/latex/moloch/beamerfontthememoloch.dtx	2024-07-10 20:43:24 UTC (rev 71763)
@@ -14,7 +14,7 @@
 % \iffalse
 %<*package>
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthememoloch}[2024-03-06 v0.3.0 Moloch font theme] % x-release-please-version
+\ProvidesPackage{beamerfontthememoloch}[2024-07-09 v0.4.0 Moloch font theme] % x-release-please-version
 %</package>
 % \fi
 % \CheckSum{0}
@@ -27,9 +27,12 @@
 %
 % A |beamer| font theme sets the style of the font used in the document.
 %
+%
+%
 % \subsubsection{Package dependencies}
 %
 %    \begin{macrocode}
+\RequirePackage{etoolbox}
 \RequirePackage{pgfopts}
 %    \end{macrocode}
 %
@@ -51,6 +54,188 @@
 \setbeamerfont{standout}{size=\Large, series=\bfseries}
 %    \end{macrocode}
 %
+%
+%
+% \subsubsection{Title format options}
+%
+% \begin{macro}{titleformat title}
+%    Controls the format of the title.
+%    \begin{macrocode}
+\pgfkeys{
+  /moloch/font/titleformat title/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at titleformat\@empty%
+      \setbeamerfont{title}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at titleformat\@empty%
+      \setbeamerfont{title}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at titleformat\lowercase%
+      \setbeamerfont{title}{shape=\scshape}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat title=allsmallcaps can lead to problems%
+      }
+    },
+  allcaps/.code={%
+      \let\moloch at titleformat\uppercase%
+      \setbeamerfont{title}{shape=\normalfont}
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat title=allcaps can lead to problems%
+      }
+    },
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat subtitle}
+%    Control the format of the subtitle.
+%    \begin{macrocode}
+\pgfkeys{
+  /moloch/font/titleformat subtitle/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at subtitleformat\@empty%
+      \setbeamerfont{subtitle}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at subtitleformat\@empty%
+      \setbeamerfont{subtitle}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at subtitleformat\MakeLowercase%
+      \setbeamerfont{subtitle}{shape=\scshape}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat subtitle=allsmallcaps can lead to problems%
+      }
+    },
+  allcaps/.code={%
+      \let\moloch at subtitleformat\MakeUppercase%
+      \setbeamerfont{subtitle}{shape=\normalfont}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat subtitle=allcaps can lead to problems%
+      }
+    },
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat section}
+%    Controls the format of the section title.
+%    \begin{macrocode}
+\pgfkeys{
+  /moloch/font/titleformat section/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at sectiontitleformat\@empty%
+      \setbeamerfont{section title}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at sectiontitleformat\@empty%
+      \setbeamerfont{section title}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at sectiontitleformat\MakeLowercase%
+      \setbeamerfont{section title}{shape=\scshape}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat section=allsmallcaps can lead to problems%
+      }
+    },
+  allcaps/.code={%
+      \let\moloch at sectiontitleformat\MakeUppercase%
+      \setbeamerfont{section title}{shape=\normalfont}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat section=allcaps can lead to problems%
+      }
+    },
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{frametitleformat}
+%    Control the format of the frame title.
+%    \begin{macrocode}
+\pgfkeys{
+  /moloch/font/titleformat frame/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at frametitleformat\@empty%
+      \setbeamerfont{frametitle}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at frametitleformat\@empty%
+      \setbeamerfont{frametitle}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at frametitleformat\MakeLowercase%
+      \setbeamerfont{frametitle}{shape=\scshape}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat frame=allsmallcaps can lead to problems%
+      }
+    },
+  allcaps/.code={%
+      \let\moloch at frametitleformat\MakeUppercase%
+      \setbeamerfont{frametitle}{shape=\normalfont}
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat frame=allcaps can lead to problems%
+      }
+    },
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat aliases}
+%    Allows |titleformat title| et al. to be used in the |\usetheme|
+%    declaration, where \LaTeX{} automatically removes all spaces.
+%    \begin{macrocode}
+\pgfkeys{
+  /moloch/font/.cd,
+  titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
+  titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
+  titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
+  titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\moloch at font@setdefaults}
+%    Sets default values for font theme options.
+%    \begin{macrocode}
+\newcommand{\moloch at font@setdefaults}{
+  \pgfkeys{/moloch/font/.cd,
+    titleformat title=regular,
+    titleformat subtitle=regular,
+    titleformat section=regular,
+    titleformat frame=regular,
+  }
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% We first define hooks to change the case format of the titles.
+%
+%    \begin{macrocode}
+\def\moloch at titleformat#1{#1}
+\def\moloch at subtitleformat#1{#1}
+\def\moloch at sectiontitleformat#1{#1}
+\def\moloch at frametitleformat#1{#1}
+%    \end{macrocode}
+%
+% To make the uppercase and lowercase macros work in the title, subtitle, etc.,
+% we have to patch the appropriate |beamer| commands that set their values.
+% This solution was suggested by Enrico Gregorio in an answer to
+% \href{http://tex.stackexchange.com/questions/112526/}{this StackExchange
+% question}.
+%
+%
+% \subsubsection{Process package options}
+%
+%    \begin{macrocode}
+\moloch at font@setdefaults
+\ProcessPgfPackageOptions{/moloch/font}
+%    \end{macrocode}
 % \iffalse
 %</package>
 % \fi

Modified: trunk/Master/texmf-dist/source/latex/moloch/beamerinnerthememoloch.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/moloch/beamerinnerthememoloch.dtx	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/source/latex/moloch/beamerinnerthememoloch.dtx	2024-07-10 20:43:24 UTC (rev 71763)
@@ -14,7 +14,7 @@
 % \iffalse
 %<*package>
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerinnerthememoloch}[2024-03-06 v0.3.0 Moloch inner theme] % x-release-please-version
+\ProvidesPackage{beamerinnerthememoloch}[2024-07-09 v0.4.0 Moloch inner theme] % x-release-please-version
 %</package>
 % \fi
 % \CheckSum{0}
@@ -173,7 +173,7 @@
 %    \begin{macrocode}
 \setbeamertemplate{title}{
   \raggedright%
-  \inserttitle%
+  \moloch at titleformat{\inserttitle}%
   \par%
   \vspace*{0.2em}
 }
@@ -184,8 +184,9 @@
 %   Set the subtitle on the title page.
 %    \begin{macrocode}
 \setbeamertemplate{subtitle}{
+  \vspace*{0.1em}
   \raggedright%
-  \insertsubtitle%
+  \moloch at subtitleformat{\insertsubtitle}%
   \par%
   \vspace*{0.2em}
 }
@@ -201,6 +202,7 @@
 \setbeamertemplate{title separator}{
   \tikzexternaldisable%
   \begin{tikzpicture}
+    \mmzUnmemoizable%
     \fill[fg] (0,0) rectangle (\textwidth, \moloch at titleseparator@linewidth);
   \end{tikzpicture}%
   \tikzexternalenable%
@@ -256,7 +258,7 @@
   \begin{center}
     \usebeamercolor[fg]{section title}
     \usebeamerfont{section title}
-    \insertsectionhead\par
+    \moloch at sectiontitleformat{\insertsectionhead}\par
     \ifx\insertsubsectionhead\@empty\else
       \usebeamercolor[fg]{subsection title}
       \usebeamerfont{subsection title}
@@ -270,7 +272,7 @@
     \raggedright
     \usebeamercolor[fg]{section title}
     \usebeamerfont{section title}
-    \insertsectionhead\\[-1ex]
+    \moloch at sectiontitleformat{\insertsectionhead}\\[-1ex]
     \usebeamertemplate*{progress bar in section page}
     \par
     \ifx\insertsubsectionhead\@empty\else%
@@ -338,9 +340,10 @@
 \setbeamertemplate{progress bar in section page}{
   \pgfmathsetlength{\moloch at progressonsectionpage}{
     \textwidth * min(1,\insertframenumber/\inserttotalframenumber)
-  }
-  \tikzexternaldisable
+  }%
+  \tikzexternaldisable%
   \begin{tikzpicture}
+    \mmzUnmemoizable%
     \fill[bg]
     (0,0)
     rectangle
@@ -350,7 +353,7 @@
     rectangle
     (\moloch at progressonsectionpage, \moloch at progressonsectionpage@linewidth);
   \end{tikzpicture}
-  \tikzexternalenable
+  \tikzexternalenable%
 }
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/moloch/beamerouterthememoloch.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/moloch/beamerouterthememoloch.dtx	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/source/latex/moloch/beamerouterthememoloch.dtx	2024-07-10 20:43:24 UTC (rev 71763)
@@ -14,7 +14,7 @@
 % \iffalse
 %<*package>
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerouterthememoloch}[2024-03-06 v0.3.0 Moloch outer theme] % x-release-please-version
+\ProvidesPackage{beamerouterthememoloch}[2024-07-09 v0.4.0 Moloch outer theme] % x-release-please-version
 %</package>
 % \fi
 % \CheckSum{0}
@@ -160,23 +160,42 @@
 %    Templates for the frame title, which is optionally underlined with a
 %    progress bar.
 %    \begin{macrocode}
+\newlength{\moloch at frametitle@padding}
+\setlength{\moloch at frametitle@padding}{2.2ex}
+\newcommand{\moloch at frametitlestrut@start}{%
+  \rule{0pt}{\moloch at frametitle@padding +%
+    \totalheightof{%
+      \ifcsdef{moloch at frametitleformat}{\moloch at frametitleformat X}{X}%
+    }%
+}%
+}
+
+\newcommand{\moloch at frametitlestrut@end}{%
+  \vphantom{\rule[-\moloch at frametitle@padding]{0pt}{\moloch at frametitle@padding}}
+}
 \defbeamertemplate{frametitle}{plain}{%
   \nointerlineskip%
   \begin{beamercolorbox}[%
       wd=\paperwidth,%
-      sep=1.1ex,%
-      leftskip=0.5ex,%
-      rightskip=\the\glueexpr 0.5ex plus 1fill\relax,%
+      leftskip=1.6ex,%
+      rightskip=\the\glueexpr 1.6ex plus 1fill\relax,%
     ]{frametitle}%
     \usebeamerfont{frametitle}%
-    \vbox{}\vskip-0.4ex%
-    \strut\insertframetitle\nolinebreak\strut\par%
+    \moloch at frametitlestrut@start%
+    \moloch at frametitleformat{\insertframetitle}%
     {%
       \ifx\insertframesubtitle\@empty%
         \else%
-        {\usebeamerfont{framesubtitle}\vspace{-0.8ex}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\strut\par}%
+        {%
+          \par%
+          \usebeamerfont{framesubtitle}%
+          \vspace{-0.8ex}%
+          \usebeamercolor[fg]{framesubtitle}%
+          \insertframesubtitle%
+        }%
       \fi
     }%
+    \moloch at frametitlestrut@end%
   \end{beamercolorbox}%
 }
 \setbeamertemplate{frametitle continuation}{\romannumeral\insertcontinuationcount}
@@ -192,13 +211,14 @@
 \newlength{\moloch at progressinheadfoot@linewidth}
 \setlength{\moloch at progressinheadfoot@linewidth}{0.4pt}
 \setbeamertemplate{progress bar in head/foot}{
-  \nointerlineskip
+  \nointerlineskip%
   \pgfmathsetlength{\moloch at progressinheadfoot}{%
     \paperwidth * min(1,\insertframenumber/\inserttotalframenumber)%
-  }
+  }%
   \begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
-    \tikzexternaldisable
+    \tikzexternaldisable%
     \begin{tikzpicture}
+      \mmzUnmemoizable%
       \fill[bg]
       (0,0)
       rectangle
@@ -208,7 +228,7 @@
       rectangle
       (\moloch at progressinheadfoot, \moloch at progressinheadfoot@linewidth);
     \end{tikzpicture}
-    \tikzexternalenable
+    \tikzexternalenable%
   \end{beamercolorbox}
 }
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/moloch/beamerthememoloch.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/moloch/beamerthememoloch.dtx	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/source/latex/moloch/beamerthememoloch.dtx	2024-07-10 20:43:24 UTC (rev 71763)
@@ -12,7 +12,7 @@
 % \iffalse
 %<*package>
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthememoloch}[2024-03-06 v0.3.0 Moloch Beamer theme] % x-release-please-version
+\ProvidesPackage{beamerthememoloch}[2024-07-09 v0.4.0 Moloch Beamer theme] % x-release-please-version
 %</package>
 % \fi
 % \CheckSum{0}
@@ -52,14 +52,69 @@
 }
 %    \end{macrocode}
 %
+% \begin{macro}{titleformat plain}
+%    Controls the formatting of the text on standout ``plain'' frames.
+%    \begin{macrocode}
+\pgfkeys{
+  /moloch/titleformat plain/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at plaintitleformat\@empty%
+      \setbeamerfont{standout}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at plaintitleformat\@empty%
+      \setbeamerfont{standout}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at plaintitleformat\MakeLowercase%
+      \setbeamerfont{standout}{shape=\scshape}%
+    },
+  allcaps/.code={%
+      \let\moloch at plaintitleformat\MakeUppercase%
+      \setbeamerfont{standout}{shape=\normalfont}%
+    },
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat}
+%    Sets a standard format for titles, subtitles, section titles, frame
+%    titles, and the text on standout ``plain'' frames.
+%    \begin{macrocode}
+\pgfkeys{
+  /moloch/titleformat/.code=\pgfkeysalso{
+    font/titleformat title=#1,
+    font/titleformat subtitle=#1,
+    font/titleformat section=#1,
+    font/titleformat frame=#1,
+    titleformat plain=#1,
+  }
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% Set default values for options.
+%
+%    \begin{macrocode}
+\newcommand{\moloch at setdefaults}{
+  \pgfkeys{/moloch/.cd,
+    titleformat plain=regular,
+  }
+}
+%    \end{macrocode}
+%
 % To avoid generating externalized figures of the progressbar we have to disable
 % them with ``tikzexternalenable'' and ``tikzexternaldisable''. However, if the
 % ``external'' libray is not loaded we would get undefined control sequence
 % problems, hence we define them as no-ops if they are not defined yet.
+% We do the same for the ``mmzUnmemoizable'' command from the memoize package, in
+% order to avoid memoization of the progress bars.
 %
 %    \begin{macrocode}
 \providecommand{\tikzexternalenable}{}
 \providecommand{\tikzexternaldisable}{}
+\providecommand{\mmzUnmemoizable}{}
 %    \end{macrocode}
 %
 % \subsubsection{Component sub-packages}
@@ -98,6 +153,7 @@
 % \subsubsection{Process package options}
 %
 %    \begin{macrocode}
+\moloch at setdefaults
 \ProcessPgfOptions{/moloch}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/tex/latex/moloch/beamercolorthememoloch.sty	2024-07-10 20:43:24 UTC (rev 71763)
@@ -23,7 +23,7 @@
 %% ---------------------------------------------------------------------------
 %% Copyright 2024 Johan Larsson and contributors
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthememoloch}[2024-03-06 v0.3.0 Moloch color theme] % x-release-please-version
+\ProvidesPackage{beamercolorthememoloch}[2024-07-09 v0.4.0 Moloch color theme] % x-release-please-version
 \RequirePackage{pgfopts}
 \pgfkeys{
   /moloch/color/block/.cd,

Modified: trunk/Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/tex/latex/moloch/beamerfontthememoloch.sty	2024-07-10 20:43:24 UTC (rev 71763)
@@ -23,7 +23,8 @@
 %% ---------------------------------------------------------------------------
 %% Copyright 2024 Johan Larsson and contributors
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthememoloch}[2024-03-06 v0.3.0 Moloch font theme] % x-release-please-version
+\ProvidesPackage{beamerfontthememoloch}[2024-07-09 v0.4.0 Moloch font theme] % x-release-please-version
+\RequirePackage{etoolbox}
 \RequirePackage{pgfopts}
 \setbeamerfont{title}{size=\Large, series=\bfseries}
 \setbeamerfont{author}{size=\small}
@@ -38,6 +39,131 @@
 \setbeamerfont{caption name}{series=\bfseries}
 \setbeamerfont{description item}{series=\bfseries}
 \setbeamerfont{standout}{size=\Large, series=\bfseries}
+\pgfkeys{
+  /moloch/font/titleformat title/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at titleformat\@empty%
+      \setbeamerfont{title}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at titleformat\@empty%
+      \setbeamerfont{title}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at titleformat\lowercase%
+      \setbeamerfont{title}{shape=\scshape}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat title=allsmallcaps can lead to problems%
+      }
+    },
+  allcaps/.code={%
+      \let\moloch at titleformat\uppercase%
+      \setbeamerfont{title}{shape=\normalfont}
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat title=allcaps can lead to problems%
+      }
+    },
+}
+\pgfkeys{
+  /moloch/font/titleformat subtitle/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at subtitleformat\@empty%
+      \setbeamerfont{subtitle}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at subtitleformat\@empty%
+      \setbeamerfont{subtitle}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at subtitleformat\MakeLowercase%
+      \setbeamerfont{subtitle}{shape=\scshape}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat subtitle=allsmallcaps can lead to problems%
+      }
+    },
+  allcaps/.code={%
+      \let\moloch at subtitleformat\MakeUppercase%
+      \setbeamerfont{subtitle}{shape=\normalfont}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat subtitle=allcaps can lead to problems%
+      }
+    },
+}
+\pgfkeys{
+  /moloch/font/titleformat section/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at sectiontitleformat\@empty%
+      \setbeamerfont{section title}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at sectiontitleformat\@empty%
+      \setbeamerfont{section title}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at sectiontitleformat\MakeLowercase%
+      \setbeamerfont{section title}{shape=\scshape}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat section=allsmallcaps can lead to problems%
+      }
+    },
+  allcaps/.code={%
+      \let\moloch at sectiontitleformat\MakeUppercase%
+      \setbeamerfont{section title}{shape=\normalfont}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat section=allcaps can lead to problems%
+      }
+    },
+}
+\pgfkeys{
+  /moloch/font/titleformat frame/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at frametitleformat\@empty%
+      \setbeamerfont{frametitle}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at frametitleformat\@empty%
+      \setbeamerfont{frametitle}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at frametitleformat\MakeLowercase%
+      \setbeamerfont{frametitle}{shape=\scshape}%
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat frame=allsmallcaps can lead to problems%
+      }
+    },
+  allcaps/.code={%
+      \let\moloch at frametitleformat\MakeUppercase%
+      \setbeamerfont{frametitle}{shape=\normalfont}
+      \PackageNote{beamerthememoloch}{%
+        Be aware that titleformat frame=allcaps can lead to problems%
+      }
+    },
+}
+\pgfkeys{
+  /moloch/font/.cd,
+  titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
+  titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
+  titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
+  titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
+}
+\newcommand{\moloch at font@setdefaults}{
+  \pgfkeys{/moloch/font/.cd,
+    titleformat title=regular,
+    titleformat subtitle=regular,
+    titleformat section=regular,
+    titleformat frame=regular,
+  }
+}
+\def\moloch at titleformat#1{#1}
+\def\moloch at subtitleformat#1{#1}
+\def\moloch at sectiontitleformat#1{#1}
+\def\moloch at frametitleformat#1{#1}
+\moloch at font@setdefaults
+\ProcessPgfPackageOptions{/moloch/font}
 \endinput
 %%
 %% End of file `beamerfontthememoloch.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/tex/latex/moloch/beamerinnerthememoloch.sty	2024-07-10 20:43:24 UTC (rev 71763)
@@ -23,7 +23,7 @@
 %% ---------------------------------------------------------------------------
 %% Copyright 2024 Johan Larsson and contributors
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerinnerthememoloch}[2024-03-06 v0.3.0 Moloch inner theme] % x-release-please-version
+\ProvidesPackage{beamerinnerthememoloch}[2024-07-09 v0.4.0 Moloch inner theme] % x-release-please-version
 \RequirePackage{keyval}
 \RequirePackage{calc}
 \RequirePackage{pgfopts}
@@ -94,13 +94,14 @@
 }
 \setbeamertemplate{title}{
   \raggedright%
-  \inserttitle%
+  \moloch at titleformat{\inserttitle}%
   \par%
   \vspace*{0.2em}
 }
 \setbeamertemplate{subtitle}{
+  \vspace*{0.1em}
   \raggedright%
-  \insertsubtitle%
+  \moloch at subtitleformat{\insertsubtitle}%
   \par%
   \vspace*{0.2em}
 }
@@ -109,6 +110,7 @@
 \setbeamertemplate{title separator}{
   \tikzexternaldisable%
   \begin{tikzpicture}
+    \mmzUnmemoizable%
     \fill[fg] (0,0) rectangle (\textwidth, \moloch at titleseparator@linewidth);
   \end{tikzpicture}%
   \tikzexternalenable%
@@ -134,7 +136,7 @@
   \begin{center}
     \usebeamercolor[fg]{section title}
     \usebeamerfont{section title}
-    \insertsectionhead\par
+    \moloch at sectiontitleformat{\insertsectionhead}\par
     \ifx\insertsubsectionhead\@empty\else
       \usebeamercolor[fg]{subsection title}
       \usebeamerfont{subsection title}
@@ -148,7 +150,7 @@
     \raggedright
     \usebeamercolor[fg]{section title}
     \usebeamerfont{section title}
-    \insertsectionhead\\[-1ex]
+    \moloch at sectiontitleformat{\insertsectionhead}\\[-1ex]
     \usebeamertemplate*{progress bar in section page}
     \par
     \ifx\insertsubsectionhead\@empty\else%
@@ -197,9 +199,10 @@
 \setbeamertemplate{progress bar in section page}{
   \pgfmathsetlength{\moloch at progressonsectionpage}{
     \textwidth * min(1,\insertframenumber/\inserttotalframenumber)
-  }
-  \tikzexternaldisable
+  }%
+  \tikzexternaldisable%
   \begin{tikzpicture}
+    \mmzUnmemoizable%
     \fill[bg]
     (0,0)
     rectangle
@@ -209,7 +212,7 @@
     rectangle
     (\moloch at progressonsectionpage, \moloch at progressonsectionpage@linewidth);
   \end{tikzpicture}
-  \tikzexternalenable
+  \tikzexternalenable%
 }
 \def\inserttotalframenumber{100}
 \setbeamertemplate{itemize item}{\(\bullet\)}

Modified: trunk/Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/tex/latex/moloch/beamerouterthememoloch.sty	2024-07-10 20:43:24 UTC (rev 71763)
@@ -23,7 +23,7 @@
 %% ---------------------------------------------------------------------------
 %% Copyright 2024 Johan Larsson and contributors
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerouterthememoloch}[2024-03-06 v0.3.0 Moloch outer theme] % x-release-please-version
+\ProvidesPackage{beamerouterthememoloch}[2024-07-09 v0.4.0 Moloch outer theme] % x-release-please-version
 \RequirePackage{calc}
 \RequirePackage{pgfopts}
 \pgfkeys{
@@ -90,23 +90,42 @@
     \usebeamertemplate*{page number in head/foot}\vskip4pt%
   \end{beamercolorbox}%
 }
+\newlength{\moloch at frametitle@padding}
+\setlength{\moloch at frametitle@padding}{2.2ex}
+\newcommand{\moloch at frametitlestrut@start}{%
+  \rule{0pt}{\moloch at frametitle@padding +%
+    \totalheightof{%
+      \ifcsdef{moloch at frametitleformat}{\moloch at frametitleformat X}{X}%
+    }%
+}%
+}
+
+\newcommand{\moloch at frametitlestrut@end}{%
+  \vphantom{\rule[-\moloch at frametitle@padding]{0pt}{\moloch at frametitle@padding}}
+}
 \defbeamertemplate{frametitle}{plain}{%
   \nointerlineskip%
   \begin{beamercolorbox}[%
       wd=\paperwidth,%
-      sep=1.1ex,%
-      leftskip=0.5ex,%
-      rightskip=\the\glueexpr 0.5ex plus 1fill\relax,%
+      leftskip=1.6ex,%
+      rightskip=\the\glueexpr 1.6ex plus 1fill\relax,%
     ]{frametitle}%
     \usebeamerfont{frametitle}%
-    \vbox{}\vskip-0.4ex%
-    \strut\insertframetitle\nolinebreak\strut\par%
+    \moloch at frametitlestrut@start%
+    \moloch at frametitleformat{\insertframetitle}%
     {%
       \ifx\insertframesubtitle\@empty%
         \else%
-        {\usebeamerfont{framesubtitle}\vspace{-0.8ex}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\strut\par}%
+        {%
+          \par%
+          \usebeamerfont{framesubtitle}%
+          \vspace{-0.8ex}%
+          \usebeamercolor[fg]{framesubtitle}%
+          \insertframesubtitle%
+        }%
       \fi
     }%
+    \moloch at frametitlestrut@end%
   \end{beamercolorbox}%
 }
 \setbeamertemplate{frametitle continuation}{\romannumeral\insertcontinuationcount}
@@ -114,13 +133,14 @@
 \newlength{\moloch at progressinheadfoot@linewidth}
 \setlength{\moloch at progressinheadfoot@linewidth}{0.4pt}
 \setbeamertemplate{progress bar in head/foot}{
-  \nointerlineskip
+  \nointerlineskip%
   \pgfmathsetlength{\moloch at progressinheadfoot}{%
     \paperwidth * min(1,\insertframenumber/\inserttotalframenumber)%
-  }
+  }%
   \begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
-    \tikzexternaldisable
+    \tikzexternaldisable%
     \begin{tikzpicture}
+      \mmzUnmemoizable%
       \fill[bg]
       (0,0)
       rectangle
@@ -130,7 +150,7 @@
       rectangle
       (\moloch at progressinheadfoot, \moloch at progressinheadfoot@linewidth);
     \end{tikzpicture}
-    \tikzexternalenable
+    \tikzexternalenable%
   \end{beamercolorbox}
 }
 \moloch at outer@setdefaults

Modified: trunk/Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty	2024-07-10 20:43:13 UTC (rev 71762)
+++ trunk/Master/texmf-dist/tex/latex/moloch/beamerthememoloch.sty	2024-07-10 20:43:24 UTC (rev 71763)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthememoloch}[2024-03-06 v0.3.0 Moloch Beamer theme] % x-release-please-version
+\ProvidesPackage{beamerthememoloch}[2024-07-09 v0.4.0 Moloch Beamer theme] % x-release-please-version
 \RequirePackage{pgfopts}
 \pgfkeys{/moloch/.cd,
   .search also={
@@ -31,8 +31,43 @@
       /moloch/font,
     }
 }
+\pgfkeys{
+  /moloch/titleformat plain/.cd,
+  .is choice,
+  regular/.code={%
+      \let\moloch at plaintitleformat\@empty%
+      \setbeamerfont{standout}{shape=\normalfont}%
+    },
+  smallcaps/.code={%
+      \let\moloch at plaintitleformat\@empty%
+      \setbeamerfont{standout}{shape=\scshape}%
+    },
+  allsmallcaps/.code={%
+      \let\moloch at plaintitleformat\MakeLowercase%
+      \setbeamerfont{standout}{shape=\scshape}%
+    },
+  allcaps/.code={%
+      \let\moloch at plaintitleformat\MakeUppercase%
+      \setbeamerfont{standout}{shape=\normalfont}%
+    },
+}
+\pgfkeys{
+  /moloch/titleformat/.code=\pgfkeysalso{
+    font/titleformat title=#1,
+    font/titleformat subtitle=#1,
+    font/titleformat section=#1,
+    font/titleformat frame=#1,
+    titleformat plain=#1,
+  }
+}
+\newcommand{\moloch at setdefaults}{
+  \pgfkeys{/moloch/.cd,
+    titleformat plain=regular,
+  }
+}
 \providecommand{\tikzexternalenable}{}
 \providecommand{\tikzexternaldisable}{}
+\providecommand{\mmzUnmemoizable}{}
 \useinnertheme{moloch}
 \useoutertheme{moloch}
 \usecolortheme{moloch}
@@ -39,6 +74,7 @@
 \usefonttheme{moloch}
 \newcommand{\molochset}[1]{\pgfkeys{/moloch/.cd,#1}}
 \newcommand{\mreducelistspacing}{\vspace{-\topsep}}
+\moloch at setdefaults
 \ProcessPgfOptions{/moloch}
 \endinput
 %%



More information about the tex-live-commits mailing list.