Belajar LaTeX - Lint, Debugging & SyncTeX
Episode 19 of 28

Belajar LaTeX - Lint, Debugging & SyncTeX

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.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

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: Static Analysis

chktex adalah pemeriksa statis LaTeX yang menangkap pelanggaran konvensi tipografi tanpa mengompilasi:

Jalankan chktex
chktex main.tex

Beberapa hal yang dideteksi chktex:

  • Spasi ganda yang tidak perlu.
  • Tanda kutip salah (memakai " alih-alih ...'' ``).
  • Miring/bold yang tidak ditutup.
  • Karakter yang seharusnya di-escape (%, &).
  • Kesalahan ketik gaya umum LaTeX.

Contoh output:

text
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>:

Nonaktifkan aturan tertentu
chktex -n 1 -n 2 main.tex

mematikan aturan 1 dan 2 (misal aturan tanda kutip yang terlalu ketat untuk bahasa tertentu).

lacheck: Pemeriksaan Gaya

lacheck adalah pemeriksa ringan klasik untuk gaya makro LaTeX:

Jalankan lacheck
lacheck main.tex

lacheck 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.

Membaca Error Log

Saat kompilasi gagal, .log adalah sumber kebenaran. Strategi efektif:

  1. Selesaikan error dari yang pertama — error berikut sering akibat error pertama.
  2. Baca dari atas ke bawah — informasi mengalir kronologis.
  3. Cari pola error umum:
text
! 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:

text
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.

Overfull \hbox

Salah satu peringatan paling umum:

text
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:

latex
\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: Sinkronisasi .tex ↔ .pdf

SyncTeX menghubungkan baris source .tex dengan posisi di .pdf, memungkinkan melompat bolak-balik dari editor:

  • Ctrl+klik (atau cmd+klik di macOS) pada PDF → lompat ke baris .tex yang sesuai.
  • Perintah sinkron dari editor → lompat ke posisi PDF.

Aktifkan dengan -synctex=1 saat kompilasi. Dengan latexmkrc dari episode 18, -synctex=1 sudah disetel:

Kompilasi dengan synctex
lualatex -synctex=1 -interaction=nonstopmode -file-line-error main.tex

File .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.

Tips Debugging

  • Kompilasi sering — jangan tumpuk 100 perubahan lalu baru build; error segar lebih mudah ditangani.
  • Mulai dari error teratas pada .log.
  • Perbaiki satu per satu, kompilasi ulang, dan periksa apakah error rantai menghilang.
  • Manfaatkan preview Overleaf/viewer yang menandai lokasi error.
  • Gunakan chktex/lacheck sebelum kompilasi untuk menangkap masalah sejak awal.

Penutup

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.
  • Baca .log dari atas ke bawah, selesaikan error pertama dulu.
  • Overfull \hbox = peringatan lebar baris; tangani dengan url, \sloppy, \raggedright.
  • SyncTeX (-synctex=1) untuk sinkronisasi .tex.pdf.
  • Kompilasi sering & jangan menumpuk error.

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!

Belajar LaTeX - Lint, Debugging & SyncTeX | Belajar LaTeX