mktypst
just a couple of dumb typst templates so i stop rewriting the same document setup every fucking time.
$ mktypst rapport
$ typst watch rapport.typ
templates
paper is a two-column academic article; letter is a french formal letter. both are french by default (lang: "fr"), so you get guillemets, the spacing before ; : ! ?, Résumé, Tableau, all of it — pass lang: "en" for english.
you apply one with a #show rule at the top of the document and start writing:
#import "@local/hachem:0.1.0": paper
#show: paper.with(
title: "Les Origines de YHWH",
date: "mars 2026",
authors: ((name: "Hachem H.", location: [Paris, France]),),
abstract: [Un paragraphe.],
)
= Introduction
Du texte.
the letter works the same way. there are full examples in samples/, and make samples compiles them.
usage
$ mktypst --help
mktypst 0.1.0 - dumb typst document generator
generates a typst document that imports and applies an mktypst
template, so you can start writing instead of pasting a preamble.
usage: mktypst [-t template] [-T title] [-a author] [-d date] [-f] <name>
mktypst [-v | -h]
options:
-t, --template NAME template to apply (default paper)
-T, --title TITLE document title (default: the name)
-a, --author NAME author name (default: git config user.name)
-d, --date DATE document date (default: current month)
-f, --force overwrite an existing file
--stdout write to stdout instead of a .typ file
-v, --version print version and bail
-h, --help print this and bail
by hachem <im@hachem.wtf>
$ mktypst rapport # paper, the default
$ mktypst -t letter -T "candidature" x # a letter instead
$ mktypst --stdout note # print it, don't write a file
install
$ git clone https://git.hachem.wtf/mktypst && cd mktypst
$ sudo make install # mktypst -> /usr/local/bin, templates -> @local/hachem
$ make install PREFIX=~/.local # or without sudo
you need a c compiler for the binary, and typst (plus the eb garamond font) to build documents. the templates install into typst's local package dir, so any file can #import "@local/hachem:0.1.0". in the typst app, link that folder as the namespace local and it works there too.
license
mktypst is licensed under the mit license. see license for more.
