Draft:Typst#cite ref-1

{{AFC submission|d|nn|u=Quachpas|ns=118|decliner=Mwwv|declinets=20250210233137|ts=20250113092858}}

{{AFC submission|d|nn|u=Quachpas|ns=118|decliner=WeirdNAnnoyed|declinets=20241226220039|small=yes|ts=20241213123605}}

{{AFC submission|d|npov|u=Quachpas|ns=118|decliner=Ktkvtsh|declinets=20241206201626|reason2=nn|small=yes|ts=20241206144103}}

{{AFC submission|d|nn|u=UltraBatata|ns=118|decliner=Theroadislong|declinets=20240427152932|small=yes|ts=20240427152400}}

{{AFC submission|d|v|u=2001:6B0:1:1041:9A4:9B95:451E:2F1|ns=118|decliner=Nearlyevil665|declinets=20240328162050|reason2=nn|small=yes|ts=20240328160954}}

{{AFC comment|1=Better (secondary) sourcing is needed to establish notability of this software application. All sources cited are either tied to the subject, UGC (blogs, GitHub), or primary (theses), or some combination of the above. WeirdNAnnoyed (talk) 22:00, 26 December 2024 (UTC)}}

----

{{Short description|Open-source typesetting system.}}

{{AfC topic|product}}

{{Draft topics|internet-culture|software|computing|technology}}

{{Infobox software

| name = Typst

| logo =

| logo caption =

| logo size =

| screenshot =

| caption =

| author = Martin Haug, Laurenz Mädje

| developer =

| released = {{Start date and age|2023|03|21}}

| ver layout = simple

| latest release version = v0.12.0

| latest release date = {{start date and age|2024|10|18}}

| latest preview version =

| latest preview date =

| repo = https://github.com/typst/typst

| programming language = Rust

| platform =

| size =

| genre = Typesetting

| license = Apache-2.0

| website = {{URL|https://typst.app//}}

}}

Typst ({{IPA|en|taɪpst}}) is an open-source typesetting system written in Rust. It is developed by Typst GmbH,{{Cite web |title=Typst: Legal information |url=https://typst.app/legal/ |access-date=2024-12-02 |website=Typst |language=en}} which maintains and supports the software's development. The Typst compiler is free software and is distributed under the Apache License 2.0 license.{{Cite web |title=typst/LICENSE at main · typst/typst |url=https://github.com/typst/typst/blob/main/LICENSE |access-date=2024-12-13 |website=GitHub |language=en}}

Typst is a markup language, similar to Markdown, "designed to be as powerful as LaTeX while being much easier to learn and use."{{Cite journal |last=Lisse |first=Eberhard W. |date=2023-07-14 |title=Introduction to Typst |url=https://tug.org/TUGboat/tb44-2/tb137abstracts.html |journal=TUGboat |language=en |volume=44 |issue=2 |pages=315–316 |doi=10.47397/tb/44-2/tb137abstracts |issn=0896-3207}} In terms of performance, "Typst compiles faster than LaTeX; compilation typically takes milliseconds rather than seconds."{{Cite journal |last=Pardue |first=David |date=November 2024 |title=Exploring Typst: A LaTeX Alternative |url=https://pclosmag.com/html/Issues/202411/page08.html |journal=The PCLinuxOS Magazine |issue=214 |pages=8}} Its compiler is incremental through constrained memoization.{{Citation |title=typst/comemo |date=2024-11-28 |url=https://github.com/typst/comemo/ |access-date=2024-12-02 |publisher=Typst}}

Typst supports community-provided packages and templates. [https://typst.app/universe/ Typst Universe] is a community-driven repository akin to CTAN.

Typst has native document export for PDF, PNG and SVG formats. In version 0.12.0, support for PDF/A-2b compliance was added.{{Cite web |title=Release Version 0.12.0 (October 18, 2024) · typst/typst |url=https://github.com/typst/typst/releases/tag/v0.12.0 |access-date=2024-12-02 |website=GitHub |language=en}}

Typst documents are written in a text editor and compiled to produce output files such as PDFs. Alternatively, Typst GmbH provides an online editor{{Cite web |title=Typst: Compose papers faster |url=https://typst.app/ |access-date=2024-12-02 |website=Typst |language=en}}. A language server has been written for Typst.{{Citation |last=Myriad-Dreamin |title=Myriad-Dreamin/tinymist |date=2024-12-09 |url=https://github.com/Myriad-Dreamin/tinymist |access-date=2024-12-09}} Typst has also been integrated into other softwares, notably Quarto (software),{{Cite web |last=Wickham |first=Charlotte |date=2024-01-24 |title=Quarto 1.4 |url=https://quarto.org/docs/blog/posts/2024-01-24-1.4-release/ |access-date=2024-12-02 |website=Quarto |language=en}} and Pandoc.{{Cite web |last=MacFarlane |first=John |date=2023-03-23 |title=Release pandoc 3.1.2 · jgm/pandoc |url=https://github.com/jgm/pandoc/releases/tag/3.1.2 |access-date=2024-12-02 |website=GitHub |language=en}}

Zerodha adopted Typst for generating transactions records citing its ease of use and performance, transitioning from LuaLaTeX.{{Cite web |last1=Chandra |first1=Sarat |last2=Sharma |first2=Karan |date=2024-02-14 |title=1.5+ million PDFs in 25 minutes |url=https://zerodha.tech/blog/1-5-million-pdfs-in-25-minutes/ |access-date=2024-12-02 |website=Zerodha Tech Blog}}

History

Typst was originally created in 2022 by Laurenz Mädje and Martin Haug for their master thesis at Technische Universität Berlin.{{cite thesis |last1=Haug |first1=Martin |title=Fast Typesetting with Incremental Compilation |date=June 2022 |url=https://www.researchgate.net/publication/364622490 |doi=10.13140/RG.2.2.15606.88642}}{{cite thesis |last1=Mädje |first1=Laurenz |title=Typst A Programmable Markup Language for Typesetting |access-date=2024-04-27 |url=https://www.user.tu-berlin.de/laurmaedje/programmable-markup-language-for-typesetting.pdf |archive-url=https://web.archive.org/web/20230116175218/https://www.user.tu-berlin.de/laurmaedje/programmable-markup-language-for-typesetting.pdf |archive-date=2023-01-16 |url-status=bot: unknown}}

Example

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

class="wikitable"

! Input (Source code)

! Output

---

| style="background-color: #fff;" |

  1. set page(paper: "a4")
  2. set text(lang: "de")
  3. set par(justify: true)

= Fibonacci-Folge

Die Fibonacci-Folge ist die unendliche Folge natürlicher Zahlen, die mit zweimal der Zahl 1 beginnt und bei der jede weitere Zahl die Summe der beiden ihr vorangehenden Zahlen ist. @wikipedia

// Comments are introduced by a double backslash

$ F_n = floor(1 / sqrt(5) phi.alt^n), quad

phi.alt = (1 + sqrt(5)) / 2 $

  1. let count = 14
  2. let nums = range(1, count + 1)
  3. let fib(n) = (

if n <= 2 { 1 }

else { fib(n - 1) + fib(n - 2) }

)

Die ersten #count Zahlen der Folge sind:

  1. align(center, table(

columns: count,

..nums.map(n => $F_#n$),

..nums.map(n => str(fib(n))),

))

_Das Beispiel wurde von der Webseite GNU/Linux.ch übernommen._ @gnulinux

  1. bibliography("quellen.bib")

| style="background-color: #fff;" valign="top"|File:Typst Codebeispiel.svg

References

{{reflist}}