Typst?#
Pernah dengar typst? Saya akan berbagi sedikit tentang typst di artikel ini, mulai dari apa itu typst hingga ke cara menggunakannya.
What is it?#
Secara sederhana, typst adalah “typesetting system” yang berbasis “markup”.1 Typesetting, yang kalau diterjemahkan bebas ke bahasa Indonesia artinya “penataan huruf”, merupakan proses pengaturan huruf, angka, dan karakter dalam suatu naskah atau dokumen.2 Markup (atau bahasa markup) sendiri merupakan “sistem anotasi” pada dokumen digital yang memungkinkan komputer memahami struktur dokumen tersebut.3
Beberapa contoh bahasa markup antara lain:4
- HTML (Hypertext Markup Language): Digunakan untuk mengatur tampilan teks (judul, ketebalan, tautan, dst) pada web.

- XML (Extensible Markup Language): Digunakan untuk menyimpan dan memindahkan data.

- SVG (Scalable Vector Graphics): Digunakan untuk mendeskripsikan gambar vector (gambar yang dibuat dari persamaan matematis).

- Markdown: Digunakan untuk memformat teks di plain-text editor menggunakan simbol-simbol tertentu.

- LaTex: Digunakan untuk menulis paper ilmiah, artikel penelitian, dan konten matematis (biasanya dalam format PDF).

Nah, typst adalah salah satu dari contoh-contoh program berbahasa markup tersebut, tapi lebih ditujukan untuk dokumen sehingga kalau dibandingkan dengan keempat contoh di atas, typst lebih mirip dengan LaTex.
Boleh dibilang, typst adalah “adik” dari LaTex. Sebab, LaTex sudah lebih dahulu ada sejak kira-kira 42 tahun yang lalu (1984),5 sementara typst baru saja muncul sekitar 3 tahunan yang lalu (2023).
Markup Language vs Programming Language
Meskipun sama-sama merupakan bahasa komputer yang digunakan untuk men-strukturisasi, menampilkan, dan memanipulasi konten atau data, markup language dan programming language tidaklah sama.
Programming language memberikan logic yang dapat dieksekusi oleh komputer. Artinya, membuat program dengan bahasa pemrograman memungkinkan adanya “input”, “kalkulasi”, dan “penyelesaian masalah”. Sementara itu, markup language hanya membuat struktur elemen dan tampilan suatu dokumen ketika dibuka.
Typst adalah program berbasis open-source. Berikut adalah tautan repository Github-nya, berikut dengan websitenya.
Website: https://typst.app/
Its Capabilities#
Typst merupakan program yang dapat digunakan untuk:
- Menulis Buku.
- Menyusun CV (Curriculum Vitae).
- Menulis Surat.
- Membuat Invoice.
- Menulis Proposal.
- Membuat Website (in preview).
- Menyusun Standardisasi.
- Membuat Laporan.
- Menyusun Tesis.
- Membuat Presenrasi.
- Menulis Paper.
- Catatan Perkuliahan.
- Dokumen Transaksi.
Oleh karena dapat digunakan untuk tujuan yang sangat beragam, typst juga memiliki banyak kemampuan. Berikut adalah kemampuan-kemampuan typst:
- Membuat Visualisasi.
- Menulis Rumus Matematika.
- Menggambar Grafik dan Diagram.
- Membuat Table.
- Menulis Kode.
- Membuat Bibliografi.
- Membuat Slides.
Selain itu, kita juga dapat berpindah (re: mengedit) dari dokumen-dokumen seperti Word dan Google Docs, LaTex, dan Markdown ke Typst!
Keren, bukan?
Typst vs LaTex#
Berikut adalah beberapa perbedaan LaTex dan Typst:6
Sengaja dalam bahasa Inggris karena 2 alasan: (1) biar sambil belajar bahasa Inggris, (2) biar lebih ringkas jumlah katanya
| Feature | Typst | LaTex |
|---|---|---|
| First Release | 2023 | 1984 |
| Compilation Speed | Near Instant (<1s for changes) | Slow (10-90s for large docs) |
| Syntax Complexity | Much simpler, Rust-inspired | Steep learning curve |
| Error Message | Clear and actionable | Often cryptic |
| Package Ecosystem | Growing (100+ packages) | Massive (thousands of packages) |
| Journal Acceptance | Limited (PDF ok, .tex required) | Universal |
| Collaboration | Built-in on typst.app | Via Overleaf |
| Math Notation | Good with shortcuts | Comprehensive |
| AI Tool Support | Limited third-party support | Extensive (Underleaf, Writefull, etc) |
| Citation Styles | CSL (80+ built-in styles) | BibTeX (thousands of styles) |
| Cost | Free (open source) | Free (open source) |
Sebagai contoh, berikut adalah perbandingan syntax di Typst dan LaTeX:7

Jadi, mana yang lebih baik?
Jawabannya akan selalu seperti ini:
How to?#
Berikutnya, kita akan mempelajari teknis penggunaan typst, mulai dari melakukan instalasi hingga menggunakan template.
Installing Typst#
Berikut adalah cara meng-install typst di beberapa sistem operasi Linux:
| Distro | Command |
|---|---|
| Arch Linux | sudo pacman -Sy typst |
| Opensuse | sudo zypper install typst |
NixOS:
Masukkan baris berikut di file konfigurasi (/etc/nixos/configuration.nix):
environment.systemPackages = [
pkgs.typst
];Atau jika menggunakan nix-shell:
nix-shell -p typstWriting in Typst#
Menulis dengan typst berarti kita perlu mengetahui syntax-syntax yang terdapat di typst terlebih dahulu. Beruntungnya, typst sendiri sudah menyediakan daftar syntax yang tersedia di websitenya.
Typst syntax cheatsheet: https://typst.app/docs/reference/syntax/
Ketika sudah meng-install typst, kita dapat memulai membuat dokumen typst dengan perintah:
touch file.typ
typst compile file.typSetelah itu, akan muncul file file.pdf di direktori yang sama. Kita dapat mulai meng-edit file file.typ kemudian melihat hasilnya di file file.pdf. Kita juga dapat melihat perubahan secara realtime dengan menjalankan perintah:
typst watch file.typsambil membuka file pdf-nya. Nanti, begitu kita menyimpan perubahan yang ada di file file.typ, maka perubahan tersebut juga akan muncul langsung di file file.pdf yang sedang terbuka.
Berikut sebagai ilustrasi:
Sebagai pemula, cara paling mudah udah mempelajari hal baru adalah dengan melihat contoh yang sudah ada. Nah, sekarang, perhatikan konten file file.typ saya ini, dan lihat hasilnya di file.pdf yang akan saya lampirkan berikutnya. Dengan demikian, baris-baris sytanx yang ada di file typst tersebut akan terlihat masuk akal dan mudah untuk dipahami.
#set heading(numbering: "1.")
#show link: set text(fill: blue, weight: 700)
#show link: underline
= Typst Introduction
*Website* _typst_: https://typst.app
Cara instalasi _typst_ di Archlinux:
+ `sudo pacman -Sy typst`
+ `typst compile file.typ`
+ mulai tulis dengan syntax typst
Tujuan penggunaan _typst_:
- Menulis paper
- Membuat CV
- Menyusun presentasi
= Typst Advanced
== Package
Cara meng-_import_ package:
`#import "@preview/example:0.1.0": add
#add(2, 7)`
Outputnya:
#import "@preview/example:0.1.0": add
#add(2, 7)
== Math
{ let x = 1; x + 2 }
$#rect(width: 1cm)$ $arrow.r.long$ $#rect(width: 1cm)$
-------------\
*Glossary*
/ typst: markup typesetting system
/ template: created document for 'spesific purpose'
// Ini komentar.Berikut adalah file pdf-nya:
Atau, jika kalian ingin yang lebih praktis, typst juga menyediakan “playground” unttuk mencoba typst juga.
Berikut tautannya: https://typst.app/play/
Selain itu, typst juga menyediakan tutorial penggunaan typst:
- Menulis di typst: Cara menulis teks, menambahkan gambar, persamaan, dan komponen lainnya.
- Membuat format: Cara menyesuaikan format dokumen: ukuran font, heading, dan lainnya.
- Membuat layout: Cara membuat layout halaman yang lebih kompleks untuk keperluan paper ilmiah.
- Membuat template: Cara membuat template yang dapat digunakan kembali untuk keperluan yang sama.
Berikut tautannya: https://typst.app/docs/tutorial/
Playing with packages & templates#
Packages adalah kumpulan file typst yang dapat di-import sebagai unit terpisah untuk menambahkan fungsionalitas, gaya, dan juga otomatisasi di dokumen kita.8 Templates adalah bagian dari packages yang dibuat untuk tujuan template dokumen, artinya kita dapat menggunakan struktur dan layout dokumen yang sudah dibuat untuk keperluan tertentu, seperti template laporan, template paper, template CV, dan yang lainnya.
Kita akan lihat perbedaan implementasi penggunaan package dan template berikut ini.
How to use package#
Daftar package yang tersedia dapat dilihat di:
Ada banyak package yang dapat kita gunakan. Kita tidak perlu menggunakan atau meng-import semua package. Gunakanlah package-package yang relevan dan memang kita perlukan untuk membuuat dokumen yang kita ingin buat.
Saya akan mendemonstrasikan cara meng-import salah satu package, dan package pilihan saya jatuh kepada gentle-clues.
Cara meng-import-nya:
- Buka dokumen typst.
- Tambahkan baris berisi perintah import package di bagian awal dokumen.
- Tambahkan elemen dari package di dalam dokumen.

Berikut adalah parameter dalam menggunakan package ini:
#example[Your text here...]Nanti, akan di-render menjadi:

Tapi, kita juga dapat mengganti beberapa parameter seperti “heading” & “title"-nya:
#experiment[Percobaan _package_ gentle clues.]
#quote(title: "Quotes")[Doubt kills more dreams than failure ever will.]Output-nya:

How to use template#
Daftar package yang tersedia dapat dilihat di:
Seperti juga package, ada banyak template yang dapat kita gunakan. Kita tidak perlu menggunakan atau meng-import semua template. Gunakanlah template yang relevan dan memang kita perlukan untuk membuuat dokumen yang kita ingin buat.
Saya akan mendemonstrasikan cara menggunakan salah satu template, dan template pilihan saya jatuh kepada brillian-cv.

Cara menggunakannya:
- Inisialisasi dan unduh templatenya.
- Edit file metadata.toml untuk men-setting persoal detail kita.
- Compile file
.typke.pdf.

Notes:
- Beberapa template mungkin saja menggunakan font yang tidak ter-install di komputer kita. Oleh karena itu, kita perlu mengunduhnya terlebih dahulu agar tampila font-nya tampak lebih sesuai.
- Untuk template
brilliant-cvini, file konfigurasi utamanya adalah metadata.toml, sebab, di sanalah kita menuliskan konten cv tersebut. Akan tetapi, beberapa pengaturan juga perlu dilakukan di file yang lain, seperticv.typ. Contohnya, kita perlu meng-edit filecv.typuntuk mengganti foto profil.
Demikian tutorial singkat mengenai typst kali ini!
Semoga bermanfaat!

