bersama catatan peribadi & teknikalnya.

Tentang LaTeX, Vimtex dan Zathura

Penerangan lebih terperinci mengenainya


geeky stuff
#archlinux | #latex | #vimtex | #zathura

PENGENALAN

Awalannya, saya fikirkan sudah begitu banyak penulisan berkenaan apa itu LaTeX boleh didapati melalui kajian dan carian di Internet, malahan buku yang menerangkan dengan begitu terperinci akan kegunaannya juga sudah sekian banyak dikeluarkan.

Tetapi kali ini saya fikir tidak mengapalah. Penulisan ini, jikalau saya menulis dengan lebih lanjut tentang ketiga-tiga perisian ini, sudah tentunya saya juga yang akan termanfaat daripadanya di masa akan datang. Selain saya boleh membuat rujukan kembali dengan membaca pos ini, saya juga boleh meneliti untuk menilai sejauh mana perkembangan saya dalam menulis hal-hal keilmuan seperti ini.

Baiklah, tanpa berlengah lagi, saya sentuh dahulu berkenaan LaTeX. Saya pada asalnya mencari perisian yang boleh digunakan sebagai pengganti kepada Microsoft Word untuk Linux, namun akhirnya terjebak dengan bahasa komputer nan satu ini setelah terbaca sebuah komentar yang menyebut, “Sudah pakai Linux, kenapa pula mahu guna perisian ala-ala Microsoft Office? LaTeX kan ada!” Begitulah kata beliau yang tidak pernah saya kenali.

Jadi berbalik kepada topik utama, apa itu LateX? Hurm, sepertinya boleh baca sendiri saja dari [sini]? Bhahaha! Anyway. Menurut halaman yang pautan-nya sudah saya kongsikan di dalam ayat sebelum ini, LaTeX, yang cara menyebutnya adalah “Lah-Tek” ataupun “Lei-Tek”, ialah sebuah sistem untuk menyediakan dokumen bagi penataan huruf berkualiti tinggi. Berdasarkan pengamatan saya, sistem ini selalunya digunapakai dalam menyediakan dokumen bersifat teknikal atau saintifik akan tetapi boleh digunakan untuk apa jua jenis penerbitan.

Katanya lagi, LaTeX bukanlah sejenis pemproses ayat! Sebaliknya, LaTeX menggalakkan penulis untuk tidak terlalu menumpukan perhatian kepada penampilan dokumen dan hanya fokus ke arah mendapatkan isi yang tepat, WHICH I AGREE, NOT! Lol!

Kenapa saya katakan begini? Kerana melalui kajian dan eksperimen yang saya jalankan sendiri, anda boleh melakukan apa sahaja bentuk penggayaan/seni dengan LaTeX, mengikut kesukaan anda, tanpa disekat oleh sebarang limitasi! Hebat bunyinya-kan? Nah, kerana itulah saya amat tertarik untuk mempelajari proses menyediakan dokumen melalui sistem LaTeX ini!

PASANG ‘TEX LIVE’ UNTUK MENGOPERASIKAN LATEX

Untuk menggunakan sistem LaTeX ini secara tempatan di Arch Linux (di dalam mana-mana edaran Linux juga boleh), saya ikuti sahaja langkah-langkah pemasangan (texlive-most) sebagaimana yang sudah diterangkan di [archwiki: TeX Live] ini.

Sesudah itu, saya pun belajarlah bagaimana untuk menghasilkan dokumen dengan menggunakan bahasa LaTeX dan kemudiannya belajar pula untuk mengompilasi fail latex tersebut bagi menjana fail pdf sebagai terjemahan kepada dokumen itu.

STRUKTUR DOKUMEN LATEX

Saya terangkan serba sedikitlah apa yang perlu ada untuk menjadikan dokumen LaTeX itu sempurna:-

  1. Preamble:
    • \documentclass[options]{class}: Wajib ada di permulaan setiap dokumen LaTeX.
      Senarai [options] dan {class} boleh didapati [di sini].
    • \usepackage[options]{package}: Diperlukan jika mahu menambah penggayaan yang tidak boleh didapati daripada LaTeX asas. Contohnya untuk menambah kotak dengan fungsi warna:-
      \usepackage[many]{tcolorbox}
  2. Dokumen:
    Teks diletakkan di antara dua arahan/perintah ini:-
    \begin{document}
    Letakkan teks di ruang ini.
    \end{document}

MENGOMPILASI FAIL LATEX

Selesai urusan menyempurnakan dokumen, bolehlah teruskan dengan menyusun fail tersebut untuk dijana menjadi pdf.

Setakat yang saya faham melalui kajian sendiri, ada tiga jenis penyusun untuk menukar fail latex ini kepada pdf; pdflatex, xelatex dan lualatex.

  1. Pdflatex: Sesuai digunakan apabila dokumen tidak mengandungi karakter-karakter yang kompleks seperti yang terdapat di dalam bahasa lain ie. bahasa Korea. Sebahagian pakej pada dokumen LaTeX hanya membenarkan pdflatex sebagai penyusun, contohnya pakej gaya huruf {times}. Baris perintahnya adalah seperti berikut:-
    pdflatex sample-resume.tex
  2. Xelatex dan Lualatex: Digunakan apabila mengandungi pakej-pakej daripada pihak ketiga seperti penggunaan huruf Arial ataupun penggunaan bahasa lain, sebagai contoh dokumen yang dikeluarkan dalam bahasa Arab atau Jepun. Baris perintahnya adalah seperti berikut:-
    xelatex sample-resume.tex
    lualatex sample-resume.tex

Alhamdulillah. Ada insan yang besar jasanya mencipta ‘plugin’ yang memudahkan untuk proses penyusunan. Saya menggunakan Vim sebagai penyunting teks yang utama.

Sebelum ini, saya gunakan Neovim namun atas faktor kestabilan, saya bertukar kembali kepada Vim. Jadi, di sinilah gunanya Vimtex, sebuah ‘plugin’ untuk penyunting teks Vim yang saya maksudkan di atas.

Untuk menggunakan vimtex ini, perlu adanya satu lagi perisian lain iaitu pembaca pdf. Ada banyak jenis pembaca pdf seperti MuPDF dan Zathura. Saya gunakan Zathura.

Jika sebelum ini saya memasang zathura dari sumber, sekarang saya memuatnaik dan memasang pembaca pdf ini dari pakej binari yang telah disediakan oleh Arch Linux sendiri untuk memudahkan proses menaiktaraf perisian.

Kesemua perisian wajib (dependencies) yang perlu ada untuk memastikan perisian zathura mampu berjalan dengan baik tanpa sebarang masalah adalah sama kecuali libmupdf. Pakej libmupdf diperlukan sekiranya anda memasang zathura dari sumber tetapi jika dipasang melalui pakej binari, maka bolehlah jimat sedikit ruang cakera.

Saya ada sebut di atas bahawa dokumen latex boleh disusun menggunakan pdflatex, xelatex atau lualatex. Perlu diketahui bahawa ada ketikanya kaedah secara manual ini mesti dilakukan berulang kali terutama apabila melibatkan bibliografi. Saya berikan contoh melalui dua fail di bawah ini; [1] sample.tex dan [2] sample.bib:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}

\title{Bibliography management: BibTeX}
\author{Share\LaTeX}

\begin{document}

\maketitle

This document is an example of BibTeX using in bibliography management. Three items are cited: \textit{The \LaTeX\ Companion} book \cite{latexcompanion}, the Einstein journal paper \cite{einstein}, and the Donald Knuth's website \cite{knuthwebsite}. The \LaTeX\ related items are \cite{latexcompanion,knuthwebsite}. 

\medskip

\bibliographystyle{unsrt}%Used BibTeX style is unsrt
\bibliography{sample}

\end{document}
Sumber dari Overleaf: [bibtex-template]
@article{einstein,
  author =       "Albert Einstein",
  title =        "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
                 [{On} the electrodynamics of moving bodies]",
  journal =      "Annalen der Physik",
  volume =       "322",
  number =       "10",
  pages =        "891--921",
  year =         "1905",
  DOI =          "http://dx.doi.org/10.1002/andp.19053221004"
}

@book{latexcompanion,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The \LaTeX\ Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}
 
@misc{knuthwebsite,
    author    = "Donald Knuth",
    title     = "Knuth: Computers and Typesetting",
    url       = "http://www-cs-faculty.stanford.edu/\~{}uno/abcde.html"
}

Untuk menjana fail pdf daripada dokumen sample.tex di atas, ada empat baris perintah yang perlu dijalankan iaitu seperti berikut:-
  1. Baris perintah pertama adalah untuk menjana fail sample.aux:
    pdflatex sample.tex
    Imej 1: Pemandangan daripada fail pdf yang kali pertama dijana.
  2. Baris perintah kedua adalah untuk menjana fail sample.bbl:
    bibtex sample
  3. Baris perintah ketiga adalah untuk mengesahkan janaan fail .aux dan .bbl sebelum ini.
    pdflatex sample.tex
    Imej 2: Pemandangan daripada fail pdf yang kali kedua dijana.
  4. Manakala baris perintah terakhir adalah untuk mendapatkan fail pdf yang lengkap dengan semua isi termasuk petikan rujukan daripada bahagian bibliografi.
    pdflatex sample.tex
    Imej 3: Pemandangan daripada fail pdf yang kali ketiga (terakhir) dijana.

Baik, di sini kelebihan vimtex menyerlah. Kerana dengan plugin inilah kerja berulang kali itu dapat dipermudahkan. Terdapat dua jenis pembantu yang boleh digunakan oleh Plugin vimtex untuk membantu menjalankan kesemua baris perintah di atas secara automatik:-

  1. latexmk, iaitu sebuah skrip perl *(inilah yang saya gunakan); ATAU
  2. latexrun

Walaubagaimanapun, ada sedikit kerja tambahan untuk mendapatkan fungsi ini. Sunting / buat baru jika tiada dua fail yang berikutnya; ① dot konfig bagi vim dan ② dot konfig bagi latexmk yang saya muatkan dalam hantaran saya yang terdahulu bertajuk, “Vimtex and Zathura” (rujuk ‘Related configuration files’).

Saya kira, cukup sampai di sini sahaja penerangan berkenaan ketiga-tiga perisian ini.

SEMOGA BERMANFAAT. 😄



Kali terakhir dikemaskini:
Top