The bookly
template is a Typst package designed for writing academic documents such as theses, French habilitations, or scientific books. It provides a structured format that adheres to academic standards, making it easier for authors to focus on content rather than formatting.
Basic usage
This section provides the minimal amount of information to get started with the template. For more detailed information, see the manual.
To use the bookly
template, you need to include the following line at the beginning of your typ file:
#import "@preview/bookly:0.1.0": *
Initializing the template
After importing bookly
, you have to initialize the template by a show rule with the #bookly()
command. This function takes a set of argument to customize the document.
title
: Title of the bookauthor
: Author of the bookbook-config
: The dictionary allows you to customize various aspects of the book
Example
#show: bookly.with(
author: "Author Name",
book-config: (
fonts: (
body: "Lato",
math: "Lete Sans Math"
),
theme: "modern",
lang: "en",
logo: image("path_to_image/image.png")
)
)
Main features
- Themes: “classic”, “modern”, “fancy”
- Language support: English and French
- Font customization: Body and math fonts can be customized
- Environments:
front-matter
,main-matter
,appendix
,back-matter
- Outlines:
tableofcontents
,listoffigures
,listoftables
,minitoc
- Part and chapter definition:
part
,chapter
,chapter-nonum
Note: The chapters can be also written using the Typst standard markup syntax.
Helper functions
-
Subfigures - based on the
subpar
package#subfigure( figure(image("image1.png"), caption: []), figure(image("image2.png"), caption: []), <b>, columns: (1fr, 1fr), caption: [Figure title], label: <fig:subfig>, )
-
Equations
-
Boxed equations
$ #boxeq[$p(A|B) prop p(B|A) space p(A)$] $
-
Unnumbered equations
#nonumeq[$integral_0^1 f(x) dif x = F(1) - F(0)$]
-
Subequation numbering based on the
equate
package
-
-
Information boxes
#info-box
for remarks#tip-box
for tips#important-box
for important notesproof-box
for proofsquestion-box
for questionscustom-box
for user defined boxes
-
book-title-page
for defining the title page of a book -
thesis-title-page
for defining the title page of a thesis -
back-cover
for defining the back cover of a book
For more information, please refer to the manual.
Roadmap
The template is under development. Here is the list of features that are implemented or will be in a future version.
Themes
- [x]
fancy
- [x]
modern
- [x]
classic
Layout
- [x] Standard layout
- [ ] Tufte layout
Cover pages
- [x] Title page
- [x] Back cover
Environments
- [x] Creation of the
front-matter
environment - [x] Creation of the
main-matter
environment - [x] Creation of the
appendix
environment
Parts and chapters
- [x] Creation of a document
part
- [x] Creation of a document
chapter
- [x] Creation of an unnumbered
chapter
Tables of contents
- [x] Creation of the table of contents
- [x] Creation of the list of figures
- [x] Creation of the list of tables
- [x] Creation of a mini table of contents at the beginning of chapters using the
suboutline
package - [x] Customization of entries (appearance, hyperlink) by modifying the
outline.entry
element - [x] Localization of the different tables
Figures and tables
- [x] Customization of the appearance of figure and table captions depending on the context (chapter or appendix)
- [x] Short titles for the lists of figures and tables
- [x] Creation of the
subfigure
function for subfigures via thesubpar
package
Equations
- [x] Adaptation of equation numbering depending on the context (chapter or appendix)
- [x] Creation of a function to highlight important equations
- [x] Creation of a function to define equations without numbering
- [x] Use of the
equate
package to number equations in a system like (1.1a)
Boxes
- [x] Creation of information boxes to highlight important content
Bibliography
- [x] Verification of the reference list via
bibtex
- [x] Same for
hayagriva
Licence
MIT licensed
Copyright © 2025 Mathieu AUCEJO (maucejo)