Universe

Create project in app

Unofficial template for internship reports at ENSEA, a French engineering school.

README here

Usage

Either use this template in the Typst web app:

#import "@preview/volt-internship-ensea:0.2.0": *

or use the command line to initialize a new project based on this template:

typst init @preview/volt-internship-ensea:0.2.0

Default Values

Parameter Default Value Description Mandatory
company-logo none Path to the company logo ✅
authors none Name(s) of the report author(s) ✅
student-info none Information about the student(s) ✅
title none Title of the internship report ✅
internship-details none Company name, location, duration, etc. ✅
enable-abstract true Enable the abstract ❌
enable-list-figures true Enable the list of figures ❌
enable-list-tables false Enable the list of tables ❌
enable-list-equations false Enable the list of equations ❌
enable-list-appendices false Enable the list of appendices ❌
enable-glossary false Enable the glossary ❌
enable-bibliography true Enable the bibliography ❌
enable-appendices true Enable the appendices ❌

Example

#import "@preview/glossy:0.8.0": *
#show: init-glossary.with(yaml("glossary.yaml"), term-links: true)
#import "abstract.typ": *
#import "acknowledgements.typ": *
#import "appendices.typ": *

#import "@preview/volt-internship-ensea:0.2.0": *

#show: internship.with(
  abstract: abstract(),
  acknowledgements: acknowledgements(),
  appendices: annexes(),
  references: bibliography("references.bib", full: true),

  company-logo: image("media/logo.png"),
  authors: (
    "Jean DUPONT",
  ),
  student-info: [*Élève ingénieur en X#super[ème] année* #linebreak()
    Promotion 20XX #linebreak()
    Année 20XX/20XX],
  title: [#lorem(10)],
  internship-details: [Stage effectué du *1er mars au 30 août 2025*, au sein de la société *TechSolutions*, située à Paris.

    Sous la responsabilité de : #linebreak()
    - M. *Pierre LEFEVRE*, Directeur de la Stratégie #linebreak()
    - Mme *Marie DUBOIS*, Responsable des Opérations #linebreak()
  ],
  enable-list-figures: false,
  enable-bibliography: false,
)

= Introduction
#lorem(120)



Custom fonction

named-equation()

The function named-equation(equation, label, name) associates a description and a label with an equation, allowing its name to be displayed in the list of equations.

#set math.equation(numbering: "(1)")

#outline(target: math.equation, title: "List of Equations") \

with `named-equation`:
#named-equation(
  $ P =I^2 times R $,
  <Effet-Joule>,
  [Effet Joule],
)

without `named-equation`:
$ U =R times I $

abstract-config()

The function abstract-config(language, doc) defines the border and background of the abstract based on the language parameter, which can take the values FRENCH or ENGLISH.

#abstract-config(language: "FRENCH")[
  #lorem(25)
]

#abstract-config(language: "ENGLISH")[
  #lorem(25)
]

Changelog

v0.2.0 :

  • Add the function named-equation()
  • Add a list of equations and the variable enable-list-equations
  • Add equation numbering based on chapter (e.g., 1.1, 1.2, 2.1)
  • Add bold to equation numbering and figure prefix, and also to figure prefix in the list of tables and list of figures
  • Move the abstract just after the acknowledgements
  • Fix the link in the outline that isn’t working
  • Fix appendices in outline for headings with level > 1
  • Fix groups in glossary
  • Fix heading spacing

v0.1.2 : Fix import issue
v0.1.1 : Fix import issue
v0.1.0 : Initial release

Contributions

If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.

License

The Typst template is licensed under the MIT license. This license does not apply to the ENSEA logo or associated image files, which remain the property of ENSEA.