A Typst template for SIAM paper submissions
About the name
typst-simple-siam
is the name of the GitHub repo,simple-siam
is the name of the Typst template- The Typst template name does not contain
typst
, because it is redundant1 - The Typst template name is not just
siam
, because it is not an official template, thus the name must start with a non-descriptive part1
- Fill out
README.md
- Change the
my-package
package name, including code snippets - Check section contents and/or delete sections that don't apply
- Change the
- Check and/or replace
LICENSE
by something that suits your needs - Fill out
typst.toml
- See also the typst/packages README
- Adapt Repository URLs in
CHANGELOG.md
- Consider only committing that file with your first release, or removing the "Initial Release" part in the beginning
- Adapt or deactivate the release workflow in
.github/workflows/release.yml
-
to deactivate it, delete that file or remove/comment out lines 2-4 (
on:
and following) -
to use the workflow
- check the values under
env:
, particularlyREGISTRY_REPO
- if you don't have one, create a fine-grained personal access token with only Contents permission for the
REGISTRY_REPO
- on this repo, create a secret
REGISTRY_TOKEN
(athttps://github.com/[user]/[repo]/settings/secrets/actions
) that contains the so created token
if configured correctly, whenever you create a tag
v...
, your package will be pushed onto a branch on theREGISTRY_REPO
, from which you can then create a pull request against typst/packages - check the values under
-
- remove/replace the example test case
- (add your actual code, docs and tests)
- remove this section from the README
Important
This template is not published yet, you cannot access it from @preview/
, but you can download src/lib.typ
and use it in your project.
From the CLI:
typst init @preview/simple-siam
From the Typst web app:
#import "@preview/simple-siam:0.1.0": conf
#show: doc => conf(
title: [A Typst template for SIAM paper submissions],
authors: [Sébastien Mestrallet],
abstract: [See #link("https://github.com/sebmestrallet/typst-simple-siam")],
doc,
)
= First section
#lorem(50)
Based on third-party Typst packages, this template allows to insert formatted theorem/proof/definition/lemma environments, as well as algorithms:
#import "lib.typ": conf, theorem, definition, lemma, thmrules, proof, pseudocode-list, algorithm
#show: thmrules
#show: doc => conf(
title: [A Typst template for SIAM paper submissions],
authors: [Sébastien Mestrallet],
abstract: [See #link("https://github.com/sebmestrallet/typst-simple-siam")],
doc,
)
= A theorem
#theorem[
Here the theorem formulation
]
= An algorithm
#algorithm(
pseudocode-list(
numbered-title: #smallcaps[(My Algorithm)],
stroke: none,
booktabs: false,
indentation: 2em
)[
- *Require:* Some input $a$
- *Require:* Some input $b$
+ Here the algorithm definition
]
)
src/lib.typ
: provide theconf(title,authors,abstract,doc)
function to format a papersrc/main.typ
: useconf()
to reproduce the outputs ofltexpprt_anonymous-submission.tex
<expprt_accepted-submission.tex
from the official templatesrc/bib.yml
: transcoding ofltexpprt_references.bib
from the official template to the Hayagriva formatsrc/siam.csl
: Citation Style Language for the bibliography, based on the IEEE one (modified<macro name="author">
to have small caps)
ctheorems
(sahasatvik/typst-theorems) for numbered theorem environments, by Satvik Saha, Rory Molinari, Michael Hutchinson and DVDTSB [MIT]lovelace
(andreasKroepelin/lovelace) for pseudocode, by Andreas Kröpelin and contributors [MIT]
They are imported with #import "@preview/{name}:{version}
in src/lib.typ
.
TeX sources of the official template:
- The SIAM two-column template referenced for the SIAM International Meshing Roundtable Workshop 2025
- The SIAM Macros on the SIAM website
- The 2019 SIAM style manual on the SIAM website
How to create and publish a Typst template package:
- The motivation and recommended interface for templates in the official tutorial
- The in-depth format requirements in the typst/packages README
- Do as the templates directly maintained by the Typst team
- Use the typst-package-template GitHub template from @typst-community
See open issues with the compliance
label