Compare commits

..

100 Commits
v0.3.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
Johan Larsson 2f334ed60e
chore(main): release 0.6.0 (#34) 2025-01-17 17:00:09 +01:00
Johan Larsson 3b0500cc9d chore: update date stamps 2025-01-17 16:48:24 +01:00
Johan Larsson 33e4f5face docs: fix tomorrow theme demo 2025-01-17 16:34:58 +01:00
Johan Larsson ae98ea328a docs: update demo for tomorrow color theme 2025-01-17 16:33:58 +01:00
Johan Larsson 3039994e27 feat: add back highcontrast theme from metropolis 2025-01-17 16:25:57 +01:00
Johan Larsson 13e73007c6
feat: add new color theme based on the tomorrow color theme 2025-01-17 16:21:29 +01:00
Johan Larsson 2a4bbfa945 ci: fix name of wrapper 2025-01-17 13:43:33 +01:00
Johan Larsson 80904599e6 build: use l3build wrapper 2025-01-17 13:40:13 +01:00
Johan Larsson d1bb7cb144 chore: wrap paragraph in source 2025-01-17 12:29:53 +01:00
Johan Larsson 1c6b1a171d test: update test testfile 2025-01-17 12:19:38 +01:00
Johan Larsson af901954e1 test: update standoutnumbering testfile 2025-01-17 11:37:51 +01:00
Johan Larsson 54c2e5c2ab build: setup nix flake and use it for gh actions 2025-01-17 11:11:57 +01:00
Johan Larsson eb4bf54e73
revert: "feat: deprecate `\mreducelistspacing`"
This reverts commit 3d87ec2d8d.
2024-12-02 19:58:43 +01:00
Johan Larsson 2a6afe5d72
test: update standoutnumbering test output 2024-12-02 09:47:18 +01:00
Johan Larsson ce7540d71c
revert: "test: remove standoutnumbering test"
This reverts commit c485a5d2bc.
2024-12-02 09:46:59 +01:00
Johan Larsson 191aef9fd7
test: lock test output 2024-12-02 09:46:12 +01:00
Johan Larsson 3d87ec2d8d
feat: deprecate `\mreducelistspacing` 2024-12-02 07:51:56 +01:00
Johan Larsson 8e3551965c
doc: use FiraMono in demo 2024-12-02 07:43:39 +01:00
Johan Larsson 2633db809b
chore: remove commented-out code from demo 2024-12-02 07:43:14 +01:00
Johan Larsson c485a5d2bc
test: remove standoutnumbering test
It is failing for uknown reasons, possibly ci latex version mismatch.
2024-12-02 07:42:29 +01:00
Johan Larsson 85eabc7bee
feat: use golden rule in top-bottom spacing of title page
Use the golden rule to set top and bottom spacing for the title page.
This closes #29.
2024-12-02 07:30:29 +01:00
Johan Larsson 35276a885f
ci: add latex package microtype 2024-11-22 22:48:56 +01:00
Johan Larsson 8ee58c03b8
doc: document standoutnumbering 2024-11-22 20:59:31 +01:00
Johan Larsson e770ca1893
doc: redesign manual for moloch 2024-11-22 20:52:19 +01:00
Johan Larsson 6deb04548f
test: make sectionpages test more complicated again 2024-11-22 20:14:32 +01:00
Johan Larsson bdc36c8972
test: rerun test for sectionpages 2024-11-22 20:13:26 +01:00
Johan Larsson 42f212ab09
test: make standoutnumbering test less trivial 2024-11-22 20:11:27 +01:00
Johan Larsson 922a272fdc
test: have anothe go at fixing the regression test 2024-11-22 20:10:03 +01:00
Johan Larsson 866634f191
test: simply test even further 2024-11-22 19:48:26 +01:00
Johan Larsson bd2abe00df
test: simplify test 2024-11-22 15:07:24 +01:00
Johan Larsson d61ae2da5e
test: use hyperref=draft for test 2024-11-22 14:56:02 +01:00
Johan Larsson 783ec80ca2
test: fix failing tests 2024-11-22 14:44:29 +01:00
John Purnell 5a98c69a3f
feat: redesign section and subsection pages (#30)
Redesign section and subsection pages so that section titles are aligned, which 
helps avoid having titles jump if section and subsection pages are viewed
in sequence. The alignment of subtitles on section pages with
the progressbar layout have also been modified to look better. Finally,
section pages have their content raised slightly in both the progressbar
and simple templates.

---------

Co-authored-by: Johan Larsson <jolars@posteo.com>
2024-11-22 14:09:14 +01:00
Johan Larsson fcfbbe1f21
chore: fix erroneous test in standout-numbering 2024-11-20 20:09:54 +01:00
Johan Larsson d6d0e3c615
feat: add option to customize frame numbering of standout pages
Add a new option: standoutnumbering, to customize frame numbering
behavior for standout pages.

Closes #33
2024-11-20 20:03:29 +01:00
Johan Larsson 1fea99cb3c chore: autoformat manual 2024-11-16 20:51:23 +01:00
Johan Larsson 21a2980b6e chore: make the demo anonymous 2024-10-31 14:58:28 +01:00
Johan Larsson 11f8285cbb chore: update ctan announcement text 2024-10-30 14:25:33 +01:00
Johan Larsson 7605fc36df
chore(main): release 0.5.0 (#20) 2024-10-30 14:23:05 +01:00
Johan Larsson de455795bd chore: update dates in tags 2024-10-30 14:10:43 +01:00
Johan Larsson c6731124aa chore: convert fonts in screenshot to paths 2024-10-30 14:07:35 +01:00
Johan Larsson b7cfb2c60c chore(tests): update tests 2024-10-30 13:46:23 +01:00
Johan Larsson e8921a6964 fix: set use=block title in block body for fill
Closes #28
2024-10-29 21:49:07 +01:00
Johan Larsson 0de54ed7ed chore: autoformat with stylua 2024-10-29 20:11:48 +01:00
John Purnell 1306af5a73
fix: remove duplicated footnote color specifications (#26)
bf63dcd duplicated the existing footnote color specifications.
2024-10-28 11:23:34 +01:00
John Purnell e5be4806ab
fix: remove extra space below progressbar section pages (#27)
The missing trailing comment after the Metropolis conversion was adding extraneous vertical space below progress bar section pages.
2024-10-28 09:25:48 +01:00
Johan Larsson c3b6729e2f chore: fix typo (Metroplis -> Metropolis)
Thanks to Jorge Montoya for the report.
2024-08-13 20:23:07 +02:00
Johan Larsson 8f2a59e239 feat: replace `\vfill` with `\vfil` in title frame 2024-07-24 22:14:46 +02:00
Johan Larsson 21bbe492e7 tests: update expected test output 2024-07-24 21:57:52 +02:00
Marei Peischl 873ae15482
feat: switch from fill to fil (#21) 2024-07-24 21:51:24 +02:00
Johan Larsson 185027af36 chore: add ctan announcement notes 2024-07-09 20:53:51 +02:00
Johan Larsson 28003e7502 fix: tag files with date 2024-07-09 20:51:49 +02:00
Johan Larsson ad1e733016
chore(main): release 0.4.0 (#12) 2024-07-09 20:49:26 +02:00
Johan Larsson 4b35b60cc3 chore: merge branch 'main' of https://github.com/jolars/moloch 2024-07-09 20:46:12 +02:00
Johan Larsson 46a4f49e8b feat: support title format modifications (#18)
* chore: add "to"

* docs: small change to example

* docs: provide longest label in description

* feat: reinstitute support for titleformat settings

Fixes #17. Setting this up on the user side via beamer templates turned
out to be too much of a hassle for users. It seems that the
implementation here works better out of the box compared to what was
originally the case in the metropolis theme, and we don't have to rely
on patching commands as the previous implementation did, so this seems
like a reasonable feature to add back support for.
2024-07-09 20:45:56 +02:00
Johan Larsson 0b25d18ed7
Support title format modifications (#18)
* chore: add "to"

* docs: small change to example

* docs: provide longest label in description

* feat: reinstitute support for titleformat settings

Fixes #17. Setting this up on the user side via beamer templates turned
out to be too much of a hassle for users. It seems that the
implementation here works better out of the box compared to what was
originally the case in the metropolis theme, and we don't have to rely
on patching commands as the previous implementation did, so this seems
like a reasonable feature to add back support for.
2024-07-09 20:36:16 +02:00
Johan Larsson ac305e9b54 fix: convert raw command in manual to text 2024-07-04 08:40:08 +02:00
Johan Larsson 33b9833f21 fix: add % at the end of some commands 2024-07-04 08:34:56 +02:00
Johan Larsson 1ca26e857a feat: support memoize package (closes #16)
Inject `\mmzUnmemoizable` into progress bar tikzpictures to avoid the
memoize package memoizing them. Also provide a dummy for this command in
case the memoize package is not loaded.
2024-07-04 08:29:57 +02:00
Johan Larsson c2f073283a ci: change release action entrypoint 2024-05-30 11:21:39 +02:00
Johan Larsson 3aa4dbb245 docs: mention blog post about moloch in readme 2024-05-30 10:57:53 +02:00
Johan Larsson c289e98222 chore: use bash highlighting in readme 2024-05-30 10:57:41 +02:00
Johan Larsson ea4dd5cb5c doc: rearrange screenshot in readme 2024-04-03 08:51:34 +02:00
Johan Larsson b602035548 chore: optimize screenshot svg 2024-04-03 08:50:50 +02:00
Johan Larsson eb013d9579 chore: clean up screenshot a little 2024-04-03 08:48:20 +02:00
Johan Larsson f3b7f97087 doc: add a screenshot of the first four pages 2024-04-03 08:45:09 +02:00
Johan Larsson b224a9b506 feat: add a small amount of vertical space before subtitle 2024-03-12 12:37:50 +01:00
Johan Larsson c964ab4999 chore: make next feature version stable (1.0.0) 2024-03-12 11:01:11 +01:00
Johan Larsson 1d0a82c8d1 chore: clean announcement file 2024-03-06 22:22:49 +01:00
Johan Larsson 08e6fac595 chore: unset update 2024-03-06 22:19:31 +01:00
Johan Larsson dd929ae0f9 chore: add ctan announcement file 2024-03-06 22:17:48 +01:00
Johan Larsson 6f5de71a94 Merge branch 'main' of https://github.com/jolars/moloch 2024-03-06 20:30:20 +01:00
Johan Larsson 605e41ce72 chore: omit tds 2024-03-06 20:30:19 +01:00
38 changed files with 8095 additions and 335 deletions

5
.envrc Normal file
View File

@ -0,0 +1,5 @@
# shellcheck shell=bash
if ! has nix_direnv_version || ! nix_direnv_version 3.0.6; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.6/direnvrc" "sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM="
fi
use flake

View File

@ -11,28 +11,13 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: teatimeguest/setup-texlive-action@v3 - uses: cachix/install-nix-action@v27
with: with:
packages: >- github_access_token: ${{ secrets.GITHUB_TOKEN }}
scheme-basic
beamer
biblatex
enumitem
fileinfo
hypdoc
hyperref
l3build
listings
metalogo
parskip
pgf
pgfopts
setspace
xurl
- name: document - name: document
run: l3build doc run: nix develop --command l3build-wrapped doc
- name: build - name: build
run: l3build ctan -q -H --show-log-on-error run: nix develop --command l3build-wrapped ctan -q -H --show-log-on-error
release: release:
if: ${{ github.ref == 'refs/heads/main' }} if: ${{ github.ref == 'refs/heads/main' }}
permissions: permissions:
@ -42,6 +27,6 @@ jobs:
- build-and-test - build-and-test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: google-github-actions/release-please-action@v4 - uses: googleapis/release-please-action@v4
with: with:
token: ${{ secrets.RELEASE_PLEASE_TOKEN }} token: ${{ secrets.RELEASE_PLEASE_TOKEN }}

10
.gitignore vendored
View File

@ -303,10 +303,18 @@ 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
.oc .oc
*.curlopt *.curlopt
*.zip *.zip
# nix -----------------------------------------------
# Ignore build outputs from performing a nix-build or `nix build` command
result
result-*
# Ignore direnv folder
.direnv/

View File

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

View File

@ -1,5 +1,70 @@
# 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)
### Features
* add back highcontrast theme from metropolis ([3039994](https://github.com/jolars/moloch/commit/3039994e27a01d54d7a3cfa696318413161f5e15))
* add new color theme based on the tomorrow color theme ([13e7300](https://github.com/jolars/moloch/commit/13e73007c6d29989684aa228f7f74d3bdcce526f))
* add option to customize frame numbering of standout pages ([d6d0e3c](https://github.com/jolars/moloch/commit/d6d0e3c61565f06d1987c275e2460c9b61ef8ae3)), closes [#33](https://github.com/jolars/moloch/issues/33)
* deprecate `\mreducelistspacing` ([3d87ec2](https://github.com/jolars/moloch/commit/3d87ec2d8d4a81c09d13083aa61af2a36ce6dd1d))
* redesign section and subsection pages ([#30](https://github.com/jolars/moloch/issues/30)) ([5a98c69](https://github.com/jolars/moloch/commit/5a98c69a3f07b5b36d5d2c5e5a117e25c472ad22))
* use golden rule in top-bottom spacing of title page ([85eabc7](https://github.com/jolars/moloch/commit/85eabc7beef4296dcc7a7ac53eb0f7a785fe8c35))
### Reverts
* "feat: deprecate `\mreducelistspacing`" ([eb4bf54](https://github.com/jolars/moloch/commit/eb4bf54e734a64936903d18dbb6d1668d769fa01))
* "test: remove standoutnumbering test" ([ce7540d](https://github.com/jolars/moloch/commit/ce7540d71caf490cbd3129345cd778b1519394d9))
## [0.5.0](https://github.com/jolars/moloch/compare/v0.4.0...v0.5.0) (2024-10-30)
### Features
* replace `\vfill` with `\vfil` in title frame ([8f2a59e](https://github.com/jolars/moloch/commit/8f2a59e239cf0ae32f1a5c8fbf6ad739fa1cd328))
* switch from fill to fil ([#21](https://github.com/jolars/moloch/issues/21)) ([873ae15](https://github.com/jolars/moloch/commit/873ae154824ed10d45f05c6efe4c4cc73eca1a22))
### Bug Fixes
* remove duplicated footnote color specifications ([#26](https://github.com/jolars/moloch/issues/26)) ([1306af5](https://github.com/jolars/moloch/commit/1306af5a73e0a030ece2ad9825496cc28507ad54))
* remove extra space below progressbar section pages ([#27](https://github.com/jolars/moloch/issues/27)) ([e5be480](https://github.com/jolars/moloch/commit/e5be4806ab9b975be8e8f67434c80fd2155e30b2))
* 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))
## [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) ## [0.3.0](https://github.com/jolars/moloch/compare/v0.2.0...v0.3.0) (2024-03-06)

View File

@ -12,19 +12,24 @@ The fork was created for the following reasons:
- To remove some of the more opinionated design choices, such as special handling of the Fira family of fonts. - 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. - 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.
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.
![Screenshot](https://raw.githubusercontent.com/jolars/moloch/main/assets/screenshot.svg)
## Installation ## 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`: 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 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: 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 git clone https://github.com/jolars/moloch.git
cd moloch cd moloch
l3build install l3build install

295
assets/screenshot.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 174 KiB

View File

@ -9,13 +9,13 @@ textfiles = { "*.md", "LICENSE" }
checkengines = { "pdftex" } checkengines = { "pdftex" }
checksuppfiles = { "*.tex" } checksuppfiles = { "*.tex" }
packtdszip = true packtdszip = false
maxprintline = 9999 maxprintline = 9999
uploadconfig = { uploadconfig = {
pkg = "moloch", pkg = "moloch",
version = "0.3.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",
@ -28,7 +28,7 @@ uploadconfig = {
bugtracker = "https://github.com/jolars/moloch/issues", bugtracker = "https://github.com/jolars/moloch/issues",
support = "https://github.com/jolars/moloch/discussions", support = "https://github.com/jolars/moloch/discussions",
topic = "presentation", topic = "presentation",
update = false, announcement_file = "ctan_announcement.txt",
} }
function update_tag(file, content, tagname, tagdate) function update_tag(file, content, tagname, tagdate)

19
ctan_announcement.txt Normal file
View File

@ -0,0 +1,19 @@
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.
See below fro detailed changes.
## [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))

View File

@ -11,6 +11,9 @@
%% --------------------------------------------------------------------------- %% ---------------------------------------------------------------------------
%% Copyright 2024 Johan Larsson and contributors %% Copyright 2024 Johan Larsson and contributors
%% --------------------------------------------------------------------------- %% ---------------------------------------------------------------------------
\PassOptionsToPackage{unicode,pdfusetitle}{hyperref}
\PassOptionsToPackage{hyphens}{xurl}
\PassOptionsToPackage{dvipsnames}{xcolor}
\documentclass{ltxdoc} \documentclass{ltxdoc}
@ -18,7 +21,10 @@
\usepackage{setspace} \usepackage{setspace}
\usepackage{xspace} \usepackage{xspace}
\usepackage{xurl} \usepackage{xurl}
\onehalfspacing
\usepackage{lmodern}
\usepackage{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
\usepackage{enumitem} \usepackage{enumitem}
\setlist[itemize]{noitemsep} \setlist[itemize]{noitemsep}
@ -35,8 +41,8 @@
\lstset{% \lstset{%
language=[LaTeX]{TeX}, language=[LaTeX]{TeX},
basicstyle=\ttfamily, basicstyle=\ttfamily,
keywordstyle=\color{mLightBrown}\bfseries, keywordstyle=\color{MidnightBlue}\bfseries,
commentstyle=\color{mLightGreen}, commentstyle=\color{Periwinkle},
stringstyle=\color{mLightGreen}, stringstyle=\color{mLightGreen},
backgroundcolor=\color{mBackground}, backgroundcolor=\color{mBackground},
numbers=none, numbers=none,
@ -58,22 +64,27 @@
xrightmargin=0em, xrightmargin=0em,
aboveskip=1em, aboveskip=1em,
belowskip=1em, belowskip=1em,
morekeywords={usetheme,institute,maketitle,% morekeywords={
plain,setbeamercolor,molochset,setsansfont,setmonofont}, usetheme,
institute,
maketitle,
@moloch@titleformat,
%plain,
setbeamercolor,
molochset,
setsansfont,
setmonofont
},
} }
\lstMakeShortInline| \lstMakeShortInline|
\usepackage{metalogo} \usepackage{metalogo}
\usepackage[colorlinks=true, \usepackage[colorlinks=true,linkcolor=MidnightBlue,urlcolor=MidnightBlue]{hyperref}
linkcolor=mLightBrown,
menucolor=mLightBrown,
pagecolor=mLightBrown,
urlcolor=mLightBrown]{hyperref}
\newcommand{\DescribeOption}[4]{ \newcommand{\DescribeOption}[4]{
\DescribeMacro{#1} \DescribeMacro{#1}
\begin{minipage}[t]{\textwidth} \begin{minipage}[t]{\textwidth}
\textit{\textbf{\textcolor{mLightGreen}{#2}}}\dotfill\,#3\par \textit{\textbf{\textcolor{JungleGreen}{#2}}}\dotfill\,#3\par
\begingroup \begingroup
\vspace{0.5em}#4\par \vspace{0.5em}#4\par
\endgroup \endgroup
@ -82,24 +93,24 @@
\newcommand{\themename}{\textsf{moloch}\xspace} \newcommand{\themename}{\textsf{moloch}\xspace}
\def\molochversion{0.3.0} % x-release-please-version \def\molochversion{1.0.1} % x-release-please-version
\usepackage{readprov} \usepackage{readprov}
% \ReadPackageInfos{beamerthememoloch}
\title{The \themename package (v\molochversion)} \title{The \themename Package (v\molochversion)}
\author{Johan Larsson \and Matthias Vogelgesang\footnote{Matthias wrote the original version of this manual for the Metropolis theme, which has since been modified by Johan Larsson.}} \author{Johan Larsson \and Matthias Vogelgesang\footnote{Matthias wrote the original version of this manual for the Metropolis theme, which has since been modified by Johan Larsson.}}
\date{\today} \date{\today}
\begin{document} \begin{document}
\maketitle \maketitle
\tableofcontents
\hypersetup{linkcolor=black}
\tableofcontents
\hypersetup{linkcolor=MidnightBlue}
\section{Introduction} \section{Introduction}
Beamer is a great way to make presentations with LaTeX, but its theme Beamer is a great way to make presentations with LaTeX, but its theme
selection is surprisingly sparse. The stock themes share an aesthetic that can selection is surprisingly sparse. The stock themes share an aesthetic that can
be a little cluttered, while the few distinctive custom themes available are be a little cluttered, while the few distinctive custom themes available are
@ -114,7 +125,7 @@ slide or to the section slides.
If you have any issues, find mistakes in the manual or want to help make If you have any issues, find mistakes in the manual or want to help make
the theme even better, please get in touch there. the theme even better, please get in touch there.
\themename is a fork of the popular Metroplis theme by Matthias Vogelgesang. \themename is a fork of the popular Metropolis theme by Matthias Vogelgesang.
The motivation for the fork was to fix some longstanding bugs in Metropolis The motivation for the fork was to fix some longstanding bugs in Metropolis
and also simplify the codebase to make it easier to maintain and less and also simplify the codebase to make it easier to maintain and less
fragile to changes in the underlying Beamer code. fragile to changes in the underlying Beamer code.
@ -166,10 +177,10 @@ The following code shows a minimal example of a Beamer presentation using
\begin{lstlisting} \begin{lstlisting}
\documentclass{beamer} \documentclass{beamer}
\usetheme{moloch} \usetheme{moloch}
\title{A minimal example} \title{A Minimal Example}
\date{\today} \date{\today}
\author{Johan Larsson} \author{Johan Larsson}
\institute{Centre for Modern Beamer Themes} \institute{Some University}
\begin{document} \begin{document}
\maketitle \maketitle
\section{First Section} \section{First Section}
@ -179,7 +190,6 @@ The following code shows a minimal example of a Beamer presentation using
\end{document} \end{document}
\end{lstlisting} \end{lstlisting}
\subsection{Dependencies} \subsection{Dependencies}
\themename depends on the |beamer| class and the following standard packages: \themename depends on the |beamer| class and the following standard packages:
@ -187,6 +197,7 @@ The following code shows a minimal example of a Beamer presentation using
\begin{itemize} \begin{itemize}
\item |tikz| \item |tikz|
\item |pgfopts| \item |pgfopts|
\item |etoolbox|
\item |calc| \item |calc|
\end{itemize} \end{itemize}
\end{multicols} \end{multicols}
@ -200,10 +211,9 @@ presentations, you can run the following command
$ pandoc -t beamer -V theme:moloch -o output.pdf input.md $ pandoc -t beamer -V theme:moloch -o output.pdf input.md
\end{lstlisting} \end{lstlisting}
\section{Customization} \section{Customization}
\subsection{Package options} \subsection{Package Options}
The theme provides a number of options, which can be set using a key=value The theme provides a number of options, which can be set using a key=value
interface. The primary way to set options is to provide a comma-separated list interface. The primary way to set options is to provide a comma-separated list
@ -224,7 +234,26 @@ The list of options is structured as shown in the following example.
A short description of the option. A short description of the option.
} }
\subsubsection{Inner theme} \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}{ \DescribeOption{sectionpage}{none, simple, progressbar}{progressbar}{
Adds a slide at the start of each section (|simple|) with an optional thin Adds a slide at the start of each section (|simple|) with an optional thin
@ -241,8 +270,16 @@ The list of options is structured as shown in the following example.
on the section structure of your presentation. on the section structure of your presentation.
} }
\DescribeOption{standoutnumbering}{none, hide, show}{none}{
This option decides whether or not to count standout pages as
frames if frame counting. Option |none| (the default) means that
the standout frames are not counted. |hide| means that they are
counted but that there won't be any footer showing a frame number.
|show| means that they are counted and that the frame number
count is shown in the same fashion as for regular frames.
}
\subsubsection{Outer theme} \subsubsection{Outer Theme}
\DescribeOption{numbering}{none, counter, fraction}{}{ \DescribeOption{numbering}{none, counter, fraction}{}{
\emph{This option is deprecated and will be removed in a future version. \emph{This option is deprecated and will be removed in a future version.
@ -258,7 +295,7 @@ The list of options is structured as shown in the following example.
(|frametitle|). (|frametitle|).
} }
\subsubsection{Color theme} \subsubsection{Color Theme}
\DescribeOption{block}{transparent, fill}{transparent}{ \DescribeOption{block}{transparent, fill}{transparent}{
Optionally adds a light grey background to block environments like |theorem| Optionally adds a light grey background to block environments like |theorem|
@ -270,6 +307,18 @@ The list of options is structured as shown in the following example.
of the reverse. 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} \subsection{Color Customization}
The included \themename color theme is used by default, but its colors can be The included \themename color theme is used by default, but its colors can be
@ -297,6 +346,8 @@ of \themename specific colors, which can also be redefined to your liking.
\setbeamercolor{progress bar in section page}{ ... } \setbeamercolor{progress bar in section page}{ ... }
\end{lstlisting} \end{lstlisting}
\subsubsection{Themes}
For low-light situations \themename it might be helpful to use the For low-light situations \themename it might be helpful to use the
|moloch-highcontrast| color theme. It is enabled like any other color theme: |moloch-highcontrast| color theme. It is enabled like any other color theme:
@ -304,10 +355,17 @@ For low-light situations \themename it might be helpful to use the
\usecolortheme{moloch-highcontrast} \usecolortheme{moloch-highcontrast}
\end{lstlisting} \end{lstlisting}
There is also a theme based on the
\href{tomorrow color theme}{https://github.com/chriskempson/tomorrow-theme},
which you can enable like this:
\begin{lstlisting}
\usecolortheme{moloch-tomorrow}
\end{lstlisting}
\subsection{Commands} \subsection{Commands}
\subsubsection{Standout frames} \subsubsection{Standout Frames}
The \themename inner theme offers a custom frame format with large, centered The \themename inner theme offers a custom frame format with large, centered
text and an inverted background---perfect for focusing attention on text and an inverted background---perfect for focusing attention on
@ -321,7 +379,19 @@ single sentence or image. To use it, add the key |standout| to the frame:
\section{Known Issues} \section{Known Issues}
\subsection{Interactions with other color themes} \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 \themename can be used along with any other Beamer color theme, such as
|crane| or |seahorse|. If you wish to do this, it is usually best to include |crane| or |seahorse|. If you wish to do this, it is usually best to include
@ -329,11 +399,11 @@ the \themename subpackages individually so the \themename color theme is
never loaded. This will prevent conflicts between the \themename color theme never loaded. This will prevent conflicts between the \themename color theme
and your preferred theme. and your preferred theme.
For example, overriding the color theme as follows may not work as expected because |\usetheme{moloch}| loads the \themename color theme, which For example, overriding the color theme as follows may not work as expected
defines a relationship between the frametitle background and the primary because |\usetheme{moloch}| loads the \themename color theme, which defines a
palette of the theme. Since |seahorse| assumes a different relationship relationship between the frametitle background and the primary palette of the
between its palettes, the result is a grey, rather than periwinkle, theme. Since |seahorse| assumes a different relationship between its palettes,
frametitle background. the result is a grey, rather than periwinkle, frametitle background.
\begin{lstlisting} \begin{lstlisting}
\usetheme{moloch} \usetheme{moloch}
@ -355,8 +425,7 @@ favourite Beamer color theme. In particular, \themename does not set a
background color for the title; this will cause issues when using color themes background color for the title; this will cause issues when using color themes
like |whale| which set a white foreground for the title. like |whale| which set a white foreground for the title.
\subsection{Notes on Second Screen}
\subsection{Notes on second screen}
If you use the \verb+[show notes on second screen]+ option built in to Beamer and If you use the \verb+[show notes on second screen]+ option built in to Beamer and
compile with \XeLaTeX, text on slides following the first section slide may compile with \XeLaTeX, text on slides following the first section slide may
@ -376,8 +445,7 @@ on each slide.
\makeatother \makeatother
\end{lstlisting} \end{lstlisting}
\subsection{Standout Frames with Labels}
\subsection{Standout frames with labels}
Because the |standout| frame option creates a group to restrict the colour Because the |standout| frame option creates a group to restrict the colour
change to a single slide, labels defined after calling |standout| will stay change to a single slide, labels defined after calling |standout| will stay
@ -409,14 +477,12 @@ solution for Org mode users, using |org-set-property|.
:END: :END:
\end{lstlisting} \end{lstlisting}
\subsection{Standout Frames with Pandoc}
\subsection{Standout frames with Pandoc} With Pandoc versions prior to 1.17.2 it was not possible to create standout frames
With Pandoc versions prior 1.17.2 it was not possible to create standout frames
because Pandoc only supported a specific list of frame attributes thus ignoring because Pandoc only supported a specific list of frame attributes thus ignoring
additional attributes such as |{.standout}|. additional attributes such as |{.standout}|.
\section{License} \section{License}
\themename is licensed under a \themename is licensed under a
@ -426,7 +492,6 @@ This means that if you change the theme and re-distribute it, you must retain
the copyright notice header and license it under the same CC-BY-SA license. the copyright notice header and license it under the same CC-BY-SA license.
This does not affect any presentations that you create with the theme. This does not affect any presentations that you create with the theme.
\section{Implementation} \section{Implementation}
\DocInput{beamerthememoloch.dtx} \DocInput{beamerthememoloch.dtx}

View File

@ -0,0 +1 @@
moloch-tomorrow.pdf

Binary file not shown.

View File

@ -0,0 +1,82 @@
\documentclass[10pt]{beamer}
\usepackage[T1]{fontenc}
\usetheme{moloch}
\usecolortheme{moloch-tomorrow}
\usepackage{lmodern}
\setbeamertemplate{page number in head/foot}[appendixframenumber]
\setbeamertemplate{section in toc}[sections numbered]
\usepackage{booktabs}
\title{Moloch}
\subtitle{A Minimal Beamer Theme}
\date{\today}
\author{The Author}
\institute{Some Institution, Some University}
\titlegraphic{\hfill\includegraphics[width=3.5cm]{moloch-logo.pdf}}
\begin{document}
\maketitle
\section{Introduction}
\begin{frame}[fragile]
\frametitle{Moloch}
This small demo shows how the
\href{https://github.com/chriskempson/tomorrow-theme}{tomorrow color theme}
for moloch looks.\bigskip
Enable the color theme by calling
\begin{verbatim}
\usecolortheme{moloch-tomorrow}\end{verbatim}
\end{frame}
\begin{frame}[fragile]
\frametitle{Tomorrow Color Theme}
The tomorrow color theme has a higher contrast than the standard moloch theme, and uses
different colors for alerts and examples.
\begin{columns}[T]
\begin{column}{0.45\textwidth}
\begin{block}{Default}
Block content.
\end{block}
\begin{alertblock}{Alert}
Block content.
\end{alertblock}
\begin{exampleblock}{Example}
Block content.
\end{exampleblock}
\end{column}
\begin{column}{0.45\textwidth}
{
\molochset{block=fill}
\begin{block}{Default}
Block content.
\end{block}
\begin{alertblock}{Alert}
Block content.
\end{alertblock}
\begin{exampleblock}{Example}
Block content.
\end{exampleblock}
}
\end{column}
\end{columns}
\end{frame}
\section{A Section Just to Showcase Progress Bar Color}
\begin{frame}[standout]
Questions?
\end{frame}
\end{document}

BIN
examples/demo/demo.pdf Normal file

Binary file not shown.

View File

@ -7,12 +7,11 @@
\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]
% \molochset{progressbar=foot}
\usepackage{booktabs} \usepackage{booktabs}
\usepackage[scale=2]{ccicons} \usepackage[scale=2]{ccicons}
\usepackage{lmodern} \usepackage[semibold,light]{FiraSans}
\usepackage{FiraMono}
\usepackage{xspace} \usepackage{xspace}
@ -21,39 +20,108 @@
\title{Moloch} \title{Moloch}
\subtitle{A Minimal Beamer Theme} \subtitle{A Minimal Beamer Theme}
\date{\today} \date{\today}
\author{Johan Larsson} \author{The Author}
\institute{The Department of Statistics, Lund University} \institute{Some Institution, Some University}
\titlegraphic{\hfill\includegraphics[width=3.5cm]{moloch-logo.pdf}} \titlegraphic{\hfill\includegraphics[width=3.5cm]{moloch-logo.pdf}}
\begin{document} \begin{document}
\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 turn was inspired by \href{https://github.com/matze/mtheme}{metropolis theme} by Matthias Vogelgesang, which in
by the \href{https://github.com/hsrmbeamertheme/hsrmbeamertheme}{hsrm theme} by Benjamin Weiss. \medskip turn was inspired by by the \href{https://github.com/hsrmbeamertheme/hsrmbeamertheme}{hsrm
theme} by Benjamin Weiss. \medskip
Enable the theme by calling Enable the theme by calling
\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{Elements}\end{verbatim} \begin{verbatim}\section{Title Formats}\end{verbatim}
\end{frame} \end{frame}
\section{Title Formats}
\begin{frame}[fragile]
\frametitle{Moloch Title Formats}
\themename supports four different title formats:
\begin{itemize}
\item \texttt{regular} (Regular)
\item \texttt{smallcaps} (\textsc{Small Caps})
\item \texttt{allsmallcaps} (\textsc{all small caps})
\item \texttt{allcaps} (ALL CAPS)
\end{itemize}
They can either be set globally for every frame or used locally just for the current frame
and onwards by using
\begin{verbatim}\molochset{titleformat frame=<option>}\end{verbatim}
\end{frame}
{
\molochset{titleformat frame=smallcaps}
\begin{frame}
\frametitle{Small Caps}
\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.
\end{alertblock}
\end{frame}
}
{
\molochset{titleformat frame=allsmallcaps}
\begin{frame}
\frametitle{All Small Caps}
This frame uses the \texttt{allsmallcaps} title format.
\begin{alertblock}{Potential Problems}
This title format also uses small caps, so you face the same problems as with the \texttt{smallcaps} title format.
\medskip
In addition, note that numbers and math will be unaffected by this setting and will match
poorly with text as a result. For that reason, we suggest you make sure titles are all
plain text if you use this option.
\medskip
Finally, observe that the height of the frame title box will be modified to account for the
decreased text height since there are no capital letters. This too means that numbers and
math will not work well.
\end{alertblock}
\end{frame}
}
{
\molochset{titleformat frame=allcaps}
\begin{frame}
\frametitle{All Caps}
This frame uses the \texttt{allcaps} title format.
\begin{alertblock}{Potential Problems}
This title format is not as problematic as the \texttt{allsmallcaps} format, but basically suffers from the same deficiencies. So please have a look at the documentation if you want to use it.
\end{alertblock}
\end{frame}
}
\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}
@ -64,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}
@ -79,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
@ -95,19 +165,21 @@
\column{0.33\textwidth} \column{0.33\textwidth}
Descriptions Descriptions
\begin{description} \begin{description}[PowerPoint]
\item[PowerPoint] Meeh. \item[Beamer] Yeeeha. \item[PowerPoint] Meeh. \item[Beamer] Yeeeha.
\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}
@ -134,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)}
@ -150,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).
@ -189,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}
@ -203,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}
@ -223,7 +343,8 @@
\end{center} \end{center}
The theme is licensed under the The theme is licensed under the
\href{http://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons Attribution-ShareAlike 4.0 International License}. \href{http://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons
Attribution-ShareAlike 4.0 International License}.
\begin{center} \begin{center}
\ccbysa \ccbysa

64
flake.lock Normal file
View File

@ -0,0 +1,64 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": [
"systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1737003892,
"narHash": "sha256-RCzJE9wKByLCXmRBp+z8LK9EgdW+K+W/DXnJS4S/NVo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ae06b9c2d83cb5c8b12d7d0e32692e93d1379713",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
"systems": "systems"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

53
flake.nix Normal file
View File

@ -0,0 +1,53 @@
{
description = "A basic flake with a shell";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.systems.url = "github:nix-systems/default";
inputs.flake-utils = {
url = "github:numtide/flake-utils";
inputs.systems.follows = "systems";
};
outputs =
{ nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
texlive = pkgs.texlive.combine {
inherit (pkgs.texlive)
scheme-basic
l3build
beamer
biblatex
enumitem
fileinfo
hypdoc
hyperref
listings
metalogo
parskip
pgf
pgfopts
setspace
xurl
microtype
;
};
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
];
# shellHook = ''
# export TEXMF="${texlive}/"
# '';
};
}
);
}

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

@ -2,12 +2,13 @@
"packages": { "packages": {
".": { ".": {
"release-type": "go", "release-type": "go",
"bump-minor-pre-major": true,
"extra-files": [ "extra-files": [
"src/beamercolorthememoloch.dtx", "src/beamercolorthememoloch.dtx",
"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

@ -0,0 +1,50 @@
% \iffalse meta-comment -------------------------------------------------------
% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
% contributors can be found at
%
% https://github.com/matze/mtheme/graphs/contributors
%
% and the original template was based on the HSRM theme by Benjamin Weiss.
%
% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
% International License (https://creativecommons.org/licenses/by-sa/4.0/).
%% ---------------------------------------------------------------------------
%% Copyright 2025 Johan Larsson and contributors
% ------------------------------------------------------------------------- \fi
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthememoloch-highcontrast}[2025-04-01 v1.0.1 Moloch high-contrast color theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
% \StopEventually{}
% \iffalse
%<*package>
% ------------------------------------------------------------------------- \fi
%
\usecolortheme{moloch}
\definecolor{mAlert}{HTML}{AD003D}
\definecolor{mExample}{HTML}{005580}
\setbeamercolor{normal text}{%
fg=black,
bg=white
}
\setbeamercolor{alerted text}{%
fg=mAlert,
}
\setbeamercolor{example text}{%
fg=mExample,
}
%
% \begin{macrocode}
\mode<all>
% \end{macrocode}
%
% \iffalse
%</package>
% \fi
% \Finale
\endinput

View File

@ -0,0 +1,51 @@
% \iffalse meta-comment -------------------------------------------------------
% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
% contributors can be found at
%
% https://github.com/matze/mtheme/graphs/contributors
%
% and the original template was based on the HSRM theme by Benjamin Weiss.
%
% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
% International License (https://creativecommons.org/licenses/by-sa/4.0/).
%% ---------------------------------------------------------------------------
%% Copyright 2024 Johan Larsson and contributors
% ------------------------------------------------------------------------- \fi
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthememoloch-tomorrow}[2025-04-01 v1.0.1 Moloch tomorrow color theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
% \StopEventually{}
% \iffalse
%<*package>
% ------------------------------------------------------------------------- \fi
%
\usecolortheme{moloch}
\definecolor{tomorrowForeground}{HTML}{1d1f21}
\definecolor{tomorrowBackground}{RGB}{255,255,255}
\definecolor{tomorrowHeader}{HTML}{1d1f21}
\definecolor{tomorrowAlert}{HTML}{cc6666}
\definecolor{tomorrowExample}{HTML}{4271ae}
\definecolor{tomorrowProgress}{HTML}{8959a8}
\setbeamercolor{normal text}{fg=tomorrowForeground,bg=tomorrowBackground}
\setbeamercolor{moloch accent}{fg=tomorrowAccent}
\setbeamercolor{frametitle}{bg=tomorrowHeader}
\setbeamercolor{alerted text}{fg=tomorrowAlert}
\setbeamercolor{example text}{fg=tomorrowExample}
\setbeamercolor{progress bar}{fg=tomorrowProgress}
%
% \begin{macrocode}
\mode<all>
% \end{macrocode}
%
% \iffalse
%</package>
% \fi
% \Finale
\endinput

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthememoloch}[2024-03-06 v0.3.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}
@ -23,11 +23,11 @@
%<*package> %<*package>
% ------------------------------------------------------------------------- \fi % ------------------------------------------------------------------------- \fi
% %
% \subsection{\themename color theme} % \subsection{\themename Color Theme}
% %
% %
% %
% \subsubsection{Package dependencies} % \subsubsection{Package Dependencies}
% \begin{macrocode} % \begin{macrocode}
\RequirePackage{pgfopts} \RequirePackage{pgfopts}
% \end{macrocode} % \end{macrocode}
@ -75,7 +75,7 @@
% %
% %
% %
% \subsubsection{Base colors} % \subsubsection{Base Colors}
% %
% \begin{macrocode} % \begin{macrocode}
\definecolor{mDarkBrown}{HTML}{604c38} \definecolor{mDarkBrown}{HTML}{604c38}
@ -86,7 +86,7 @@
% %
% %
% %
% \subsubsection{Base styles} % \subsubsection{Base Styles}
% %
% All colors in \themename are derived from the definitions of |normal text|, % All colors in \themename are derived from the definitions of |normal text|,
% |alerted text|, and |example text|. % |alerted text|, and |example text|.
@ -115,7 +115,7 @@
% %
% %
% %
% \subsubsection{Derived colors} % \subsubsection{Derived Colors}
% %
% The titles and structural elements (e.g. |itemize| bullets) are set in the % The titles and structural elements (e.g. |itemize| bullets) are set in the
% same color as |normal text|. This would ideally done by setting |normal text| % same color as |normal text|. This would ideally done by setting |normal text|
@ -127,8 +127,11 @@
\setbeamercolor{titlelike}{use=normal text, parent=normal text} \setbeamercolor{titlelike}{use=normal text, parent=normal text}
\setbeamercolor{author}{use=normal text, parent=normal text} \setbeamercolor{author}{use=normal text, parent=normal text}
\setbeamercolor{date}{use=normal text, parent=normal text} \setbeamercolor{date}{use=normal text, parent=normal text}
\setbeamercolor{institute}{use=normal text, fg=normal text.fg!80!normal text.bg} \setbeamercolor{institute}{%
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
@ -191,6 +194,7 @@
bg=normal text.bg!80!fg bg=normal text.bg!80!fg
} }
\setbeamercolor{block body}{% \setbeamercolor{block body}{%
use=block title,
bg=block title.bg!50!normal text.bg bg=block title.bg!50!normal text.bg
} }
\setbeamercolor{block title alerted}{% \setbeamercolor{block title alerted}{%
@ -223,14 +227,6 @@
\setbeamercolor{footnote mark}{fg=.} \setbeamercolor{footnote mark}{fg=.}
% \end{macrocode} % \end{macrocode}
% %
%
% Footnotes
%
% \begin{macrocode}
\setbeamercolor{footnote}{fg=normal text.fg!90}
\setbeamercolor{footnote mark}{fg=.}
% \end{macrocode}
%
% We also reset the bibliography colors in order to pick up the surrounding % We also reset the bibliography colors in order to pick up the surrounding
% colors at the time of use. This prevents us having to set the correct color in % colors at the time of use. This prevents us having to set the correct color in
% normal and standout mode. % normal and standout mode.
@ -244,7 +240,7 @@
% %
% %
% %
% \subsubsection{Process package options} % \subsubsection{Process Package Options}
% %
% \begin{macrocode} % \begin{macrocode}
\moloch@color@setdefaults \moloch@color@setdefaults

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerfontthememoloch}[2024-03-06 v0.3.0 Moloch font 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}
@ -27,9 +27,12 @@
% %
% A |beamer| font theme sets the style of the font used in the document. % A |beamer| font theme sets the style of the font used in the document.
% %
%
%
% \subsubsection{Package dependencies} % \subsubsection{Package dependencies}
% %
% \begin{macrocode} % \begin{macrocode}
\RequirePackage{etoolbox}
\RequirePackage{pgfopts} \RequirePackage{pgfopts}
% \end{macrocode} % \end{macrocode}
% %
@ -51,6 +54,188 @@
\setbeamerfont{standout}{size=\Large, series=\bfseries} \setbeamerfont{standout}{size=\Large, series=\bfseries}
% \end{macrocode} % \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@titleformat\@empty%
\setbeamerfont{title}{shape=\normalfont}%
},
smallcaps/.code={%
\let\moloch@titleformat\@empty%
\setbeamerfont{title}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\moloch@titleformat\lowercase%
\setbeamerfont{title}{shape=\scshape}%
\PackageNote{beamerthememoloch}{%
Be aware that titleformat title=allsmallcaps can
lead to problems}
},
allcaps/.code={%
\let\moloch@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@subtitleformat\@empty%
\setbeamerfont{subtitle}{shape=\normalfont}%
},
smallcaps/.code={%
\let\moloch@subtitleformat\@empty%
\setbeamerfont{subtitle}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\moloch@subtitleformat\MakeLowercase%
\setbeamerfont{subtitle}{shape=\scshape}%
\PackageNote{beamerthememoloch}{%
Be aware that titleformat subtitle=allsmallcaps
can lead to problems}
},
allcaps/.code={%
\let\moloch@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@sectiontitleformat\@empty%
\setbeamerfont{section title}{shape=\normalfont}%
},
smallcaps/.code={%
\let\moloch@sectiontitleformat\@empty%
\setbeamerfont{section title}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\moloch@sectiontitleformat\MakeLowercase%
\setbeamerfont{section title}{shape=\scshape}%
\PackageNote{beamerthememoloch}{%
Be aware that titleformat section=allsmallcaps
can lead to problems}
},
allcaps/.code={%
\let\moloch@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@frametitleformat\@empty%
\setbeamerfont{frametitle}{shape=\normalfont}%
},
smallcaps/.code={%
\let\moloch@frametitleformat\@empty%
\setbeamerfont{frametitle}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\moloch@frametitleformat\MakeLowercase%
\setbeamerfont{frametitle}{shape=\scshape}%
\PackageNote{beamerthememoloch}{%
Be aware that titleformat frame=allsmallcaps
can lead to problems}
},
allcaps/.code={%
\let\moloch@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@font@setdefaults}
% Sets default values for font theme options.
% \begin{macrocode}
\newcommand{\moloch@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@titleformat#1{#1}
\def\moloch@subtitleformat#1{#1}
\def\moloch@sectiontitleformat#1{#1}
\def\moloch@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@font@setdefaults
\ProcessPgfPackageOptions{/moloch/font}
% \end{macrocode}
% \iffalse % \iffalse
%</package> %</package>
% \fi % \fi

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerinnerthememoloch}[2024-03-06 v0.3.0 Moloch inner 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}
@ -23,7 +23,7 @@
%<*package> %<*package>
% ------------------------------------------------------------------------- \fi % ------------------------------------------------------------------------- \fi
% %
% \subsection{\themename inner theme} % \subsection{\themename Inner Theme}
% %
% A |beamer| inner theme dictates the style of the frame elements traditionally % A |beamer| inner theme dictates the style of the frame elements traditionally
% set in the ``body'' of each slide. These include: % set in the ``body'' of each slide. These include:
@ -38,7 +38,7 @@
% %
% %
% %
% \subsubsection{Package dependencies} % \subsubsection{Package Dependencies}
% %
% \begin{macrocode} % \begin{macrocode}
\RequirePackage{keyval} \RequirePackage{keyval}
@ -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}
% %
@ -89,13 +98,66 @@
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
% \begin{macro}{standoutnumbering}
% Whether or not to number standout pages. Option |none| means that
% standout pages are not numbered (do not count as frames). |hide| means
% that they do count as frames, but that the footer with the number is
% not shown. Option |show| means that they both count as frames and
% that the footer with a frame count is shown.
% \begin{macrocode}
\providebool{moloch@enableStandoutFooter}
\providebool{moloch@enableStandoutNumbering}
\pgfkeys{
/moloch/inner/standoutnumbering/.cd,
.is choice,
none/.code={
\boolfalse{moloch@enableStandoutNumbering}
\boolfalse{moloch@enableStandoutFooter}
},
show/.code={
\booltrue{moloch@enableStandoutNumbering}
\booltrue{moloch@enableStandoutFooter}
},
hide/.code={
\booltrue{moloch@enableStandoutNumbering}
\boolfalse{moloch@enableStandoutFooter}
}
}
% \end{macrocode}
% \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}
\newcommand{\moloch@inner@setdefaults}{ \newcommand{\moloch@inner@setdefaults}{
\pgfkeys{/moloch/inner/.cd, \pgfkeys{/moloch/inner/.cd,
sectionpage=progressbar, sectionpage=progressbar,
subsectionpage=none subsectionpage=none,
standoutnumbering=none,
titleseparator linewidth=0.4pt,
} }
} }
% \end{macrocode} % \end{macrocode}
@ -103,7 +165,7 @@
% %
% %
% %
% \subsubsection{Title page} % \subsubsection{Title Page}
% %
% \begin{macro}{title page} % \begin{macro}{title page}
% Template for the title page. Each element is only typset if it is defined % Template for the title page. Each element is only typset if it is defined
@ -111,9 +173,9 @@
% space on the title slide. % space on the title slide.
% \begin{macrocode} % \begin{macrocode}
\setbeamertemplate{title page}{ \setbeamertemplate{title page}{
\begin{minipage}[b][\paperheight]{\textwidth}
\null% \null%
\vfill% \vspace{0pt plus 1.618fil}%
\vfil%
\ifx\inserttitlegraphic\@empty\else\usebeamertemplate*{title graphic}\fi \ifx\inserttitlegraphic\@empty\else\usebeamertemplate*{title graphic}\fi
\ifx\inserttitle\@empty\else\usebeamertemplate*{title}\fi \ifx\inserttitle\@empty\else\usebeamertemplate*{title}\fi
\ifx\insertsubtitle\@empty\else\usebeamertemplate*{subtitle}\fi \ifx\insertsubtitle\@empty\else\usebeamertemplate*{subtitle}\fi
@ -123,17 +185,16 @@
} }
\ifx\insertinstitute\@empty\else\usebeamertemplate*{institute}\fi \ifx\insertinstitute\@empty\else\usebeamertemplate*{institute}\fi
\ifx\insertdate\@empty\else\usebeamertemplate*{date}\fi \ifx\insertdate\@empty\else\usebeamertemplate*{date}\fi
\vfill \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}
@ -146,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}
@ -173,9 +243,8 @@
% \begin{macrocode} % \begin{macrocode}
\setbeamertemplate{title}{ \setbeamertemplate{title}{
\raggedright% \raggedright%
\inserttitle% \moloch@titleformat{\inserttitle}%
\par% \par%
\vspace*{0.2em}
} }
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
@ -184,24 +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.3em}
\raggedright% \raggedright%
\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%
\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%
@ -245,9 +313,9 @@
% \end{macro} % \end{macro}
% %
% %
% \subsubsection{Section page} % \subsubsection{Section Page}
% %
% \begin{macro}{section page} % \begin{macro}{section Page}
% %
% Template for the section title slide at the beginning of each section. % Template for the section title slide at the beginning of each section.
% %
@ -256,13 +324,15 @@
\begin{center} \begin{center}
\usebeamercolor[fg]{section title} \usebeamercolor[fg]{section title}
\usebeamerfont{section title} \usebeamerfont{section title}
\insertsectionhead\par \moloch@sectiontitleformat{\insertsectionhead}\par
\ifx\insertsubsectionhead\@empty\else \usebeamercolor[fg]{subsection title}%
\usebeamercolor[fg]{subsection title} \usebeamerfont{subsection title}%
\usebeamerfont{subsection title} \strut%
\insertsubsectionhead \ifx\insertsubsectionhead\@empty\else%
\insertsubsectionhead%
\fi \fi
\end{center} \end{center}
\vspace{\baselineskip - 1ex + \moloch@titleseparator@linewidth}
} }
\defbeamertemplate{section page}{progressbar}{ \defbeamertemplate{section page}{progressbar}{
\centering \centering
@ -270,17 +340,17 @@
\raggedright \raggedright
\usebeamercolor[fg]{section title} \usebeamercolor[fg]{section title}
\usebeamerfont{section title} \usebeamerfont{section title}
\insertsectionhead\\[-1ex] \moloch@sectiontitleformat{\insertsectionhead}\\[-0.5\baselineskip]
\usebeamertemplate*{progress bar in section page} \usebeamertemplate*{progress bar in section page}
\par \par
\ifx\insertsubsectionhead\@empty\else%
\usebeamercolor[fg]{subsection title}% \usebeamercolor[fg]{subsection title}%
\usebeamerfont{subsection title}% \usebeamerfont{subsection title}%
\insertsubsectionhead \strut%
\ifx\insertsubsectionhead\@empty\else%
\insertsubsectionhead%
\fi \fi
\end{minipage} \end{minipage}
\par \par
\vspace{\baselineskip}
} }
\newcommand{\moloch@disablesectionpage}{ \newcommand{\moloch@disablesectionpage}{
\AtBeginSection{ \AtBeginSection{
@ -332,15 +402,13 @@
% |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%
\fill[bg] \fill[bg]
(0,0) (0,0)
rectangle rectangle
@ -348,13 +416,15 @@
\fill[fg] \fill[fg]
(0,0) (0,0)
rectangle rectangle
(\moloch@progressonsectionpage, \moloch@progressonsectionpage@linewidth); (\moloch@progressonsectionpage,
\end{tikzpicture} \moloch@progressonsectionpage@linewidth);
\tikzexternalenable \useasboundingbox (0,0) rectangle (\textwidth,-\moloch@progressonsectionpage@linewidth);
\end{tikzpicture}%
\tikzexternalenable%
} }
% \end{macrocode} % \end{macrocode}
% %
% The above code assumes that |\insertframenumber| is less than or equal to % The code above assumes that |\insertframenumber| is less than or equal to
% |\inserttotalframenumber|. However, this is not true on the first compile; % |\inserttotalframenumber|. However, this is not true on the first compile;
% in the absence of an |.aux| file, |\inserttotalframenumber| defaults to 1. % in the absence of an |.aux| file, |\inserttotalframenumber| defaults to 1.
% This behaviour could cause fatal errors for long presentations, as % This behaviour could cause fatal errors for long presentations, as
@ -369,12 +439,15 @@
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
% \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}
@ -384,17 +457,15 @@
% \subsubsection{Footnotes} % \subsubsection{Footnotes}
% \begin{macrocode} % \begin{macrocode}
\setbeamertemplate{footnote}{% \setbeamertemplate{footnote}{%
\parindent 0em\noindent% \parindent 0em\noindent\raggedright \usebeamercolor{footnote}\hbox to
\raggedright 0.8em{\hfil\insertfootnotemark}\insertfootnotetext%%%
\usebeamercolor{footnote}% \par%
\hbox to 0.8em{\hfil\insertfootnotemark}%
\insertfootnotetext\par%
} }
% \end{macrocode} % \end{macrocode}
% %
% %
% %
% \subsubsection{Text and spacing settings} % \subsubsection{Text and Spacing Settings}
% %
% %
% By default, Beamer frames offer the |c| option to \textit{almost} vertically % By default, Beamer frames offer the |c| option to \textit{almost} vertically
@ -406,8 +477,8 @@
% %
% \begin{macrocode} % \begin{macrocode}
\define@key{beamerframe}{c}[true]{% centered \define@key{beamerframe}{c}[true]{% centered
\beamer@frametopskip=0pt plus 1fill\relax% \beamer@frametopskip=0pt plus 1fil\relax%
\beamer@framebottomskip=0pt plus 1fill\relax% \beamer@framebottomskip=0pt plus 1fil\relax%
\beamer@frametopskipautobreak=0pt plus .4\paperheight\relax% \beamer@frametopskipautobreak=0pt plus .4\paperheight\relax%
\beamer@framebottomskipautobreak=0pt plus .6\paperheight\relax% \beamer@framebottomskipautobreak=0pt plus .6\paperheight\relax%
\def\beamer@initfirstlineunskip{}% \def\beamer@initfirstlineunskip{}%
@ -416,7 +487,7 @@
% %
% %
% %
% \subsubsection{Standout frames} % \subsubsection{Standout Frames}
% %
% \themename offers a custom frame format with large, centered text and an % \themename offers a custom frame format with large, centered text and an
% inverted background. To use it, add the key |standout| to the frame: % inverted background. To use it, add the key |standout| to the frame:
@ -436,7 +507,8 @@
\booltrue{moloch@standout} \booltrue{moloch@standout}
\begingroup \begingroup
\setkeys{beamerframe}{c} \setkeys{beamerframe}{c}
\setkeys{beamerframe}{noframenumbering} \ifbool{moloch@enableStandoutNumbering}{}{%
\setkeys{beamerframe}{noframenumbering}}
\ifbeamercolorempty[bg]{palette primary}{ \ifbeamercolorempty[bg]{palette primary}{
\setbeamercolor{background canvas}{ \setbeamercolor{background canvas}{
use=palette primary, use=palette primary,
@ -452,6 +524,11 @@
fg=palette primary.fg fg=palette primary.fg
} }
\usebeamercolor[fg]{palette primary} \usebeamercolor[fg]{palette primary}
\setbeamercolor{page number in head/foot}{
use=palette primary,
fg=palette primary.fg
}
\ifbool{moloch@enableStandoutFooter}{}{\setbeamertemplate{footline}{}}
} }
% \end{macrocode} % \end{macrocode}
% %
@ -485,7 +562,7 @@
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
% \subsubsection{Process package options} % \subsubsection{Process Package Options}
% %
% \begin{macrocode} % \begin{macrocode}
\moloch@inner@setdefaults \moloch@inner@setdefaults

View File

@ -14,7 +14,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerouterthememoloch}[2024-03-06 v0.3.0 Moloch outer 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}
@ -160,26 +184,48 @@
% Templates for the frame title, which is optionally underlined with a % Templates for the frame title, which is optionally underlined with a
% progress bar. % progress bar.
% \begin{macrocode} % \begin{macrocode}
\newlength{\moloch@frametitle@padding}
\setlength{\moloch@frametitle@padding}{2.2ex}
\newcommand{\moloch@frametitlestrut@start}{%
\rule{0pt}{\moloch@frametitle@padding +%
\totalheightof{%
\ifcsdef{moloch@frametitleformat}{\moloch@frametitleformat X}{X}%
}%
}%
}
\newcommand{\moloch@frametitlestrut@end}{%
\vphantom{%
\rule[-\moloch@frametitle@padding]{0pt}{\moloch@frametitle@padding}%
}
}
\defbeamertemplate{frametitle}{plain}{% \defbeamertemplate{frametitle}{plain}{%
\nointerlineskip% \nointerlineskip%
\begin{beamercolorbox}[% \begin{beamercolorbox}[%
wd=\paperwidth,% wd=\paperwidth,%
sep=1.1ex,% leftskip=1.6ex,%
leftskip=0.5ex,% rightskip=\the\glueexpr 1.6ex plus 1fil\relax,%
rightskip=\the\glueexpr 0.5ex plus 1fill\relax,%
]{frametitle}% ]{frametitle}%
\usebeamerfont{frametitle}% \usebeamerfont{frametitle}%
\vbox{}\vskip-0.4ex% \moloch@frametitlestrut@start%
\strut\insertframetitle\nolinebreak\strut\par% \moloch@frametitleformat{\insertframetitle}%
{% {%
\ifx\insertframesubtitle\@empty% \ifx\insertframesubtitle\@empty%
\else% \else%
{\usebeamerfont{framesubtitle}\vspace{-0.8ex}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\strut\par}% {%
\par%
\usebeamerfont{framesubtitle}%
\vspace{-0.8ex}%
\usebeamercolor[fg]{framesubtitle}%
\insertframesubtitle%
}%
\fi \fi
}% }%
\moloch@frametitlestrut@end%
\end{beamercolorbox}% \end{beamercolorbox}%
} }
\setbeamertemplate{frametitle continuation}{\romannumeral\insertcontinuationcount} \setbeamertemplate{frametitle continuation}{%
\romannumeral\insertcontinuationcount}
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
@ -188,17 +234,15 @@
% 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}{%
\paperwidth * min(1,\insertframenumber/\inserttotalframenumber)% \paperwidth * min(1,\insertframenumber/\inserttotalframenumber)%
} }%
\begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot} \begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
\tikzexternaldisable \tikzexternaldisable%
\begin{tikzpicture} \begin{tikzpicture}
\mmzUnmemoizable%
\fill[bg] \fill[bg]
(0,0) (0,0)
rectangle rectangle
@ -208,7 +252,7 @@
rectangle rectangle
(\moloch@progressinheadfoot, \moloch@progressinheadfoot@linewidth); (\moloch@progressinheadfoot, \moloch@progressinheadfoot@linewidth);
\end{tikzpicture} \end{tikzpicture}
\tikzexternalenable \tikzexternalenable%
\end{beamercolorbox} \end{beamercolorbox}
} }
% \end{macrocode} % \end{macrocode}

View File

@ -12,7 +12,7 @@
% \iffalse % \iffalse
%<*package> %<*package>
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthememoloch}[2024-03-06 v0.3.0 Moloch Beamer 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}
@ -21,7 +21,7 @@
%<*package> %<*package>
% ------------------------------------------------------------------------- \fi % ------------------------------------------------------------------------- \fi
% %
% \subsection{\themename parent theme} % \subsection{\themename Parent Theme}
% %
% The primary job of this package is to load the component sub-packages of the % The primary job of this package is to load the component sub-packages of the
% \themename theme and route the theme options accordingly. It also % \themename theme and route the theme options accordingly. It also
@ -29,7 +29,7 @@
% %
% %
% %
% \subsubsection{Package dependencies} % \subsubsection{Package Dependencies}
% %
% \begin{macrocode} % \begin{macrocode}
\RequirePackage{pgfopts} \RequirePackage{pgfopts}
@ -52,17 +52,59 @@
} }
% \end{macrocode} % \end{macrocode}
% %
% To avoid generating externalized figures of the progressbar we have to disable % \begin{macro}{titleformat plain}
% them with ``tikzexternalenable'' and ``tikzexternaldisable''. However, if the % Controls the formatting of the text on standout ``plain'' frames.
% ``external'' libray is not loaded we would get undefined control sequence % \begin{macrocode}
% problems, hence we define them as no-ops if they are not defined yet. \pgfkeys{
/moloch/titleformat plain/.cd,
.is choice,
regular/.code={%
\let\moloch@plaintitleformat\@empty%
\setbeamerfont{standout}{shape=\normalfont}%
},
smallcaps/.code={%
\let\moloch@plaintitleformat\@empty%
\setbeamerfont{standout}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\moloch@plaintitleformat\MakeLowercase%
\setbeamerfont{standout}{shape=\scshape}%
},
allcaps/.code={%
\let\moloch@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} % \begin{macrocode}
\providecommand{\tikzexternalenable}{} \newcommand{\moloch@setdefaults}{
\providecommand{\tikzexternaldisable}{} \pgfkeys{/moloch/.cd,
titleformat plain=regular,
}
}
% \end{macrocode} % \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
% the theme. % the theme.
@ -74,7 +116,7 @@
\usefonttheme{moloch} \usefonttheme{moloch}
% \end{macrocode} % \end{macrocode}
% %
% \subsubsection{Custom commands} % \subsubsection{Custom Commands}
% %
% The parent theme defines custom commands as their proper usage may depend % The parent theme defines custom commands as their proper usage may depend
% on multiple sub-packages. % on multiple sub-packages.
@ -95,9 +137,10 @@
% %
% %
% %
% \subsubsection{Process package options} % \subsubsection{Process Package Options}
% %
% \begin{macrocode} % \begin{macrocode}
\moloch@setdefaults
\ProcessPgfOptions{/moloch} \ProcessPgfOptions{/moloch}
% \end{macrocode} % \end{macrocode}
% %

View File

@ -25,5 +25,9 @@
\generate{\file{beamerouterthememoloch.sty}{\from{beamerouterthememoloch.dtx}{package}}} \generate{\file{beamerouterthememoloch.sty}{\from{beamerouterthememoloch.dtx}{package}}}
\generate{\file{beamerfontthememoloch.sty}{\from{beamerfontthememoloch.dtx}{package}}} \generate{\file{beamerfontthememoloch.sty}{\from{beamerfontthememoloch.dtx}{package}}}
\generate{\file{beamercolorthememoloch.sty}{\from{beamercolorthememoloch.dtx}{package}}} \generate{\file{beamercolorthememoloch.sty}{\from{beamercolorthememoloch.dtx}{package}}}
\generate{\file{beamercolorthememoloch-tomorrow.sty}{%
\from{beamercolorthememoloch-tomorrow.dtx}{package}}}
\generate{\file{beamercolorthememoloch-highcontrast.sty}{%
\from{beamercolorthememoloch-highcontrast.dtx}{package}}}
\endbatchfile \endbatchfile

View File

@ -0,0 +1,4 @@
\documentclass[hyperref={draft}]{beamer}
\usetheme{moloch}
\usepackage{lmodern}
\input{sectionpages}

View File

@ -0,0 +1,45 @@
This is a generated file for the l3build validation system.
Don't change this file in any respect.
[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
]
[4
]
[5
]
[6
]
[7
]
[8
]
[9
]
[10
]
[11
]
[12
]
\tf@nav=\write...
\tf@toc=\write...
\tf@snm=\write...
(sectionpages.aux)

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

@ -0,0 +1,4 @@
\documentclass[hyperref={draft}]{beamer}
\usetheme{moloch}
\usepackage{lmodern}
\input{standoutnumbering}

View File

@ -0,0 +1,600 @@
This is a generated file for the l3build validation system.
Don't change this file in any respect.
Completed box being shipped out [1]
\vbox(200.87663+0.0)x263.47263
.\hbox(0.0+0.0)x0.0
.\hbox(0.0+0.0)x0.0
..\kern -72.26999
..\vbox(0.0+0.0)x0.0, glue set 72.26999fil
...\kern -72.26999
...\hbox(0.0+0.0)x0.0
....\hbox(0.0+0.0)x0.0, glue set 72.26999fil, shifted 72.26999
.....\kern -72.26999
.....\glue 0.0 plus 1.0fil minus 1.0fil
....\glue 0.0 plus 1.0fil minus 1.0fil
...\glue 0.0 plus 1.0fil minus 1.0fil
.\vbox(0.0+0.0)x0.0, glue set 73.27373fil
..\kern 0.0
..\kern -72.26999
..\kern -1.00374
..\hbox(0.0+0.0)x0.0, glue set 44.82098fil
...\kern 0.0
...\kern -43.81725
...\kern -1.00374
...\glue 0.0 plus 1.0fil minus 1.0fil
..\glue 0.0 plus 1.0fil minus 1.0fil
.\glue(\lineskip) 0.0
.\vbox(200.87663+0.0)x263.47263
..\glue -72.26999
..\vbox(273.14662+0.0)x307.28987, shifted -43.81725
...\vbox(0.0+0.0)x307.28987
....\glue 0.0 plus 1.0fil
....\hbox(0.0+0.0)x307.28987
.....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.....\hbox(0.0+0.0)x307.28987
......\vbox(0.0+0.0)x307.28987
.......\hbox(0.0+0.0)x-28.45274
........\glue -28.45274
........\hbox(0.0+0.0)x0.0
.........\hbox(273.14662+0.0)x364.19536, shifted 273.14662
..........\hbox(273.14662+0.0)x364.19536
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\rule(273.14662+*)x364.19536
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
........\hbox(0.0+0.0)x0.0
.........\hbox(0.0+0.0)x0.0
..........\hbox(0.0+0.0)x0.0
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
.......\glue(\baselineskip) 0.0
.......\hbox(0.0+0.0)x-56.90549
........\hbox(0.0+0.0)x0.0
.........\hbox(273.14662+0.0)x-28.45274, shifted 273.14662
..........\hbox(273.14662+0.0)x-28.45274
...........\glue -28.45274
...........\hbox(0.0+0.0)x0.0
............\vbox(273.14662+0.0)x0.0, glue set 273.14662fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\glue 0.0 plus 1.0fil minus 1.0fil
............\pdfcolorstack 0 pop
...........\vbox(273.14662+0.0)x0.0, glue set 273.14662fil
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 pop
............\pdfcolorstack 0 pop
............\glue 0.0 plus 1.0fil
........\hbox(0.0+0.0)x0.0
.........\hbox(273.14662+0.0)x335.74261, shifted 273.14662
..........\hbox(273.14662+0.0)x335.74261
...........\glue 307.28987
...........\glue 28.45274
...........\hbox(0.0+0.0)x0.0
............\vbox(273.14662+0.0)x0.0, glue set 273.14662fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\glue 0.0 plus 1.0fil minus 1.0fil
............\pdfcolorstack 0 pop
...........\vbox(273.14662+0.0)x0.0, glue set 264.14662fill
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\glue 0.0 plus 1.0fill
............\hbox(0.0+0.0)x0.0, glue set - 2.84544fil
.............\glue 0.0 plus 1.0fil minus 1.0fil
.............\pdfcolorstack 0 push {0.10294 0.16177 0.17352 rg 0.10294 0.16177 0.17352 RG}
.............\pdfcolorstack 0 pop
.............\glue 2.84544
............\glue 2.0
............\glue(\baselineskip) 5.0
............\hbox(0.0+0.0)x0.0, glue set - 2.84544fil
.............\glue 0.0 plus 1.0fil minus 1.0fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\pdfcolorstack 0 push {0.6429 0.67427 0.68054 rg 0.6429 0.67427 0.68054 RG}
.............\pdfcolorstack 0 pop
.............\pdfcolorstack 0 pop
.............\glue 2.84544
............\pdfcolorstack 0 pop
............\pdfcolorstack 0 pop
............\glue 2.0
............\glue 0.0 plus 1.0fil
........\hbox(0.0+0.0)x-56.90549
.........\glue -28.45274
.........\hbox(0.0+0.0)x0.0
..........\vbox(0.0+0.0)x0.0
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
.........\glue -28.45274
........\glue 0.0 plus 1.0fil
.......\glue(\parskip) 0.0
.......\glue(\parskip) 0.0
.......\glue(\baselineskip) 0.0
.......\hbox(0.0+0.0)x307.28987, glue set 307.28987fil
........\hbox(0.0+0.0)x0.0
........\penalty 10000
........\glue(\parfillskip) 0.0 plus 1.0fil
........\glue(\rightskip) 0.0
.....\pdfcolorstack 0 pop
...\glue 0.0
...\glue(\lineskip) 0.0
...\vbox(269.14662+0.0)x307.28987
....\pdfcolorstack 0 push {0 g 0 G}
....\write-{}
....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
....\pdfcolorstack 0 push {0.98 g 0.98 G}
....\glue(\topskip) 0.0
....\vbox(269.14662+0.0)x307.28987, glue set 124.81012fil
.....\penalty 10000
.....\vbox(0.0+0.0)x0.0
.....\penalty 10000
.....\penalty 10000
.....\penalty 10000
.....\penalty 10000
.....\glue 0.0 plus 1.0fil
.....\penalty 10000
.....\penalty 10000
.....\glue 0.0
.....\vbox(0.0+0.0)x0.0
.....\glue(\parskip) 0.0
.....\glue(\parskip) 0.0
.....\glue(\baselineskip) 7.99992
.....\hbox(10.00008+1.5264)x307.28987, glue set 111.68523fil
......\glue(\leftskip) 0.0 plus 1.0fil
......\hbox(0.0+0.0)x0.0
......\OT1/lmss/bx/n/14.4 H
......\OT1/lmss/bx/n/14.4 e
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 o
......\OT1/lmss/bx/n/14.4 ,
......\glue 5.28 plus 3.29997 minus 1.40799
......\OT1/lmss/bx/n/14.4 w
......\kern-0.44
......\OT1/lmss/bx/n/14.4 o
......\kern-0.44
......\OT1/lmss/bx/n/14.4 r
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 d
......\OT1/lmss/bx/n/14.4 !
......\penalty 10000
......\glue(\parfillskip) 0.0
......\glue(\rightskip) 0.0 plus 1.0fil
.....\glue 0.0 plus 1.0fil
....\write1{\@writefile{nav}{\protect \headcommand {\protect \slideentry {0}{0}{1}{1/1}{}{0}}}}
....\write1{\@writefile{nav}{\protect \headcommand {\protect \beamer@framepages {1}{1}}}}
....\glue 0.0 plus 1.0fil
....\glue 0.0
...\glue(\baselineskip) 4.0
...\hbox(0.0+0.0)x307.28987
....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
....\hbox(0.0+0.0)x307.28987, glue set 307.28987fil
.....\vbox(0.0+0.0)x0.0
......\hbox(0.0+0.0)x-56.90549
.......\hbox(0.0+0.0)x-56.90549
........\glue -28.45274
........\hbox(0.0+0.0)x0.0
.........\vbox(0.0+0.0)x0.0
..........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
..........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
..........\pdfcolorstack 0 pop
..........\pdfcolorstack 0 pop
........\glue -28.45274
.......\glue 0.0 plus 1.0fil
.......\glue 0.0 plus 1.0fil
......\glue(\lineskip) 0.0
......\hbox(0.0+0.0)x0.0
.....\glue 0.0 plus 1.0fil
....\pdfcolorstack 0 pop
.\kern 0.0
.\kern 0.0
Completed box being shipped out [2]
\vbox(200.87663+0.0)x263.47263
.\hbox(0.0+0.0)x0.0
..\kern -72.26999
..\vbox(0.0+0.0)x0.0, glue set 72.26999fil
...\kern -72.26999
...\hbox(0.0+0.0)x0.0
....\hbox(0.0+0.0)x0.0, glue set 72.26999fil, shifted 72.26999
.....\kern -72.26999
.....\glue 0.0 plus 1.0fil minus 1.0fil
....\glue 0.0 plus 1.0fil minus 1.0fil
...\glue 0.0 plus 1.0fil minus 1.0fil
.\vbox(0.0+0.0)x0.0, glue set 73.27373fil
..\kern 0.0
..\kern -72.26999
..\kern -1.00374
..\hbox(0.0+0.0)x0.0, glue set 44.82098fil
...\kern 0.0
...\kern -43.81725
...\kern -1.00374
...\glue 0.0 plus 1.0fil minus 1.0fil
..\glue 0.0 plus 1.0fil minus 1.0fil
.\glue(\lineskip) 0.0
.\vbox(200.87663+0.0)x263.47263
..\glue -72.26999
..\vbox(273.14662+0.0)x307.28987, shifted -43.81725
...\vbox(0.0+0.0)x307.28987
....\glue 0.0 plus 1.0fil
....\hbox(0.0+0.0)x307.28987
.....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.....\hbox(0.0+0.0)x307.28987
......\vbox(0.0+0.0)x307.28987
.......\hbox(0.0+0.0)x-28.45274
........\glue -28.45274
........\hbox(0.0+0.0)x0.0
.........\hbox(273.14662+0.0)x364.19536, shifted 273.14662
..........\hbox(273.14662+0.0)x364.19536
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\rule(273.14662+*)x364.19536
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
........\hbox(0.0+0.0)x0.0
.........\hbox(0.0+0.0)x0.0
..........\hbox(0.0+0.0)x0.0
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
.......\glue(\baselineskip) 0.0
.......\hbox(0.0+0.0)x-56.90549
........\hbox(0.0+0.0)x0.0
.........\hbox(265.20912+0.0)x-28.45274, shifted 265.20912
..........\hbox(265.20912+0.0)x-28.45274
...........\glue -28.45274
...........\hbox(0.0+0.0)x0.0
............\vbox(265.20912+0.0)x0.0, glue set 265.20912fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\glue 0.0 plus 1.0fil minus 1.0fil
............\pdfcolorstack 0 pop
...........\vbox(265.20912+0.0)x0.0, glue set 265.20912fil
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 pop
............\pdfcolorstack 0 pop
............\glue 0.0 plus 1.0fil
........\hbox(0.0+0.0)x0.0
.........\hbox(265.20912+0.0)x335.74261, shifted 265.20912
..........\hbox(265.20912+0.0)x335.74261
...........\glue 307.28987
...........\glue 28.45274
...........\hbox(0.0+0.0)x0.0
............\vbox(265.20912+0.0)x0.0, glue set 265.20912fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\glue 0.0 plus 1.0fil minus 1.0fil
............\pdfcolorstack 0 pop
...........\vbox(265.20912+0.0)x0.0, glue set 256.20912fill
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\glue 0.0 plus 1.0fill
............\hbox(0.0+0.0)x0.0, glue set - 2.84544fil
.............\glue 0.0 plus 1.0fil minus 1.0fil
.............\pdfcolorstack 0 push {0.10294 0.16177 0.17352 rg 0.10294 0.16177 0.17352 RG}
.............\pdfcolorstack 0 pop
.............\glue 2.84544
............\glue 2.0
............\glue(\baselineskip) 5.0
............\hbox(0.0+0.0)x0.0, glue set - 2.84544fil
.............\glue 0.0 plus 1.0fil minus 1.0fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\pdfcolorstack 0 push {0.6429 0.67427 0.68054 rg 0.6429 0.67427 0.68054 RG}
.............\pdfcolorstack 0 pop
.............\pdfcolorstack 0 pop
.............\glue 2.84544
............\pdfcolorstack 0 pop
............\pdfcolorstack 0 pop
............\glue 2.0
............\glue 0.0 plus 1.0fil
........\hbox(0.0+0.0)x-56.90549
.........\glue -28.45274
.........\hbox(0.0+0.0)x0.0
..........\vbox(0.0+0.0)x0.0
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
.........\glue -28.45274
........\glue 0.0 plus 1.0fil
.......\glue(\parskip) 0.0
.......\glue(\parskip) 0.0
.......\glue(\baselineskip) 0.0
.......\hbox(0.0+0.0)x307.28987, glue set 307.28987fil
........\hbox(0.0+0.0)x0.0
........\penalty 10000
........\glue(\parfillskip) 0.0 plus 1.0fil
........\glue(\rightskip) 0.0
.....\pdfcolorstack 0 pop
...\glue 0.0
...\glue(\lineskip) 0.0
...\vbox(261.20912+0.0)x307.28987
....\write-{}
....\pdfcolorstack 0 pop
....\pdfcolorstack 0 push {0.98 g 0.98 G}
....\glue(\topskip) 0.0
....\vbox(261.20912+0.0)x307.28987, glue set 120.84137fil
.....\penalty 10000
.....\vbox(0.0+0.0)x0.0
.....\penalty 10000
.....\penalty 10000
.....\penalty 10000
.....\penalty 10000
.....\glue 0.0 plus 1.0fil
.....\penalty 10000
.....\penalty 10000
.....\glue 0.0
.....\vbox(0.0+0.0)x0.0
.....\glue(\parskip) 0.0
.....\glue(\parskip) 0.0
.....\glue(\baselineskip) 7.99992
.....\hbox(10.00008+1.5264)x307.28987, glue set 111.68523fil
......\glue(\leftskip) 0.0 plus 1.0fil
......\hbox(0.0+0.0)x0.0
......\OT1/lmss/bx/n/14.4 H
......\OT1/lmss/bx/n/14.4 e
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 o
......\OT1/lmss/bx/n/14.4 ,
......\glue 5.28 plus 3.29997 minus 1.40799
......\OT1/lmss/bx/n/14.4 w
......\kern-0.44
......\OT1/lmss/bx/n/14.4 o
......\kern-0.44
......\OT1/lmss/bx/n/14.4 r
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 d
......\OT1/lmss/bx/n/14.4 !
......\penalty 10000
......\glue(\parfillskip) 0.0
......\glue(\rightskip) 0.0 plus 1.0fil
.....\glue 0.0 plus 1.0fil
....\write1{\@writefile{nav}{\protect \headcommand {\protect \slideentry {0}{0}{2}{2/2}{}{0}}}}
....\write1{\@writefile{nav}{\protect \headcommand {\protect \beamer@framepages {2}{2}}}}
....\glue 0.0 plus 1.0fil
....\glue 0.0
...\glue(\baselineskip) 4.0
...\hbox(7.9375+0.0)x307.28987
....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
....\hbox(7.9375+0.0)x307.28987
.....\vbox(7.9375+0.0)x307.28987
......\hbox(7.9375+0.0)x307.28987
.......\hbox(7.9375+0.0)x307.28987
........\glue -28.45274
........\hbox(7.9375+0.0)x364.19536
.........\vbox(7.9375+0.0)x364.19536
..........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
..........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
..........\hbox(7.9375+0.0)x364.19536
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\vbox(7.9375+0.0)x364.19536
............\hbox(3.9375+0.0)x364.19536, glue set 345.63286fill
.............\glue(\leftskip) 4.0
.............\hbox(0.0+0.0)x0.0
.............\pdfcolorstack 0 push {0.98 g 0.98 G}
.............\pdfcolorstack 0 push {0.98 g 0.98 G}
.............\pdfcolorstack 0 pop
.............\glue 0.0 plus 1.0fill
.............\pdfcolorstack 0 push {0.98 g 0.98 G}
.............\hbox(3.9375+0.0)x9.5625, glue set 6.375fil
..............\glue 0.0 plus 1.0fil minus 1.0fil
..............\OT1/lmss/m/n/6 1
.............\pdfcolorstack 0 pop
.............\penalty 10000
.............\glue(\parfillskip) 0.0 plus 1.0fil
.............\glue(\rightskip) 5.0
............\glue 4.0
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
..........\pdfcolorstack 0 pop
..........\pdfcolorstack 0 pop
........\glue -28.45274
.......\glue 0.0 plus 1.0fil
.......\glue 0.0 plus 1.0fil
......\glue(\lineskip) 0.0
......\hbox(0.0+0.0)x0.0
.....\glue 0.0 plus 1.0fil
....\pdfcolorstack 0 pop
.\kern 0.0
Completed box being shipped out [3]
\vbox(200.87663+0.0)x263.47263
.\hbox(0.0+0.0)x0.0
..\kern -72.26999
..\vbox(0.0+0.0)x0.0, glue set 72.26999fil
...\kern -72.26999
...\hbox(0.0+0.0)x0.0
....\hbox(0.0+0.0)x0.0, glue set 72.26999fil, shifted 72.26999
.....\kern -72.26999
.....\glue 0.0 plus 1.0fil minus 1.0fil
....\glue 0.0 plus 1.0fil minus 1.0fil
...\glue 0.0 plus 1.0fil minus 1.0fil
.\vbox(0.0+0.0)x0.0, glue set 73.27373fil
..\kern 0.0
..\kern -72.26999
..\kern -1.00374
..\hbox(0.0+0.0)x0.0, glue set 44.82098fil
...\kern 0.0
...\kern -43.81725
...\kern -1.00374
...\glue 0.0 plus 1.0fil minus 1.0fil
..\glue 0.0 plus 1.0fil minus 1.0fil
.\glue(\lineskip) 0.0
.\vbox(200.87663+0.0)x263.47263
..\glue -72.26999
..\vbox(273.14662+0.0)x307.28987, shifted -43.81725
...\vbox(0.0+0.0)x307.28987
....\glue 0.0 plus 1.0fil
....\hbox(0.0+0.0)x307.28987
.....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.....\hbox(0.0+0.0)x307.28987
......\vbox(0.0+0.0)x307.28987
.......\hbox(0.0+0.0)x-28.45274
........\glue -28.45274
........\hbox(0.0+0.0)x0.0
.........\hbox(273.14662+0.0)x364.19536, shifted 273.14662
..........\hbox(273.14662+0.0)x364.19536
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\rule(273.14662+*)x364.19536
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
........\hbox(0.0+0.0)x0.0
.........\hbox(0.0+0.0)x0.0
..........\hbox(0.0+0.0)x0.0
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
.......\glue(\baselineskip) 0.0
.......\hbox(0.0+0.0)x-56.90549
........\hbox(0.0+0.0)x0.0
.........\hbox(273.14662+0.0)x-28.45274, shifted 273.14662
..........\hbox(273.14662+0.0)x-28.45274
...........\glue -28.45274
...........\hbox(0.0+0.0)x0.0
............\vbox(273.14662+0.0)x0.0, glue set 273.14662fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\glue 0.0 plus 1.0fil minus 1.0fil
............\pdfcolorstack 0 pop
...........\vbox(273.14662+0.0)x0.0, glue set 273.14662fil
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 pop
............\pdfcolorstack 0 pop
............\glue 0.0 plus 1.0fil
........\hbox(0.0+0.0)x0.0
.........\hbox(273.14662+0.0)x335.74261, shifted 273.14662
..........\hbox(273.14662+0.0)x335.74261
...........\glue 307.28987
...........\glue 28.45274
...........\hbox(0.0+0.0)x0.0
............\vbox(273.14662+0.0)x0.0, glue set 273.14662fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\glue 0.0 plus 1.0fil minus 1.0fil
............\pdfcolorstack 0 pop
...........\vbox(273.14662+0.0)x0.0, glue set 264.14662fill
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
............\glue 0.0 plus 1.0fill
............\hbox(0.0+0.0)x0.0, glue set - 2.84544fil
.............\glue 0.0 plus 1.0fil minus 1.0fil
.............\pdfcolorstack 0 push {0.10294 0.16177 0.17352 rg 0.10294 0.16177 0.17352 RG}
.............\pdfcolorstack 0 pop
.............\glue 2.84544
............\glue 2.0
............\glue(\baselineskip) 5.0
............\hbox(0.0+0.0)x0.0, glue set - 2.84544fil
.............\glue 0.0 plus 1.0fil minus 1.0fil
.............\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
.............\pdfcolorstack 0 push {0.6429 0.67427 0.68054 rg 0.6429 0.67427 0.68054 RG}
.............\pdfcolorstack 0 pop
.............\pdfcolorstack 0 pop
.............\glue 2.84544
............\pdfcolorstack 0 pop
............\pdfcolorstack 0 pop
............\glue 2.0
............\glue 0.0 plus 1.0fil
........\hbox(0.0+0.0)x-56.90549
.........\glue -28.45274
.........\hbox(0.0+0.0)x0.0
..........\vbox(0.0+0.0)x0.0
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
...........\pdfcolorstack 0 pop
...........\pdfcolorstack 0 pop
.........\glue -28.45274
........\glue 0.0 plus 1.0fil
.......\glue(\parskip) 0.0
.......\glue(\parskip) 0.0
.......\glue(\baselineskip) 0.0
.......\hbox(0.0+0.0)x307.28987, glue set 307.28987fil
........\hbox(0.0+0.0)x0.0
........\penalty 10000
........\glue(\parfillskip) 0.0 plus 1.0fil
........\glue(\rightskip) 0.0
.....\pdfcolorstack 0 pop
...\glue 0.0
...\glue(\lineskip) 0.0
...\vbox(269.14662+0.0)x307.28987
....\write-{}
....\pdfcolorstack 0 pop
....\pdfcolorstack 0 push {0.98 g 0.98 G}
....\glue(\topskip) 0.0
....\vbox(269.14662+0.0)x307.28987, glue set 124.81012fil
.....\penalty 10000
.....\vbox(0.0+0.0)x0.0
.....\penalty 10000
.....\penalty 10000
.....\penalty 10000
.....\penalty 10000
.....\glue 0.0 plus 1.0fil
.....\penalty 10000
.....\penalty 10000
.....\glue 0.0
.....\vbox(0.0+0.0)x0.0
.....\glue(\parskip) 0.0
.....\glue(\parskip) 0.0
.....\glue(\baselineskip) 7.99992
.....\hbox(10.00008+1.5264)x307.28987, glue set 111.68523fil
......\glue(\leftskip) 0.0 plus 1.0fil
......\hbox(0.0+0.0)x0.0
......\OT1/lmss/bx/n/14.4 H
......\OT1/lmss/bx/n/14.4 e
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 o
......\OT1/lmss/bx/n/14.4 ,
......\glue 5.28 plus 3.29997 minus 1.40799
......\OT1/lmss/bx/n/14.4 w
......\kern-0.44
......\OT1/lmss/bx/n/14.4 o
......\kern-0.44
......\OT1/lmss/bx/n/14.4 r
......\OT1/lmss/bx/n/14.4 l
......\OT1/lmss/bx/n/14.4 d
......\OT1/lmss/bx/n/14.4 !
......\penalty 10000
......\glue(\parfillskip) 0.0
......\glue(\rightskip) 0.0 plus 1.0fil
.....\glue 0.0 plus 1.0fil
....\write1{\@writefile{nav}{\protect \headcommand {\protect \slideentry {0}{0}{3}{3/3}{}{0}}}}
....\write1{\@writefile{nav}{\protect \headcommand {\protect \beamer@framepages {3}{3}}}}
....\glue 0.0 plus 1.0fil
....\glue 0.0
...\glue(\baselineskip) 4.0
...\hbox(0.0+0.0)x307.28987
....\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
....\hbox(0.0+0.0)x307.28987, glue set 307.28987fil
.....\vbox(0.0+0.0)x0.0
......\hbox(0.0+0.0)x-56.90549
.......\hbox(0.0+0.0)x-56.90549
........\glue -28.45274
........\hbox(0.0+0.0)x0.0
.........\vbox(0.0+0.0)x0.0
..........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
..........\pdfcolorstack 0 push {0.13725 0.2157 0.23137 rg 0.13725 0.2157 0.23137 RG}
..........\pdfcolorstack 0 pop
..........\pdfcolorstack 0 pop
........\glue -28.45274
.......\glue 0.0 plus 1.0fil
.......\glue 0.0 plus 1.0fil
......\glue(\lineskip) 0.0
......\hbox(0.0+0.0)x0.0
.....\glue 0.0 plus 1.0fil
....\pdfcolorstack 0 pop
.\kern 0.0
\tf@nav=\write...
\tf@toc=\write...
\tf@snm=\write...
(standoutnumbering.aux)

View File

@ -38,15 +38,53 @@
\end{proof} \end{proof}
\end{frame} \end{frame}
\vfil\break {
\END \molochset{titleformat frame=smallcaps}
\begin{frame}{Small caps}
This frame uses the \texttt{smallcaps} title format.
\begin{block}{Block}
Some content
\end{block}
\begin{alertblock}{Alert Block}
Yet more content
\end{alertblock}
\begin{exampleblock}{Example Block}
Just to try out the different blocks
\end{exampleblock}
\end{frame}
}
{
\molochset{titleformat frame=allsmallcaps}
\begin{frame}{All small caps}
This frame uses the \texttt{allsmallcaps} title format.
\end{frame}
}
{
\molochset{titleformat frame=allcaps}
\begin{frame}{All caps}
This frame uses the \texttt{allcaps} title format.
\end{frame}
}
\begin{frame}{Lists} \begin{frame}{Lists}
\begin{columns}[T,onlytextwidth] \begin{columns}[T,onlytextwidth]
\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}
@ -105,7 +143,6 @@
\end{column} \end{column}
\end{columns} \end{columns}
\end{frame} \end{frame}
\appendix \appendix
@ -114,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,47 @@
\input regression-test
\molochset{sectionpage=progressbar}
\molochset{subsectionpage=progressbar}
\begin{document}
\maketitle
\START
\begin{frame}[c]
Sections: progressbar, subsections: progressbar
\end{frame}
\section{Section}
\subsection{Subsection}
\begin{frame}[c]
Sections: progressbar, subsections: simple
\end{frame}
\molochset{sectionpage=progressbar}
\section{Section}
\molochset{subsectionpage=simple}
\subsection{Subsection}
\molochset{subsectionpage=progressbar}
\molochset{sectionpage=progressbar}
\section{Section}
\subsection{Subsection}
\begin{frame}[c]
Sections: simple, subsections: simple
\end{frame}
\molochset{sectionpage=simple}
\molochset{subsectionpage=simple}
\section{Section}
\subsection{Subsection}
\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}

View File

@ -0,0 +1,26 @@
\input regression-test
\begin{document}
\START
\showoutput
\molochset{standoutnumbering=none}
\begin{frame}[standout]
Hello, world!
\end{frame}
\molochset{standoutnumbering=show}
\begin{frame}[standout]
Hello, world!
\end{frame}
\molochset{standoutnumbering=hide}
\begin{frame}[standout]
Hello, world!
\end{frame}
\end{document}

File diff suppressed because it is too large Load Diff