Memilih engine LaTeX: pdfLaTeX klasik 8-bit, XeLaTeX Unicode, dan LuaLaTeX modern, memakai font sistem dengan fontspec, mengaktifkan bahasa Indonesia dengan babel/polyglossia, serta rekomendasi 2026 untuk beralih ke LuaLaTeX.

Setelah di episode 12 kita menangani dokumen panjang, pada episode ini kita membahas aspek yang sangat menentukan di era konten multibahasa dan Unicode modern: pilihan engine dan dukungan bahasa/font.
LaTeX tidak hanya punya satu "compiler" — ada beberapa engine yang membaca .tex dan menghasilkan PDF, dengan kemampuan berbeda. Memahami perbedaannya (terutama untuk bahasa Indonesia dengan karakter-karakter tertentu) penting karena pilihan engine menentukan package dan font yang bisa dipakai.
Dulu LaTeX hanya mengenal karakter 8-bit (ASCII). Saat dunia pindah ke Unicode, muncul kebutuhan engine yang memahami karakter modern dan font OpenType/TrueType. Tiga engine utama:
| Engine | Karakter | Font Sistem | Scripting | Status 2026 |
|---|---|---|---|---|
| pdfLaTeX | 8-bit (perlu inputenc+T1) | Hanya TeX font | Tidak | Legacy/klasik |
| XeLaTeX | Unicode penuh | Ya (fontspec) | Terbatas | Best-effort |
| LuaLaTeX | Unicode penuh | Ya (fontspec) | Lua (\directlua) | Paling modern |
Engine default dan paling kompatibel dengan package lama. Untuk teks non-ASCII (mis. karakter Latin dengan aksen), perlu inputenc + fontenc T1:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}Bayangkan inputenc sebagai "penerjemah" input UTF-8 ke font 8-bit. Ia bekerja, tetapi tidak fleksibel untuk Unicode penuh (mis. emoji, aksara non-Latin).
Memahami Unicode secara native dan bisa memuat font sistem lewat paket fontspec. Cocok bila perlu font OpenType/TrueType tanpa konversi.
Paling canggih: Unicode penuh + scripting Lua. \directlua{...} memungkinkan menjalankan kode Lua di dalam dokumen. Ini yang paling siap untuk proyek tagged PDF dan MathML (episode 21).
Kedua engine Unicode memakai fontspec untuk memuat font sistem:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes} % font serif utama
\setsansfont{TeX Gyre Heros} % font sans
\setmonofont{Source Code Pro} % font monospace
\begin{document}
Dokumen dengan font sistem modern.
\end{document}fontspec hanya berfungsi di XeLaTeX/LuaLaTeX — ia error jika dipakai di pdfLaTeX. Ini alasan pemilihan engine sangat menentukan jenis font.
Tip
fontspec bisa memilih font berdasarkan nama (seperti yang terdaftar di sistem) maupun file tertentu. Untuk dokumen yang harus portabel (mis. di-over ke Overleaf), pastikan font tersedia di sana juga atau pakai font yang memang disertakan distribusi TeX seperti TeX Gyre.
Untuk penomoran, tanggal, pemenggalan kata (hyphenation), dan istilah otomatis dalam bahasa Indonesia, gunakan babel:
Dengan pdfLaTeX:
\documentclass{article}
\usepackage[bahasa]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}Dengan Xe/LuaLaTeX:
\documentclass{article}
\usepackage{fontspec}
\usepackage[bahasa]{babel}Alternatif untuk Unicode: polyglossia:
\usepackage{polyglossia}
\setdefaultlanguage{bahasa}babel[bahasa] mengaktifkan aturan bahasa Indonesia — termasuk pemenggalan kata otomatis ("ke-lom-pok") yang penting untuk merapikan teks justified. Di Xe/LuaLaTeX, kalian tidak perlu inputenc — kaidah bahasa ditangani langsung.
Berdasarkan tren kernel LaTeX dan proyek tagged PDF:
babel[bahasa] untuk pemenggalan kata bahasa Indonesia.lualatex:lualatex dokumen.tex
latexmk -pdf -pdflatex="lualatex %O %S" dokumen.texWarning
Perhatikan bahwa beberapa package lama belum mendukung mandiri LuaLaTeX/XeLaTeX (misal yang bergantung pada encoding 8-bit). Saat beralih engine, uji compile bersih. Error seperti "\directlua undefined" atau font tidak ditemukan biasanya menandakan package/engine mismatch — detail di episode 26.
Pada episode 13 ini, kalian telah memahami engine dan font di LaTeX.
Inti yang harus dibawa pulang:
inputenc/T1); XeLaTeX = Unicode + font sistem; LuaLaTeX = modern (Unicode + Lua).fontspec (\setmainfont/\setsansfont/\setmonofont) untuk font sistem — khusus Xe/LuaLaTeX.babel[bahasa] / polyglossia untuk bahasa Indonesia & pemenggalan kata.Di episode 14 selanjutnya, kita akan membahas TikZ & graphics — bahasa gambar vektor TikZ untuk diagram/flowchart, PGFPlots untuk plot ilmiah, menyisipkan gambar dengan graphicx, subfigures, serta otomasi pembuatan diagram dari luar. Sampai jumpa di episode 14!