Compare commits

...

27 Commits
v0.6.0 ... main

Author SHA1 Message Date
xenia b39c368b52 wip: add package.nix for build packaging 2025-06-11 00:51:03 -04:00
xenia d23403af80 fix: improve page numbering styles and calculation
- For improved compatibility with
  [Pympress](https://github.com/Cimbali/pympress), use the recommended
  format for PDF page numbers on notes pages. This allows presentations
  built with `show notes` on (i.e., notes on every other page) to work
  out of the box. Other notes page formats and other PDF viewers are not
  impacted.
- Change page numbering defaults to `appendixpagenumber` so that
  appendix pages are restarted from the beginning. Additionally,
  progressbar calculation will only take into account the
  `mainframenumber`, which doesn't include appendix pages.
- Remove deprecated options relating to frame numbering, as I'm not sure
  whether it impacts the change in defaults above.
2025-06-09 23:23:12 -04:00
Johan Larsson 8594369316
feat: redesign itemize environment (#50) 2025-05-21 15:24:16 +02:00
Johan Larsson 70e573e9fe
test: update separation test example 2025-05-13 09:36:43 +02:00
Johan Larsson 88b24e1f50
test: use larger portion of test 2025-05-13 09:33:37 +02:00
Johan Larsson 888e1201b4
test: update test file with nested itemize environment 2025-05-13 09:33:19 +02:00
Johan Larsson 81037c66e1
feat: use beamer-like itemize item and subitem templates
This brings the itemize templates more in line with beamer. The changes
are mostly that the symbols are slightly raised. Alignment with te
subsubitem symbol is not great, but I will defer it to another update.
This also closes #49, since we now rely on `$...$` instead of `\(...\)`.

fix: avoid coloring bullets based on math colors
2025-05-13 09:28:44 +02:00
Johan Larsson fd86a305e9
fix: move command substitutions into inner and outer themes
Closes #47.
2025-04-13 14:24:43 +02:00
Johan Larsson 75c3f569f2
docs: fix typo 2025-04-13 14:12:27 +02:00
Johan Larsson a549f1f97e
chore: update ctan announcement 2025-04-01 21:52:41 +02:00
Johan Larsson 9e73b441ee
chore(main): release 1.0.1 (#46) 2025-04-01 20:51:12 +02:00
Johan Larsson 0c4d38e3c2
fix: use proper package names 2025-04-01 16:51:13 +02:00
Johan Larsson de71f21673
chore: autotag 2025-04-01 16:45:41 +02:00
Johan Larsson ba01d33b19
fix: add missing files for updating version tags 2025-04-01 16:45:17 +02:00
Johan Larsson c4984dc7fa
chore: remove release-as specifier 2025-04-01 16:44:20 +02:00
Johan Larsson 96ea09b909
chore(main): release 1.0.0 (#43) 2025-04-01 16:42:10 +02:00
Johan Larsson 396b0a8374
chore: drop out of development mode 2025-04-01 16:39:26 +02:00
Johan Larsson b65079d9d1
chore: remove commented parts from nix flake 2025-04-01 16:33:49 +02:00
Johan Larsson a6abea0b02
chore: autoformat demo.tex 2025-04-01 16:33:49 +02:00
Johan Larsson de3db5e517
feat: support `\thanks` in title page (#45) 2025-04-01 16:33:37 +02:00
Johan Larsson be0d8f23c7
feat: add customization of bar line width (#42)
Adds the ability to set the line width of the progress bars and title
separator (on the title page) through `progressbar linewidth` and
`titleseparator linewidth`. Closes #41.
2025-03-12 15:04:16 +01:00
urbadav 795d202d6d
docs: fix demo link in README.md (#40) 2025-03-03 21:04:35 +01:00
Johan Larsson b3385876f7
docs: add a link to the demo example in the README
See #38 for context.
2025-02-25 10:05:40 +01:00
Johan Larsson 44967ba549
docs: add rendered demo to repository
See #38 for context.
2025-02-25 10:04:14 +01:00
samcarter c16698d1b7
chore: remove hyperref and use \frametitle in tomorrow theme example 2025-02-10 14:16:56 +01:00
samcarter 579e785b20
replacing `\begin{frame}{...}` with the more robust and flexible syntax `\begin{frame}\frametitle{...}` (#36) 2025-02-10 14:10:17 +01:00
Johan Larsson 055ca31098 chore: update ctan announcement 2025-01-17 17:15:42 +01:00
26 changed files with 6115 additions and 189 deletions

1
.gitignore vendored
View File

@ -303,7 +303,6 @@ TSWLatexianTemp*
# Ignore sty files generated from dtx # Ignore sty files generated from dtx
*.sty *.sty
doc/moloch.pdf doc/moloch.pdf
examples/demo/demo.pdf
build/ build/
.latex-cache .latex-cache
*-ctan.zip *-ctan.zip

View File

@ -1,3 +1,3 @@
{ {
".": "0.6.0" ".": "1.0.1"
} }

View File

@ -1,5 +1,21 @@
# Changelog # Changelog
## [1.0.1](https://github.com/jolars/moloch/compare/v1.0.0...v1.0.1) (2025-04-01)
### Bug Fixes
* add missing files for updating version tags ([ba01d33](https://github.com/jolars/moloch/commit/ba01d33b1993d4992372420f25f6390c5e4baa91))
* use proper package names ([0c4d38e](https://github.com/jolars/moloch/commit/0c4d38e3c2e2b0b93bfc1b6c1abe6bf0a3a01311))
## [1.0.0](https://github.com/jolars/moloch/compare/v0.6.0...v1.0.0) (2025-04-01)
### Features
* add customization of bar line width ([#42](https://github.com/jolars/moloch/issues/42)) ([be0d8f2](https://github.com/jolars/moloch/commit/be0d8f23c72b9760baeb31a58d2e9988cba5d19a))
* support `\thanks` in title page ([#45](https://github.com/jolars/moloch/issues/45)) ([de3db5e](https://github.com/jolars/moloch/commit/de3db5e517c06d1b8793b3a1c134b9bf4ad8b189))
## [0.6.0](https://github.com/jolars/moloch/compare/v0.5.0...v0.6.0) (2025-01-17) ## [0.6.0](https://github.com/jolars/moloch/compare/v0.5.0...v0.6.0) (2025-01-17)

View File

@ -13,6 +13,7 @@ The fork was created for the following reasons:
- 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. - 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. [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.
Also see the [demo](examples/demo/demo.pdf) for a quick introduction to the theme.
Do not expect this theme to be backwards compatible with the Metropolis theme. Do not expect this theme to be backwards compatible with the Metropolis theme.

View File

@ -15,7 +15,7 @@ maxprintline = 9999
uploadconfig = { uploadconfig = {
pkg = "moloch", pkg = "moloch",
version = "0.6.0", -- x-release-please-version version = "1.0.1", -- x-release-please-version
author = "Johan Larsson", author = "Johan Larsson",
uploader = "Johan Larsson", uploader = "Johan Larsson",
license = "cc-by-sa-4", license = "cc-by-sa-4",

View File

@ -1,13 +1,19 @@
## [0.5.0](https://github.com/jolars/moloch/compare/v0.4.0...v0.5.0) (2024-10-30) This release of Moloch adds support for `\thanks` in the title page and allows
customization of the bar line width. The 1.0.0 version was not released
on CTAN due to a couple of small issues, which were then fixed in 1.0.1.
### Features See below fro detailed changes.
* replace `\vfill` with `\vfil` in title frame ([8f2a59e](https://github.com/jolars/moloch/commit/8f2a59e239cf0ae32f1a5c8fbf6ad739fa1cd328)) ## [1.0.1](https://github.com/jolars/moloch/compare/v1.0.0...v1.0.1) (2025-04-01)
* switch from fill to fil ([#21](https://github.com/jolars/moloch/issues/21)) ([873ae15](https://github.com/jolars/moloch/commit/873ae154824ed10d45f05c6efe4c4cc73eca1a22))
### Bug Fixes ### Bug Fixes
* remove duplicated footnote color specifications ([#26](https://github.com/jolars/moloch/issues/26)) ([1306af5](https://github.com/jolars/moloch/commit/1306af5a73e0a030ece2ad9825496cc28507ad54)) * add missing files for updating version tags ([ba01d33](https://github.com/jolars/moloch/commit/ba01d33b1993d4992372420f25f6390c5e4baa91))
* remove extra space below progressbar section pages ([#27](https://github.com/jolars/moloch/issues/27)) ([e5be480](https://github.com/jolars/moloch/commit/e5be4806ab9b975be8e8f67434c80fd2155e30b2)) * use proper package names ([0c4d38e](https://github.com/jolars/moloch/commit/0c4d38e3c2e2b0b93bfc1b6c1abe6bf0a3a01311))
* set use=block title in block body for fill ([e8921a6](https://github.com/jolars/moloch/commit/e8921a69642166ef22b9b27cd3633a735c22f153)), closes [#28](https://github.com/jolars/moloch/issues/28)
* tag files with date ([28003e7](https://github.com/jolars/moloch/commit/28003e7502ce420a0e24b96e27ba3d30b9b0ecbc)) ## [1.0.0](https://github.com/jolars/moloch/compare/v0.6.0...v1.0.0) (2025-04-01)
### Features
* add customization of bar line width ([#42](https://github.com/jolars/moloch/issues/42)) ([be0d8f2](https://github.com/jolars/moloch/commit/be0d8f23c72b9760baeb31a58d2e9988cba5d19a))
* support `\thanks` in title page ([#45](https://github.com/jolars/moloch/issues/45)) ([de3db5e](https://github.com/jolars/moloch/commit/de3db5e517c06d1b8793b3a1c134b9bf4ad8b189))

View File

@ -93,7 +93,7 @@
\newcommand{\themename}{\textsf{moloch}\xspace} \newcommand{\themename}{\textsf{moloch}\xspace}
\def\molochversion{0.6.0} % x-release-please-version \def\molochversion{1.0.1} % x-release-please-version
\usepackage{readprov} \usepackage{readprov}

View File

@ -4,7 +4,6 @@
\usetheme{moloch} \usetheme{moloch}
\usecolortheme{moloch-tomorrow} \usecolortheme{moloch-tomorrow}
\usepackage{lmodern} \usepackage{lmodern}
\usepackage{hyperref}
\setbeamertemplate{page number in head/foot}[appendixframenumber] \setbeamertemplate{page number in head/foot}[appendixframenumber]
\setbeamertemplate{section in toc}[sections numbered] \setbeamertemplate{section in toc}[sections numbered]
@ -24,7 +23,8 @@
\section{Introduction} \section{Introduction}
\begin{frame}[fragile]{Moloch} \begin{frame}[fragile]
\frametitle{Moloch}
This small demo shows how the This small demo shows how the
\href{https://github.com/chriskempson/tomorrow-theme}{tomorrow color theme} \href{https://github.com/chriskempson/tomorrow-theme}{tomorrow color theme}
for moloch looks.\bigskip for moloch looks.\bigskip
@ -34,7 +34,8 @@
\usecolortheme{moloch-tomorrow}\end{verbatim} \usecolortheme{moloch-tomorrow}\end{verbatim}
\end{frame} \end{frame}
\begin{frame}[fragile]{Tomorrow Color Theme} \begin{frame}[fragile]
\frametitle{Tomorrow Color Theme}
The tomorrow color theme has a higher contrast than the standard moloch theme, and uses The tomorrow color theme has a higher contrast than the standard moloch theme, and uses
different colors for alerts and examples. different colors for alerts and examples.

BIN
examples/demo/demo.pdf Normal file

Binary file not shown.

View File

@ -28,13 +28,15 @@
\maketitle \maketitle
\begin{frame}{Table of Contents} \begin{frame}
\frametitle{Table of Contents}
\tableofcontents[hideallsubsections] \tableofcontents[hideallsubsections]
\end{frame} \end{frame}
\section{Introduction} \section{Introduction}
\begin{frame}[fragile]{Moloch} \begin{frame}[fragile]
\frametitle{Moloch}
The \themename theme is a Beamer theme with minimal visual noise. It is a fork of the The \themename theme is a Beamer theme with minimal visual noise. It is a fork of the
\href{https://github.com/matze/mtheme}{metropolis theme} by Matthias Vogelgesang, which in \href{https://github.com/matze/mtheme}{metropolis theme} by Matthias Vogelgesang, which in
@ -45,7 +47,8 @@
\begin{verbatim}\documentclass{beamer} \begin{verbatim}\documentclass{beamer}
\usetheme{moloch}\end{verbatim} \usetheme{moloch}\end{verbatim}
\end{frame} \end{frame}
\begin{frame}[fragile]{Sections} \begin{frame}[fragile]
\frametitle{Sections}
Sections group slides of the same topic by introducing a section page between them. A progress bar is shown which indicates how far along in the presentation you are. Sections group slides of the same topic by introducing a section page between them. A progress bar is shown which indicates how far along in the presentation you are.
\begin{verbatim}\section{Title Formats}\end{verbatim} \begin{verbatim}\section{Title Formats}\end{verbatim}
@ -53,7 +56,8 @@
\section{Title Formats} \section{Title Formats}
\begin{frame}[fragile]{Moloch Title Formats} \begin{frame}[fragile]
\frametitle{Moloch Title Formats}
\themename supports four different title formats: \themename supports four different title formats:
\begin{itemize} \begin{itemize}
\item \texttt{regular} (Regular) \item \texttt{regular} (Regular)
@ -69,8 +73,8 @@
{ {
\molochset{titleformat frame=smallcaps} \molochset{titleformat frame=smallcaps}
\begin{frame}{Small Caps} \begin{frame}
This frame uses the \texttt{smallcaps} title format. \frametitle{Small Caps}
\begin{alertblock}{Potential Problems} \begin{alertblock}{Potential Problems}
Be aware that not every font supports small caps. If you use the Computer (or Latin) Modern Sans Serif font, for instance, text in small caps will just be typeset in a normal font. Be aware that not every font supports small caps. If you use the Computer (or Latin) Modern Sans Serif font, for instance, text in small caps will just be typeset in a normal font.
@ -80,7 +84,8 @@
{ {
\molochset{titleformat frame=allsmallcaps} \molochset{titleformat frame=allsmallcaps}
\begin{frame}{All Small Caps} \begin{frame}
\frametitle{All Small Caps}
This frame uses the \texttt{allsmallcaps} title format. This frame uses the \texttt{allsmallcaps} title format.
\begin{alertblock}{Potential Problems} \begin{alertblock}{Potential Problems}
@ -103,7 +108,8 @@
{ {
\molochset{titleformat frame=allcaps} \molochset{titleformat frame=allcaps}
\begin{frame}{All Caps} \begin{frame}
\frametitle{All Caps}
This frame uses the \texttt{allcaps} title format. This frame uses the \texttt{allcaps} title format.
\begin{alertblock}{Potential Problems} \begin{alertblock}{Potential Problems}
@ -114,7 +120,8 @@
\section{Elements} \section{Elements}
\begin{frame}[fragile]{Typography} \begin{frame}[fragile]
\frametitle{Typography}
\begin{verbatim}The theme provides sensible defaults to \begin{verbatim}The theme provides sensible defaults to
\emph{emphasize} text, \alert{accent} parts or show \emph{emphasize} text, \alert{accent} parts or show
\textbf{bold} results.\end{verbatim} \textbf{bold} results.\end{verbatim}
@ -125,7 +132,8 @@
\alert{accent} parts or show \textbf{bold} results. \alert{accent} parts or show \textbf{bold} results.
\end{frame} \end{frame}
\begin{frame}{Font Features Test} \begin{frame}
\frametitle{Font Features Test}
\begin{itemize} \begin{itemize}
\item Regular \item Regular
\item \textit{Italic} \item \textit{Italic}
@ -140,7 +148,8 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame}{Lists} \begin{frame}
\frametitle{Lists}
\begin{columns}[T,onlytextwidth] \begin{columns}[T,onlytextwidth]
\column{0.3\textwidth} \column{0.3\textwidth}
Items Items
@ -161,14 +170,16 @@
\end{description} \end{description}
\end{columns} \end{columns}
\end{frame} \end{frame}
\begin{frame}{Animation} \begin{frame}
\frametitle{Animation}
\begin{itemize}[<+- | alert@+>] \begin{itemize}[<+- | alert@+>]
\item \alert<4>{This is\only<4>{ really} important} \item \alert<4>{This is\only<4>{ really} important}
\item Now this \item Now this
\item And now this \item And now this
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame}{Figures} \begin{frame}
\frametitle{Figures}
\begin{figure} \begin{figure}
\newcounter{density} \newcounter{density}
\setcounter{density}{20} \setcounter{density}{20}
@ -195,7 +206,8 @@
\end{figure} \end{figure}
\end{frame} \end{frame}
\begin{frame}{Tables} \begin{frame}
\frametitle{Tables}
\framesubtitle{Largest cities in the world} \framesubtitle{Largest cities in the world}
\begin{table} \begin{table}
\caption{Largest cities in the world (source: Wikipedia)} \caption{Largest cities in the world (source: Wikipedia)}
@ -211,7 +223,8 @@
\end{tabular} \end{tabular}
\end{table} \end{table}
\end{frame} \end{frame}
\begin{frame}[fragile]{Blocks} \begin{frame}[fragile]
\frametitle{Blocks}
Three different block environments are pre-defined: \verb|block|, \verb|alertblock|, Three different block environments are pre-defined: \verb|block|, \verb|alertblock|,
and \verb|exampleblock|. They can be styled using the option and \verb|exampleblock|. They can be styled using the option
\verb|block|, which takes values \verb|transparent| (default, left column) and \verb|fill| (right column). \verb|block|, which takes values \verb|transparent| (default, left column) and \verb|fill| (right column).
@ -250,13 +263,56 @@
\end{columns} \end{columns}
\end{frame} \end{frame}
\begin{frame}{Math} \begin{frame}[c]
\frametitle{Progress Bars}
A prominent feature of \themename is the use of progress bars to
visualize the progress of the presentation. \medskip
By default bars are shown on section pages, but this can be toggled
through \texttt{sectionpage=progressbar|simple|none} and also enabled for
subsection pages through \texttt{subsectionpage=progressbar}.\medskip
Finally, you can enable progress bars on frames by setting
\texttt{progressbar=none|head|frametitle|foot} (depending on where
you'd like the bar to be placed).\medskip
\end{frame}
\begin{frame}[c,fragile]
\frametitle{Progress Bar Customization}
You can customize the width of the bars using
\texttt{progressbar linewidth=<length>}.\medskip
On the following pages, we have set
\begin{verbatim}\molochset{
progressbar=frametitle,
progressbar linewidth=1pt
}
\end{verbatim}
to enable progress bars below the frame title and set its width to 1pt.
\end{frame}
\molochset{progressbar=frametitle,progressbar linewidth=1pt}
\begin{frame}[c,fragile]
\frametitle{The Title Page}
There is only very little customization available of the title page at the
time of writing.\medskip
But you can at least modify the line width of the title separator
by setting \texttt{titleseparator linewidth=<length>}
\end{frame}
\begin{frame}
\frametitle{Math}
\begin{equation*} \begin{equation*}
e = \lim_{n\to \infty} \left(1 + \frac{1}{n}\right)^n e = \lim_{n\to \infty} \left(1 + \frac{1}{n}\right)^n
\end{equation*} \end{equation*}
\end{frame} \end{frame}
\begin{frame}{Quotes} \begin{frame}
\frametitle{Quotes}
\begin{quote} \begin{quote}
Verily, I say unto you, the days spoken of in the Apocalypse are nigh! Verily, I say unto you, the days spoken of in the Apocalypse are nigh!
\end{quote} \end{quote}
@ -264,19 +320,22 @@
{% {%
\setbeamertemplate{frame footer}{My custom footer} \setbeamertemplate{frame footer}{My custom footer}
\begin{frame}[fragile]{Frame Footer} \begin{frame}[fragile]
\frametitle{Frame Footer}
\themename defines a custom beamer template to add a text to the footer. It can be set via \themename defines a custom beamer template to add a text to the footer. It can be set via
\begin{verbatim}\setbeamertemplate{frame footer}{My custom footer}\end{verbatim} \begin{verbatim}\setbeamertemplate{frame footer}{My custom footer}\end{verbatim}
\end{frame} \end{frame}
} }
\begin{frame}[fragile]{References} \begin{frame}[fragile]
\frametitle{References}
Here are some references~\cite{Knuth92,ConcreteMath,Simpson,Er01,greenwade93} to showcase \verb+[allowframebreaks]+. Here are some references~\cite{Knuth92,ConcreteMath,Simpson,Er01,greenwade93} to showcase \verb+[allowframebreaks]+.
\end{frame} \end{frame}
\section{Conclusion} \section{Conclusion}
\begin{frame}{Summary} \begin{frame}
\frametitle{Summary}
Get the source of this theme and the demo presentation from Get the source of this theme and the demo presentation from
\begin{center} \begin{center}

View File

@ -51,32 +51,3 @@
} }
); );
} }
# {
# inputs = {
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# flake-utils.url = "github:numtide/flake-utils";
# };
#
# outputs = {
# self,
# nixpkgs,
# flake-utils,
# }:
# flake-utils.lib.eachDefaultSystem (
# system: let
# pkgs = nixpkgs.legacyPackages.${system};
# texlive = pkgs.texlive.combine {inherit (pkgs.texlive) scheme-basic l3build;};
# l3build-wrapped = pkgs.writeShellScriptBin "l3build-wrapped" ''
# # NOTE: the trailing slash in TEXMF is required
# TEXMF="${texlive}/" ${texlive}/bin/l3build "$@"
# '';
# in {
# devShells.default = pkgs.mkShell {
# buildInputs = [
# texlive
# l3build-wrapped
# ];
# };
# }
# );
# }

87
package.nix Normal file
View File

@ -0,0 +1,87 @@
{
writeShellScript,
writableTmpDirAsHomeHook,
stdenvNoCC,
texlivePackages,
texliveBasic,
}:
let
texEnv = texliveBasic.withPackages (ps: with ps; [
# l3build
beamer
biblatex
enumitem
fileinfo
hypdoc
hyperref
listings
metalogo
parskip
pgf
pgfopts
setspace
xurl
microtype
latexmk
]);
in stdenvNoCC.mkDerivation rec {
pname = "moloch";
version = "1.0.2-DEV-xenia";
outputs = [
"tex"
"texdoc"
];
passthru.tlDeps = with texlivePackages; [ latex ];
src = ./.;
dontConfigure = true;
nativeBuildInputs = [
texEnv
# multiple-outputs.sh fails if $out is not defined
(writeShellScript "force-tex-output.sh" ''
out="''${tex-}"
'')
writableTmpDirAsHomeHook # Need a writable $HOME for latexmk
];
# we just build manually, but moloch's own method of building is using l3build
# i have no idea how to get that working, so for now just do it normal style
buildPhase = ''
runHook preBuild
# Generate the style files
cd src
latex beamertheme${pname}.ins
# Generate the documentation
cp ../doc/${pname}.tex .
latexmk -pdf ${pname}.tex
cd ..
runHook postBuild
'';
installPhase = ''
runHook preInstall
path="$tex/tex/latex/${pname}"
mkdir -p "$path"
cp src/*.{cls,def,clo,sty} "$path/"
path="$texdoc/doc/tex/latex/${pname}"
mkdir -p "$path"
cp src/${pname}.pdf "$path/"
runHook postInstall
'';
}

View File

@ -7,6 +7,8 @@
"src/beamerfontthememoloch.dtx", "src/beamerfontthememoloch.dtx",
"src/beamerouterthememoloch.dtx", "src/beamerouterthememoloch.dtx",
"src/beamerinnerthememoloch.dtx", "src/beamerinnerthememoloch.dtx",
"src/beamercolorthememoloch-highcontrast.dtx",
"src/beamercolorthememoloch-tomorrow.dtx",
"src/beamerthememoloch.dtx", "src/beamerthememoloch.dtx",
"doc/moloch.tex", "doc/moloch.tex",
"build.lua" "build.lua"

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthememoloch-highcontrast}[2025-01-17 v0.5.0 Moloch color theme] % x-release-please-version \ProvidesPackage{beamercolorthememoloch-highcontrast}[2025-04-01 v1.0.1 Moloch high-contrast color theme] % x-release-please-version
%</package> %</package>
% \fi % \fi
% \CheckSum{0} % \CheckSum{0}

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthememoloch-tomorrow}[2025-01-17 v0.5.0 Moloch color theme] % x-release-please-version \ProvidesPackage{beamercolorthememoloch-tomorrow}[2025-04-01 v1.0.1 Moloch tomorrow color theme] % x-release-please-version
%</package> %</package>
% \fi % \fi
% \CheckSum{0} % \CheckSum{0}

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthememoloch}[2025-01-17 v0.6.0 Moloch color theme] % x-release-please-version \ProvidesPackage{beamercolorthememoloch}[2025-04-01 v1.0.1 Moloch color theme] % x-release-please-version
%</package> %</package>
% \fi % \fi
% \CheckSum{0} % \CheckSum{0}
@ -130,6 +130,8 @@
\setbeamercolor{institute}{% \setbeamercolor{institute}{%
use=normal text, fg=normal text.fg!80!normal text.bg} use=normal text, fg=normal text.fg!80!normal text.bg}
\setbeamercolor{structure}{use=normal text, fg=normal text.fg} \setbeamercolor{structure}{use=normal text, fg=normal text.fg}
\setbeamercolor{thanks}{%
use=normal text,fg=normal text.fg!80!normal text.bg}
% \end{macrocode} % \end{macrocode}
% %
% The “primary” palette should be used for the most important navigational % The “primary” palette should be used for the most important navigational

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerfontthememoloch}[2025-01-17 v0.6.0 Moloch color theme] % x-release-please-version \ProvidesPackage{beamerfontthememoloch}[2025-04-01 v1.0.1 Moloch font theme] % x-release-please-version
%</package> %</package>
% \fi % \fi
% \CheckSum{0} % \CheckSum{0}

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerinnerthememoloch}[2025-01-17 v0.6.0 Moloch color theme] % x-release-please-version \ProvidesPackage{beamerinnerthememoloch}[2025-04-01 v1.0.1 Moloch inner theme] % x-release-please-version
%</package> %</package>
% \fi % \fi
% \CheckSum{0} % \CheckSum{0}
@ -47,7 +47,16 @@
\RequirePackage{tikz} \RequirePackage{tikz}
% \end{macrocode} % \end{macrocode}
% %
% \subsubsection{Memoization and Tikz Externalization}
% %
% See the documentation for the correspondign section under the outer theme for
% more information on the following lines.
%
% \begin{macrocode}
\providecommand{\tikzexternalenable}{}
\providecommand{\tikzexternaldisable}{}
\providecommand{\mmzUnmemoizable}{}
% \end{macrocode}
% %
% \subsubsection{Options} % \subsubsection{Options}
% %
@ -117,6 +126,29 @@
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
% \begin{macro}{titleseparator linewidth}
% Set the width of the line separating the title from the author.
% \begin{macrocode}
\newlength{\moloch@titleseparator@linewidth}
\pgfkeys{
/moloch/inner/.cd,
titleseparatorlinewidth/.code={\setlength{\moloch@titleseparator@linewidth}{#1}},
titleseparatorlinewidth/.default=0.4pt,
}
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{titleseparator aliases}
% Allows |titleseparator linewidth| to be used in |\usetheme|.
% \begin{macrocode}
\pgfkeys{
/moloch/inner/.cd,
titleseparator linewidth/.code=\pgfkeysalso{titleseparatorlinewidth=#1},
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\moloch@inner@setdefaults} % \begin{macro}{\moloch@inner@setdefaults}
% Set default values for inner theme options. % Set default values for inner theme options.
% \begin{macrocode} % \begin{macrocode}
@ -124,7 +156,8 @@
\pgfkeys{/moloch/inner/.cd, \pgfkeys{/moloch/inner/.cd,
sectionpage=progressbar, sectionpage=progressbar,
subsectionpage=none, subsectionpage=none,
standoutnumbering=none standoutnumbering=none,
titleseparator linewidth=0.4pt,
} }
} }
% \end{macrocode} % \end{macrocode}
@ -140,7 +173,6 @@
% space on the title slide. % space on the title slide.
% \begin{macrocode} % \begin{macrocode}
\setbeamertemplate{title page}{ \setbeamertemplate{title page}{
\begin{minipage}[c][\textheight]{\textwidth}
\null% \null%
\vspace{0pt plus 1.618fil}% \vspace{0pt plus 1.618fil}%
\vfil% \vfil%
@ -155,15 +187,14 @@
\ifx\insertdate\@empty\else\usebeamertemplate*{date}\fi \ifx\insertdate\@empty\else\usebeamertemplate*{date}\fi
\vspace{0pt plus 1fil}% \vspace{0pt plus 1fil}%
\null \null
\end{minipage}%
} }
% \end{macrocode} % \end{macrocode}
% \end{macro}% % \end{macro}%
% %
% Normal people should use |\maketitle| or |\titlepage| instead of using the % Normal people should use |\maketitle| or |\titlepage| instead of using the
% |title page| beamer template directly. Beamer already defines these macros, % |title page| beamer template directly. Beamer already defines these macros,
% but we patch them here to make the title page |[plain]| by default, remove % but we patch them here to make the title page |[plain]| by default
% |\@thanks|, and ensure the title frame number doesn't count. % and ensure the title frame number doesn't count.
% %
% \begin{macro}{\maketitle} % \begin{macro}{\maketitle}
% \begin{macro}{\titlepage} % \begin{macro}{\titlepage}
@ -176,11 +207,20 @@
\ifbeamer@inframe \ifbeamer@inframe
\titlepage \titlepage
\else \else
\begingroup
\renewcommand\footnoterule{}%
\frame[plain,noframenumbering]{\titlepage} \frame[plain,noframenumbering]{\titlepage}
\endgroup
\fi \fi
} }
\def\titlepage{% \def\titlepage{%
\usebeamertemplate{title page} % Apply title-page specific footnote settings
\renewcommand{\@makefntext}[1]{%
{\par\usebeamercolor[fg]{thanks}\usebeamerfont{thanks}$^{\@thefnmark}$##1\medskip}%
}
% Process the title page
\usebeamertemplate{title page}\@thanks
} }
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
@ -205,7 +245,6 @@
\raggedright% \raggedright%
\moloch@titleformat{\inserttitle}% \moloch@titleformat{\inserttitle}%
\par% \par%
\vspace*{0.2em}
} }
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
@ -214,26 +253,23 @@
% Set the subtitle on the title page. % Set the subtitle on the title page.
% \begin{macrocode} % \begin{macrocode}
\setbeamertemplate{subtitle}{ \setbeamertemplate{subtitle}{
\vspace*{0.1em} \vspace*{0.3em}
\raggedright% \raggedright%
\moloch@subtitleformat{\insertsubtitle}% \moloch@subtitleformat{\insertsubtitle}%
\par% \par%
\vspace*{0.2em}
} }
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
% \begin{macro}{title separator} % \begin{macro}{title separator}
% Template to set the title graphic in a zero-height box. (It won't % Template to set the title separator.
% change the position of other elements.)
% \begin{macrocode} % \begin{macrocode}
\newlength{\moloch@titleseparator@linewidth}
\setlength{\moloch@titleseparator@linewidth}{0.4pt}
\setbeamertemplate{title separator}{ \setbeamertemplate{title separator}{
\tikzexternaldisable% \tikzexternaldisable%
\begin{tikzpicture} \begin{tikzpicture}[baseline=(current bounding box.north)]
\mmzUnmemoizable% \mmzUnmemoizable%
\fill[fg] (0,0) rectangle (\textwidth, \moloch@titleseparator@linewidth); \fill[fg] (0,0) rectangle (\textwidth, \moloch@titleseparator@linewidth);
\useasboundingbox (0,0) rectangle (\textwidth,-\moloch@titleseparator@linewidth);
\end{tikzpicture}% \end{tikzpicture}%
\tikzexternalenable% \tikzexternalenable%
\par% \par%
@ -296,7 +332,7 @@
\insertsubsectionhead% \insertsubsectionhead%
\fi \fi
\end{center} \end{center}
\vspace{\baselineskip - 1ex + 0.4pt} \vspace{\baselineskip - 1ex + \moloch@titleseparator@linewidth}
} }
\defbeamertemplate{section page}{progressbar}{ \defbeamertemplate{section page}{progressbar}{
\centering \centering
@ -366,15 +402,12 @@
% |progress bar in head/foot|. % |progress bar in head/foot|.
% %
% \begin{macrocode} % \begin{macrocode}
\newlength{\moloch@progressonsectionpage}
\newlength{\moloch@progressonsectionpage@linewidth}
\setlength{\moloch@progressonsectionpage@linewidth}{0.4pt}
\setbeamertemplate{progress bar in section page}{ \setbeamertemplate{progress bar in section page}{
\pgfmathsetlength{\moloch@progressonsectionpage}{ \pgfmathsetlength{\moloch@progressonsectionpage}{
\textwidth * min(1,\insertframenumber/\inserttotalframenumber) \textwidth * min(1,\insertframenumber/\insertmainframenumber)
}% }%
\tikzexternaldisable% \tikzexternaldisable%
\begin{tikzpicture} \begin{tikzpicture}[baseline=(current bounding box.north)]
\mmzUnmemoizable% \mmzUnmemoizable%
\fill[bg] \fill[bg]
(0,0) (0,0)
@ -385,6 +418,7 @@
rectangle rectangle
(\moloch@progressonsectionpage, (\moloch@progressonsectionpage,
\moloch@progressonsectionpage@linewidth); \moloch@progressonsectionpage@linewidth);
\useasboundingbox (0,0) rectangle (\textwidth,-\moloch@progressonsectionpage@linewidth);
\end{tikzpicture}% \end{tikzpicture}%
\tikzexternalenable% \tikzexternalenable%
} }
@ -408,9 +442,12 @@
% \subsubsection{Lists and Floats} % \subsubsection{Lists and Floats}
% %
% \begin{macrocode} % \begin{macrocode}
\setbeamertemplate{itemize item}{\(\bullet\)} \setbeamertemplate{itemize item}[circle]
\setbeamertemplate{itemize subitem}{\(\circ\)} \setbeamertemplate{itemize subitem}{\raise1.5pt\hbox{\vrule width 0.8ex height 0.8ex}}
\setbeamertemplate{itemize subsubitem}{\textbullet} \setbeamerfont{itemize subsubitem}{size=\tiny}
\setbeamertemplate{itemize subsubitem}{%
\usebeamerfont*{itemize subsubitem}\raise1.75pt\hbox{\donotcoloroutermaths$\blacktriangleright$}%
}
\setbeamertemplate{caption label separator}{: } \setbeamertemplate{caption label separator}{: }
\setbeamertemplate{caption}[numbered] \setbeamertemplate{caption}[numbered]
% \end{macrocode} % \end{macrocode}

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerouterthememoloch}[2025-01-17 v0.6.0 Moloch color theme] % x-release-please-version \ProvidesPackage{beamerouterthememoloch}[2025-04-01 v1.0.1 Moloch outer theme] % x-release-please-version
%</package> %</package>
% \fi % \fi
% \CheckSum{0} % \CheckSum{0}
@ -38,6 +38,20 @@
% \end{macrocode} % \end{macrocode}
% %
% %
% \subsubsection{Memoization and Tikz Externalization}
%
% To avoid generating externalized figures of the progressbar we have to disable
% them with ``tikzexternalenable'' and ``tikzexternaldisable''. However, if the
% ``external'' library 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{Options} % \subsubsection{Options}
% %
@ -71,53 +85,63 @@
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
% \begin{macro}{progressbar linewidth}
% Sets the linewidth of the progress bar for sectionpages and frames.
% \begin{macrocode}
\newlength{\moloch@progressonsectionpage}
\newlength{\moloch@progressonsectionpage@linewidth}
\newlength{\moloch@progressinheadfoot}
\newlength{\moloch@progressinheadfoot@linewidth}
\pgfkeys{
/moloch/outer/.cd,
progressbarlinewidth/.code={
\setlength{\moloch@progressonsectionpage@linewidth}{#1}
\setlength{\moloch@progressinheadfoot@linewidth}{#1}
},
progressbarlinewidth/.default=0.4pt,
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{progressbar aliases}
% Allows |progressbar linewidth| to be used in |\molochset|.
% \begin{macrocode}
\pgfkeys{
/moloch/outer/.cd,
progressbar linewidth/.code=\pgfkeysalso{progressbarlinewidth=#1},
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\moloch@outer@setdefaults} % \begin{macro}{\moloch@outer@setdefaults}
% Sets default values for outer theme options. % Sets default values for outer theme options.
% \begin{macrocode} % \begin{macrocode}
\newcommand{\moloch@outer@setdefaults}{ \newcommand{\moloch@outer@setdefaults}{
\pgfkeys{/moloch/outer/.cd, \pgfkeys{/moloch/outer/.cd,
progressbar=none, progressbar=none,
progressbar linewidth=0.4pt,
} }
} }
% \end{macrocode}% % \end{macrocode}%
% \end{macro} % \end{macro}
% %
% \subsubsection{Deprecated Options}
%
% These options are deprecated and will be removed in a future version.
%
% \begin{macro}{numbering}
% Adds slide numbers to the bottom right of each slide.
% \begin{macrocode}
\pgfkeys{
/moloch/outer/numbering/.cd,
.is choice,
none/.code={%
\PackageWarning{moloch}{The ``numbering'' option is deprecated.
Use beamer's ``page number in head/foot'' template instead}%
\setbeamertemplate{page number in head/foot}[default]
},
counter/.code={%
\PackageWarning{moloch}{The ``numbering'' option is deprecated.
Use beamer's ``page number in head/foot'' template instead}%
\setbeamertemplate{page number in head/foot}[framenumber]
},
fraction/.code={%
\PackageWarning{moloch}{The ``numbering'' option is deprecated.
Use beamer's ``page number in head/foot'' template instead}%
\setbeamertemplate{page number in head/foot}[totalframenumber]
},
}
% \end{macrocode}
% \end{macro}
%
% \subsubsection{Slide Numbering} % \subsubsection{Slide Numbering}
% %
% Moloch defaults to numbering frames. To modify this, simply copy this line to your % Moloch defaults to numbering frames. To modify this, simply copy this line to your
% preamble and replace |framenumber|. % preamble and replace |appendixframenumber|.
% %
% \begin{macrocode} % \begin{macrocode}
\setbeamertemplate{page number in head/foot}[framenumber] \setbeamertemplate{page number in head/foot}[appendixframenumber]
% \end{macrocode}
%
% \subsubsection{Notes Page Numbering}
%
% Moloch defaults to numbering notes pages in a format compatible with Pympress.
% This means that presentations using |show notes| (i.e., notes on every other
% slide) work by default.
%
% \begin{macrocode}
\addtobeamertemplate{note page}{}{\thispdfpagelabel{notes:\insertframenumber}}
% \end{macrocode} % \end{macrocode}
% %
% \subsubsection{Head and footline} % \subsubsection{Head and footline}
@ -210,9 +234,6 @@
% on each page. Much of this code is duplicated in the inner theme's % on each page. Much of this code is duplicated in the inner theme's
% template |progress bar in section page|. % template |progress bar in section page|.
% \begin{macrocode} % \begin{macrocode}
\newlength{\moloch@progressinheadfoot}
\newlength{\moloch@progressinheadfoot@linewidth}
\setlength{\moloch@progressinheadfoot@linewidth}{0.4pt}
\setbeamertemplate{progress bar in head/foot}{ \setbeamertemplate{progress bar in head/foot}{
\nointerlineskip% \nointerlineskip%
\pgfmathsetlength{\moloch@progressinheadfoot}{% \pgfmathsetlength{\moloch@progressinheadfoot}{%

View File

@ -12,7 +12,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthememoloch}[2025-01-17 v0.6.0 Moloch color theme] % x-release-please-version \ProvidesPackage{beamerthememoloch}[2025-04-01 v1.0.1 Moloch theme] % x-release-please-version
%</package> %</package>
% \fi % \fi
% \CheckSum{0} % \CheckSum{0}
@ -104,19 +104,6 @@
} }
% \end{macrocode} % \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} % \subsubsection{Component Sub-Packages}
% %
% Having processed the options, we can now load the component sub-packages of % Having processed the options, we can now load the component sub-packages of

View File

@ -2,6 +2,23 @@ This is a generated file for the l3build validation system.
Don't change this file in any respect. Don't change this file in any respect.
[2 [2
] ]
LaTeX Font Info: Trying to load font information for OML+lmm on input line ....
LaTeX Font Info: Trying to load font information for OMS+lmsy on input line ....
LaTeX Font Info: Trying to load font information for OMX+lmex on input line ....
LaTeX Font Info: External font `lmex10' loaded for size
(Font) <10.95> on input line ....
LaTeX Font Info: External font `lmex10' loaded for size
(Font) <8> on input line ....
LaTeX Font Info: External font `lmex10' loaded for size
(Font) <6> on input line ....
LaTeX Font Info: Trying to load font information for U+msa on input line ....
LaTeX Font Info: Trying to load font information for U+msb on input line ....
LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <10.95> not available
(Font) Font shape `OT1/lmss/m/sl' tried instead on input line ....
LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <8> not available
(Font) Font shape `OT1/lmss/m/sl' tried instead on input line ....
LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <6> not available
(Font) Font shape `OT1/lmss/m/sl' tried instead on input line ....
[3 [3
] ]
[4 [4

10
testfiles/separation.lvt Normal file
View File

@ -0,0 +1,10 @@
\documentclass[hyperref={draft}]{beamer}
\useoutertheme{moloch}
\useinnertheme{moloch}
\usefonttheme{moloch}
\usecolortheme{moloch}
\usepackage{lmodern}
\input{separationexample}

1275
testfiles/separation.tlg Normal file

File diff suppressed because it is too large Load Diff

View File

@ -38,9 +38,6 @@
\end{proof} \end{proof}
\end{frame} \end{frame}
\vfil\break
\END
{ {
\molochset{titleformat frame=smallcaps} \molochset{titleformat frame=smallcaps}
\begin{frame}{Small caps} \begin{frame}{Small caps}
@ -79,7 +76,15 @@
\column{0.33\textwidth} \column{0.33\textwidth}
Items Items
\begin{itemize} \begin{itemize}
\item Milk \item Eggs \item Potatoes \item Flour
\begin{itemize}
\item Wheat
\begin{itemize}
\item Whole-grain
\item White
\end{itemize}
\end{itemize}
\item Eggs
\end{itemize} \end{itemize}
\column{0.33\textwidth} \column{0.33\textwidth}
@ -138,7 +143,6 @@
\end{column} \end{column}
\end{columns} \end{columns}
\end{frame} \end{frame}
\appendix \appendix
@ -147,8 +151,7 @@
Here are some backup slides Here are some backup slides
\end{frame} \end{frame}
\vfil\break
\END
\end{document}
\end{document} \end{document}

View File

@ -0,0 +1,44 @@
\input regression-test
\title{Moloch Test Suite}
\subtitle{A subtitle that is way to long and in fact might just need to be split across lines}
\author[Johan]{Johan Larsson}
\institute[LU]{Lund Univesity//Department of Statistics}
\date{April 23, 2024}
\begin{document}
\START
\showoutput
\begin{frame}{Table of contents}
\setbeamertemplate{section in toc}[sections numbered]
\tableofcontents[hideallsubsections]
\end{frame}
\section{Results}
\subsection{Proof of the Main Theorem}
\begin{frame}<1>
\frametitle{There Is No Largest Prime Number}
\framesubtitle{The proof uses \textit{reductio ad absurdum}.}
\begin{theorem}
There is no largest prime number.
\end{theorem}
\begin{proof}
\begin{enumerate}
\item<1-| alert@1> Suppose $p$ were the largest prime number.
\item<2-> Let $q$ be the product of the first $p$ numbers.
\item<3-> Then $q$\;+\,$1$ is not divisible by any of them.
\item<1-> Thus $q$\;+\,$1$ is also prime and greater than $p$.\qedhere
\end{enumerate}
\end{proof}
\end{frame}
\vfil\break
\END
\end{document}

File diff suppressed because it is too large Load Diff