Software:Typst

From HandWiki
Typst
File:100px
File:250px
Original author(s)Martin Haug, Laurenz Mädje[1]
Developer(s)Typst GmbH
Initial releaseMarch 21, 2023; 3 years ago (2023-03-21)
Repositorygithub.com/typst/typst
Written inRust
PlatformCross-platform
TypeTypesetting
LicenseApache-2.0
Websitetypst.app

Typst (en)[3] is an open-source typesetting system and corresponding markup language.[4][5] The Typst compiler is free software and is distributed under the Apache License 2.0 license.[4][6][7][8]

The system is designed for writing and formatting scientific texts and mathematical formulas. Typst supports simple formatting for common formatting applications, customizable functions, an integrated scripting language, and mathematical typesetting. It is designed to be an alternative to LaTeX.[4][9][10]

The compiler is developed by Typst GmbH,[11] which maintains and supports the software's development, and operates a proprietary[12] collaborative cloud-based editor, offering both free and paid services[10] in a manner similar to Overleaf, which allows users to preview their work while writing and includes a collaboration feature.[13]

History

Typst has been developed since 2019[4] and was first published in 2022 by Laurenz Mädje and Martin Haug for their masters theses at Technische Universität Berlin.[14][15] In March 2023, the Typst compiler was released as open-source, and the beta version of its web app was simultaneously announced.[16] As of 2025, the web app is out of beta. According to GitHub, Typst was the second fastest-growing programming language by percentage in 2025.[17]

Typesetting system

Typst is a markup language, similar to Markdown, "designed to be as powerful as LaTeX while being much easier to learn and use."[9] Its compiler is incremental and function calls are memoized for quick update of the document preview.[10][4]

Typst has three modes, for markup, math, and code. By default, the user is in markup mode, which is used primarily for prose. Math mode is applied to text enclosed between dollar signs ($) and is designed for writing mathematical formulas.[10][4] Typst's native scripting language is executed in code mode and marked with a hash symbol (#) in front of the command or block.[18] Markup mode uses dedicated syntax for common formatting elements such as headings (=), emphasis (__), strong emphasis (**), and lists (+, -, /), while markup lacking dedicated syntax can be accessed by calling functions through code mode.[4]

Unlike LaTeX, there are no minimum requirements for the structure of a document. A preamble is not needed, and document properties need not be set if not modified from their defaults. Furthermore, many features which need external packages in LaTeX (such as bibliography support) are implemented natively in Typst.[10] Typst supports community-provided packages and templates, however compared with LaTeX, Typst has relatively fewer specialized packages available.[4]

As of April 2026, Ijimai and JUTI are the only journals that accept manuscripts written in Typst.[12][19][20]

Compatibility and converters

Typst has native document export for PDF, PNG and SVG formats, with PDF/A[4] and PDF/UA-1 output available.[21]

Typst documents are written in plain text and compiled to produce output files (such as PDFs). A language server has been developed for Typst that can be installed for supported text editors (such as VS Code and Neovim) providing live previews, error information, and enabling users to compile documents directly within the editor,[13][22] akin to the official web interface. Typst has also been integrated into other software, notably Quarto,[23] and is supported as an input and output format in Pandoc.[4][24]

Zerodha adopted Typst for generating transactions records citing its ease of use and performance, transitioning from LuaLaTeX.[25] Scientists working on SciPy conference proceedings adopted Typst for PDF generation.[26]

Example

The example below shows the input to Typst and the corresponding output from the system:

Input (Source code) Output
#set page(paper: "a4")
#set text(lang: "en")
#set par(justify: true)
// Comments are introduced by a double slash

= Fibonacci-Sequence
// '=' starts a heading

In mathematics, the Fibonacci sequence is a sequence in which each element is the sum of the two elements that precede it.
@wikipedia-fibonacci // '@' references figures, sections or sources found in the bibliography

The Fibonacci sequence is defined through the recurrence relation $F_n = F_(n-1) + F_(n-2)$. It can also be expressed in _closed form:_ // '_' emphasizes the enclosed text

$
  F_n = floor(1 / sqrt(5) phi.alt^n), quad phi.alt = (1 + sqrt(5)) / 2
$
//'$' parses the enclosed text as math formulas

#let count = 14
#let nums = range(1, count + 1)
#let fib(n) = (
  if n <= 2 { 1 }
  else { fib(n - 1) + fib(n - 2) }
)
// '#' switches to 'code mode' and 'let' defines variables such as 'count' and functions such as 'fib(n)'

The first #count numbers of the infinite sequence are:

#align(center,
  table(
    columns: count,
    ..nums.map(n => $F_#n$),
    ..nums.map(n => str(fib(n))),
  )
)

#bibliography(bytes(```yaml
wikipedia-fibonacci:
  type: article
  title: Fibonacci Sequence
  url:
    value: https://en.wikipedia.org/wiki/Fibonacci_sequence
    date: 2026-02-16
```.text))
// A bibliography may also be created from Hayagriva (a YAML-based format developed for Typst) or BibLaTeX files on disk

// Code mode can further be used to embed variables in content, create graphics such as tables, embed information from other files, or set rules
Compiled output of the code example

References

  1. "Typst: About us". https://typst.app/about/. 
  2. "Media Types". IANA. 2026-04-09. https://www.iana.org/assignments/media-types/media-types.xhtml. 
  3. "Brand". https://typst.app/legal/brand/. 
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 Phillips, Lee (2025-09-17). "Typst: a possible LaTeX replacement" (in en). https://lwn.net/Articles/1037577/. Retrieved 2025-11-01. 
  5. Corbi, Alberto (April–June 2024). "Manuscritos digitales en Física" (in Spanish). Revista Española de Física (Madrid: Real Sociedad Española de Física) 38 (2). ISSN 0213-862X. https://revistadefisica.es/index.php/ref/article/view/3000. Retrieved 2025-11-08. 
  6. Basu, Saikat (2026-02-14). "I stopped wasting time on formatting in Word once I found this app" (in en). https://www.makeuseof.com/typst-vs-word-better-document-formatting/. 
  7. Werner, John. "How To Scale NotebookLM" (in en). Forbes. https://www.forbes.com/sites/johnwerner/2026/01/09/how-to-scale-notebooklm/. 
  8. Voynov, Andrey; Corbi, Alberto; López-Olive, Pau; Gil, David (2026-02-18). "Typst: A Modern Typesetting Engine for Science". International Journal of Interactive Multimedia and Artificial Intelligence. doi:10.9781/ijimai.2026.2269. ISSN 1989-1660. https://www.ijimai.org/index.php/ijimai/article/view/2269. 
  9. 9.0 9.1 Lisse, Eberhard W. (2023-07-14). "Introduction to Typst" (in en). TUGboat 44 (2): 315–316. doi:10.47397/tb/44-2/tb137abstracts. ISSN 0896-3207. https://tug.org/TUGboat/tb44-2/tb137abstracts.html. 
  10. 10.0 10.1 10.2 10.3 10.4 Pardue, David (November 2024). "Exploring Typst: A LaTeX Alternative". The PCLinuxOS Magazine (214): 8. https://pclosmag.com/html/Issues/202411/page08.html. 
  11. "Typst: Legal information" (in en). https://typst.app/legal/. 
  12. 12.0 12.1 Phillips, Lee (2025-06-04). "The importance of free software to science" (in en). https://lwn.net/Articles/1023299/. Retrieved 2025-11-02. 
  13. 13.0 13.1 Barth, Gregor (2024-10-13). "Typst – Ein Next-Gen-Textsatzsystem?" (in de). https://www.teuderun.de/typst/. Retrieved 2025-06-21. 
  14. Haug, Martin (June 2022). Fast Typesetting with Incremental Compilation (Thesis). doi:10.13140/RG.2.2.15606.88642.
  15. Mädje, Laurenz. Typst A Programmable Markup Language for Typesetting (PDF) (Thesis). Archived from the original (PDF) on 2023-01-16. Retrieved 2024-04-27.
  16. "Typst starts its public beta test and goes open source" (in en). 2023-03-21. https://typst.app/blog/2023/beta-oss-launch. 
  17. "Octoverse: A new developer joins GitHub every second as AI leads TypeScript to #1". GitHub. 2025-10-28. https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/#the-fastest-growing-languages-by-percentage-growth. 
  18. Hersel, Ralf (2023-03-22). "Typst ist einfacher als LaTeX" (in de). Verein GNU/Linux.ch. https://gnulinux.ch/typst-ist-einfacher-als-latex. Retrieved 2025-06-21. 
  19. "Author guidelines". 2025-10-09. https://www.ijimai.org/index.php/ijimai/Author_guidelines. 
  20. "Submissions | JUTI: Jurnal Ilmiah Teknologi Informasi". https://juti.if.its.ac.id/index.php/juti/about/submissions. 
  21. "Typst 0.14: Now accessible". https://typst.app/blog/2025/typst-0.14/. 
  22. Myriad-Dreamin (2024-12-09), Myriad-Dreamin/tinymist, https://github.com/Myriad-Dreamin/tinymist, retrieved 2024-12-09 
  23. Wickham, Charlotte (2024-01-24). "Quarto 1.4" (in en). https://quarto.org/docs/blog/posts/2024-01-24-1.4-release/. 
  24. MacFarlane, John (2023-03-23). "Release pandoc 3.1.2 · jgm/pandoc" (in en). https://github.com/jgm/pandoc/releases/tag/3.1.2. 
  25. Chandra, Sarat; Sharma, Karan (2024-02-14). "1.5+ million PDFs in 25 minutes". https://zerodha.tech/blog/1-5-million-pdfs-in-25-minutes/. 
  26. Cockett, Rowan; Koch, Franklin; Purves, Steve (2025-07-10). "SciPy Proceedings: An Exemplar for Publishing Computational Open Science". 24th Python in Science Conference. doi:10.25080/frwc3537. https://proceedings.scipy.org/articles/frwc3537.