Typst adalah sistem penyusunan huruf berbasis markup baru yang dirancang sekuat LaTeX sekaligus lebih mudah dipelajari dan digunakan. Typst memiliki:
Repositori ini berisi kompiler Typst dan CLI-nya, yang merupakan semua yang Anda perlukan untuk mengkompilasi dokumen Typst secara lokal. Untuk pengalaman menulis terbaik, pertimbangkan untuk mendaftar ke editor online kolaboratif kami secara gratis.
Pengantar lembut tentang Typst tersedia di dokumentasi kami. Namun, jika Anda ingin melihat kekuatan Typst yang dikemas dalam satu gambar, ini dia:
Mari kita membedah apa yang terjadi:
Kami menggunakan aturan yang ditetapkan untuk mengonfigurasi properti elemen seperti ukuran halaman atau penomoran judul. Dengan mengatur tinggi halaman ke auto
, skalanya disesuaikan dengan konten. Aturan yang ditetapkan mengakomodasi konfigurasi yang paling umum. Jika Anda memerlukan kontrol penuh, Anda juga dapat menggunakan aturan pertunjukan untuk sepenuhnya mendefinisikan ulang tampilan suatu elemen.
Kami menyisipkan judul dengan sintaks = Heading
. Satu tanda sama dengan membuat judul tingkat atas, dua tanda sama dengan membuat subjudul, dan seterusnya. Typst memiliki markup yang lebih ringan seperti ini, lihat referensi sintaksis untuk daftar lengkap.
Persamaan matematika diapit tanda dolar. Dengan menambahkan spasi ekstra di sekitar isi persamaan, kita dapat menempatkannya ke dalam blok terpisah. Pengidentifikasi multi-huruf ditafsirkan sebagai definisi dan fungsi Typst kecuali dimasukkan ke dalam tanda kutip. Dengan cara ini, kita tidak memerlukan garis miring terbalik untuk hal-hal seperti floor
dan sqrt
. Dan phi.alt
menerapkan pengubah alt
ke phi
untuk memilih varian simbol tertentu.
Sekarang, kita masuk ke beberapa skrip. Untuk memasukkan kode ke dalam dokumen Typst, kita dapat menulis hash diikuti dengan ekspresi. Kami mendefinisikan dua variabel dan fungsi rekursif untuk menghitung bilangan fibonacci ke-n. Kemudian, kami menampilkan hasilnya dalam tabel rata tengah. Fungsi tabel mengambil selnya baris demi baris. Oleh karena itu, pertama-tama kita meneruskan rumus $F_1$
ke $F_8$
dan kemudian bilangan fibonacci yang dihitung. Kami menerapkan operator penyebaran ( ..
) pada keduanya karena keduanya adalah array dan kami ingin meneruskan item array sebagai argumen individual.
#set page ( width : 10cm , height : auto )
#set heading ( numbering : " 1. " )
= Fibonacci sequence
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:_
$ F_n = round(1 / sqrt(5) phi.alt^n), quad
phi.alt = (1 + sqrt(5)) / 2 $
#let count = 8
#let nums = range ( 1 , count + 1 )
#let fib ( n ) = (
if n <= 2 { 1 }
else { fib ( n - 1 ) + fib ( n - 2 ) }
)
The first #count numbers of the sequence are:
#align (center, table(
columns: count,
..nums.map(n => $ F_#n $ ),
..nums.map(n => str(fib(n))),
))
CLI Typst tersedia dari berbagai sumber:
Anda bisa mendapatkan sumber dan biner bawaan untuk rilis terbaru Typst dari halaman rilis. Unduh arsip untuk platform Anda dan letakkan di direktori yang ada di PATH
Anda. Untuk tetap mendapatkan informasi terbaru tentang rilis mendatang, Anda cukup menjalankan typst update
.
Anda dapat menginstal Typst melalui manajer paket yang berbeda. Perhatikan bahwa versi di pengelola paket mungkin tertinggal dari rilis terbaru.
brew install typst
winget install --id Typst.Typst
Jika Anda telah menginstal rantai alat Rust, Anda dapat menginstalnya
cargo install --locked typst-cli
cargo install --git https://github.com/typst/typst --locked typst-cli
Pengguna Nix bisa
typst
dengan nix-shell -p typst
nix run github:typst/typst -- --version
. Pengguna Docker dapat menjalankan image bawaan dengan docker run ghcr.io/typst/typst:latest --help
.
Setelah Anda menginstal Typst, Anda dapat menggunakannya seperti ini:
# Creates `file.pdf` in working directory.
typst compile file.typ
# Creates PDF file at the desired path.
typst compile path/to/source.typ path/to/output.pdf
Anda juga dapat melihat file sumber dan mengkompilasi ulang secara otomatis jika ada perubahan. Ini lebih cepat daripada mengkompilasi dari awal setiap kali karena Typst memiliki kompilasi tambahan.
# Watches source files and recompiles on changes.
typst watch file.typ
Typst selanjutnya memungkinkan Anda menambahkan jalur font khusus untuk proyek Anda dan mencantumkan semua font yang ditemukan:
# Adds additional directories to search for fonts.
typst compile --font-path path/to/fonts file.typ
# Lists all of the discovered fonts in the system and the given directory.
typst fonts --font-path path/to/fonts
# Or via environment variable (Linux syntax).
TYPST_FONT_PATHS=path/to/fonts typst fonts
Untuk subperintah dan opsi CLI lainnya, lihat di bawah:
# Prints available subcommands and options.
typst help
# Prints detailed usage of a subcommand.
typst help watch
Jika Anda lebih menyukai pengalaman terintegrasi seperti IDE dengan pelengkapan otomatis dan pratinjau instan, Anda juga dapat melihat aplikasi web gratis Typst.
Tempat utama berkumpulnya komunitas adalah server Discord kami. Jangan ragu untuk bergabung di sana untuk mengajukan pertanyaan, membantu orang lain, berbagi hal-hal keren yang Anda buat dengan Typst, atau sekadar mengobrol.
Selain itu ada beberapa tempat di mana Anda dapat menemukan barang-barang yang dibangun oleh komunitas:
Jika Anda memiliki pengalaman buruk di komunitas kami, silakan hubungi kami.
Kami ingin sekali melihat kontribusi dari komunitas. Jika Anda mengalami bug, jangan ragu untuk membuka masalah. Jika Anda ingin menerapkan fitur baru atau perbaikan bug, ikuti langkah-langkah yang dijelaskan dalam panduan kontribusi.
Untuk membuat Typst sendiri, pertama-tama pastikan Anda telah menginstal Rust stabil terbaru. Kemudian, kloning repositori ini dan buat CLI dengan perintah berikut:
git clone https://github.com/typst/typst
cd typst
cargo build --release
Biner yang dioptimalkan akan disimpan di target/release/
.
Cara lain yang baik untuk berkontribusi adalah dengan berbagi paket dengan komunitas.
IPA: /taɪpst/. "Ty" seperti di Ty pesetting dan "pst" seperti di Hi pst er. Saat menulis tentang Typst, gunakan huruf kapital pada namanya sebagai kata benda, dengan huruf kapital "T".
Semua Typst telah dirancang dengan tiga tujuan utama: Kekuatan, kesederhanaan, dan kinerja. Kami pikir ini saatnya untuk sistem yang menandingi kekuatan LaTeX, mudah dipelajari dan digunakan, sekaligus cukup cepat untuk mewujudkan pratinjau instan. Untuk mencapai tujuan ini, kami mengikuti tiga prinsip desain inti:
Kesederhanaan melalui Konsistensi: Jika Anda tahu cara melakukan satu hal di Typst, Anda harus bisa mentransfer pengetahuan itu ke hal lain. Jika ada beberapa cara untuk melakukan hal yang sama, salah satunya harus berada pada tingkat abstraksi yang berbeda dari yang lain. Misalnya tidak apa-apa = Introduction
dan #heading[Introduction]
melakukan hal yang sama karena yang pertama hanyalah gula sintaksis untuk yang terakhir.
Kekuatan melalui Komposabilitas: Ada dua cara untuk membuat sesuatu menjadi fleksibel: Memiliki kenop untuk semuanya atau memiliki beberapa kenop yang dapat Anda gabungkan dengan berbagai cara. Typst dirancang dengan mempertimbangkan cara kedua. Kami menyediakan sistem yang dapat Anda buat dengan cara yang bahkan tidak pernah terpikirkan oleh kami. TeX juga termasuk dalam kategori kedua, tetapi levelnya agak rendah dan oleh karena itu orang-orang menggunakan LaTeX sebagai gantinya. Namun di sana, kami tidak memiliki banyak komposisi. Sebaliknya, ada paket untuk semuanya ( usepackage{knob}
).
Performa melalui Inkrementalitas: Semua fitur bahasa Typst harus mengakomodasi kompilasi inkremental. Untungnya kami memiliki comemo
, sebuah sistem untuk kompilasi tambahan yang melakukan sebagian besar kerja keras di latar belakang.