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 sistem typesetting 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 pemasangan, terpulang kepada pengguna sama ada mahu menggunakan pemasang yang disediakan oleh [TeX Users Group] sendiri atau yang disediakan oleh distribusi masing-masing.

Sesudah itu, saya pun belajarlah bagaimana untuk menghasilkan dokumen dengan menggunakan sistem LaTeX yang kemudiannya disusun bagi menghasilkan fail PDF.

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 laman [Wikibooks] ini.

    • \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}
MENYUSUN 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}. Perintah barisnya adalah seperti berikut:-

    tex
    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. Arahannya adalah seperti berikut:-

    tex
    xelatex sample-resume.tex
    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:

Sumber dari Overleaf: [bibtex-template]

sample.tex
\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}
sample.bib
@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 perintah baris yang perlu dijalankan iaitu seperti berikut:-

  1. Arahan pertama adalah untuk menjana fail sample.aux:

    tex
    pdflatex sample.tex
    Imej 1: Pemandangan daripada fail pdf yang kali pertama dijana.
  2. Perintah baris kedua adalah untuk menjana fail sample.bbl:

    tex
    bibtex sample
  3. Arahan ketiga adalah untuk mengesahkan janaan fail .aux dan .bbl sebelum ini.

    tex
    pdflatex sample.tex
    Imej 2: Pemandangan daripada fail pdf yang kali kedua dijana.
  4. Manakala perintah baris terakhir adalah untuk mendapatkan fail pdf yang lengkap dengan semua isi termasuk petikan rujukan daripada bahagian bibliografi.

    tex
    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 perintah baris di atas secara automatik:-

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

Walau bagaimanapun, 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 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:

Tentang Blog & Penulis

Topik perbincangan dalam blog ini merangkumi Linux & perisian sumber terbuka, Virtual Machine, serta Typesetting system.
Fokus semasa: Full Stack Development
Minat sampingan: Analisis Data
Bakat tersembunyi hamba: Menyanyi dan melukis.

Sumber dari Wallpaper Cave.