Menjaga kualitas dan mendiagnosis masalah: chktex & lacheck sebagai static analysis LaTeX, membaca error log secara efektif dari atas ke bawah, menangani overfull hbox, serta memakai SyncTeX untuk sinkronisasi .tex ↔ .pdf langsung dari editor.

Setelah di episode 18 kita mengotomatiskan build, pada episode ini kita membahas dua keterampilan yang menyelamatkan waktu di dunia nyata: lint (pemeriksaan otomatis) dan debugging (membaca log & menemukan masalah). Dokumen LaTeX jarang langsung sempurna — yang membuat kalian profesional adalah cara menangani error dengan efisien.
Kita akan memakai chktex dan lacheck untuk menangkap masalah sebelum kompilasi, belajar membaca .log dengan strategi yang benar, menangani peringatan overfull, serta memanfaatkan SyncTeX agar bisa melompat langsung dari baris PDF ke baris source.
chktex adalah pemeriksa statis LaTeX yang menangkap pelanggaran konvensi tipografi tanpa mengompilasi:
chktex main.texBeberapa hal yang dideteksi chktex:
" alih-alih ...'' ``).%, &).Contoh output:
Warning 1 in main.tex line 5: Should perhaps use ``...'' instead of "..."
Warning 3 in main.tex line 8: You should use \dots instead of ...Aturan bisa diaktifkan/dinonaktifkan dengan flag -n <nomor>:
chktex -n 1 -n 2 main.texmematikan aturan 1 dan 2 (misal aturan tanda kutip yang terlalu ketat untuk bahasa tertentu).
lacheck adalah pemeriksa ringan klasik untuk gaya makro LaTeX:
lacheck main.texlacheck mendeteksi masalah seperti penggunaan \\ yang berlebihan, environment yang tidak seimbang, dan konstruksi makro yang mencurigakan. Ia lebih ringan dari chktex, cocok sebagai lapisan cepat sebelum build.
Saat kompilasi gagal, .log adalah sumber kebenaran. Strategi efektif:
! LaTeX Error: File 'x.sty' not found.Berarti package x tidak terinstall — perbaiki dengan tlmgr install x (Tek Live) atau MiKTeX auto-install (detail episode 26).
Contoh lain:
l.20 \section{Pendahuluan
}notasi l.20 menunjuk baris 20. Dengan -file-line-error, error tampil sebagai main.tex:20: ... — mudah di-crawl editor.
Tip
Jangan panik melihat banyak error. LaTeX sering menghasilkan rantai error dari satu akar masalah. Perbaiki yang pertama saja, lalu kompilasi ulang — beberapa masalah sekunder biasanya ikut hilang.
Salah satu peringatan paling umum:
Overfull \hbox (12.5pt too wide)Artinya sebuah baris/box melebihi lebar yang diizinkan — biasanya karena kata panjang, URL tanpa spasi, atau tabel terlalu lebar. Ini peringatan, bukan error fatal, tetapi bisa membuat teks menjorok ke margin.
Solusi umum:
\usepackage{url} % untuk URL yang bisa dipecah
% atau untuk paragraf tertentu:
\sloppy
% atau, hindari justify di area itu:
\raggedright\sloppy melonggarkan aturan word-spacing agar baris lebih mudah dipecah; \raggedright membuat teks rata kiri (tidak justify) sehingga kata panjang tidak menonjol. Di Overleaf, overfull ditandai kotak merah di preview.
SyncTeX menghubungkan baris source .tex dengan posisi di .pdf, memungkinkan melompat bolak-balik dari editor:
.tex yang sesuai.Aktifkan dengan -synctex=1 saat kompilasi. Dengan latexmkrc dari episode 18, -synctex=1 sudah disetel:
lualatex -synctex=1 -interaction=nonstopmode -file-line-error main.texFile .synctex.gz yang dihasilkan dipakai editor (VS Code LaTeX Workshop, TeXstudio, Emacs AucTeX) untuk sinkronisasi. Ini membuat debugging langsung — lihat masalah di PDF, klik ke source, perbaiki.
Note
SyncTeX sangat membantu saat dokumen panjang (episode 12). Setelah menemukan typos di PDF hasil review, kalian langsung klik menuju baris source — bukan mencari manual di file berisi ratusan baris.
.log.chktex/lacheck sebelum kompilasi untuk menangkap masalah sejak awal.Pada episode 19 ini, kalian telah menguasai lint & debugging.
Inti yang harus dibawa pulang:
chktex menangkap pelanggaran tipografi (kutip, spasi, escape); lacheck untuk gaya makro — keduanya bisa jadi gate CI..log dari atas ke bawah, selesaikan error pertama dulu.\hbox = peringatan lebar baris; tangani dengan url, \sloppy, \raggedright.-synctex=1) untuk sinkronisasi .tex ↔ .pdf.Di episode 20 selanjutnya, kita akan membahas tipografi, spacing & page layout — geometry untuk margin, setspace untuk double/single spacing, vspace/hspace & parskip, hyphenation, kontrol float, serta microtype untuk kerning profesional. Sampai jumpa di episode 20!