Skip to content

sebmestrallet/typst-simple-siam

Repository files navigation

The simple-siam Typst package

A Typst template for SIAM paper submissions

page 1 of an example paper based on this template page 2 of an example paper based on this template page 3 of an example paper based on this template page 4 of an example paper based on this template

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

Template adaptation checklist

  • Fill out README.md
    • Change the my-package package name, including code snippets
    • Check section contents and/or delete sections that don't apply
  • Check and/or replace LICENSE by something that suits your needs
  • Fill out typst.toml
  • 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

      if configured correctly, whenever you create a tag v..., your package will be pushed onto a branch on the REGISTRY_REPO, from which you can then create a pull request against typst/packages

  • remove/replace the example test case
  • (add your actual code, docs and tests)
  • remove this section from the README

Getting Started

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)

Theorems & algorithms

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
  ]
)

Files

  • src/lib.typ: provide the conf(title,authors,abstract,doc) function to format a paper
  • src/main.typ: use conf() to reproduce the outputs of ltexpprt_anonymous-submission.tex & ltexpprt_accepted-submission.tex from the official template
  • src/bib.yml: transcoding of ltexpprt_references.bib from the official template to the Hayagriva format
  • src/siam.csl: Citation Style Language for the bibliography, based on the IEEE one (modified <macro name="author"> to have small caps)

Dependencies

They are imported with #import "@preview/{name}:{version} in src/lib.typ.

Ressources

TeX sources of the official template:

How to create and publish a Typst template package:

Differences with the official TeX template

See open issues with the compliance label

License

MIT-0

Footnotes

  1. https://github.com/typst/packages?tab=readme-ov-file#submission-guidelines 2