ConTeXt vs LaTeX (Table)
Sebuah perbandingan
Saya pernah menyebut di dalam salah sebuah status saya sebelum ini bahawa saya akan mencari masa terluang untuk belajar ConTeXt
pula selepas LaTeX
. Ada masa terluang sikit-sikit, saya belajar walaupun banyak juga tergaru-garu dan berkerut-kerut kening tambah-tambah lagi selalu hilang tumpuan kerana anak-anak perlulah dilayan juga.
Jadi di dalam penulisan kali ini, saya akan tunjukkan serba sedikit perbezaan di antara keduanya. Saya gunakan table
dalam penghasilan dokumen melalui LaTeX
dan ConTeXt
ini.
Saya tunjukkan dokumen LaTeX
dahulu:
bash
\documentclass[a4paper,12pt]{article}
\usepackage{multirow} % Required for multirows
\usepackage[top=1.5in,bottom=1in,left=1in,right=1in]{geometry} % Required for multirows
\renewcommand{\baselinestretch}{1.3}
%https://www.sharelatex.com/learn/Headers_and_footers
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
%\rhead{Share\LaTeX}
%\lhead{Guides and tutorials}
\rhead{\it{Produced in \LaTeX}}
%\rfoot{Produced in \LaTeX}
\begin{document}
\begin{table}[h!]
\begin{center}
\caption{BAYARAN BALIK UJRAH PTPTN \-- JOMPAY}
\label{tab:table1}
\vspace*{.5em}
\begin{tabular}{|c|c|l|}
\hline
\textbf{No. I/C} & \textbf{Peringkat Pengajian} & \textbf{Rujukan JOMPAY}\\
\hline
\multirow{3}{*}{************} &
\multirow{3}{*}{Ijazah Pertama Sepenuh Masa} &
Biller Code: *****\\
& & Ref-1: 211************7\\
& & Ref-2: 019*******\\
\hline
\end{tabular}
\end{center}
\end{table}
\end{document}
table
asas. Wrap text
dalam penggunaan table asas seperti ini biasanya memberikan hasil yang tidak cantik. Namun begitu, penggunaan pakej minipage
mampu memberikan keputusan yang baik seperti yang saya gunakan ketika menghasilkan resume.Untuk
ConTeXt
pula, terdapat tiga cara untuk membuat table
;- Natural TableJuga dipanggil
Automatic Table
ataupunHTML Table
. Sesuai untuk penukaranXML
. Untuk penyediaan mudah dan cepat namun tidak sesuai untuk teks panjang yang memerlukanwrap
. Boleh menetapkan offset, toffset (top/atas),loffset (left/kiri), roffset (right/kanan) dan boffset (bottom/bawah) untuk fungsipadding
teks.
Cara susun atur:-- Buat tetapan terlebih dahulu (predefine) untuk table yang akan dicipta dengan
\setupTABLE
:
\setupTABLE[r/c/each][#][settings]- [r]: untuk baris (row)
- [c]: untuk kolum (column)
- [each]: untuk kedua-duanya (baris dan kolum)
- [#]: untuk kedudukan nombor baris atau kolum i.e. 1,2,3
- [settings]: Tetapan e.g. [align={middle,lohi}]
- Jajarkan (
align
) sel ke bahagian tengah secara mendatar (horizontally) denganmiddle
atau/dan secara menegak (vertically) denganlohi
.
- Jajarkan (
- Table dibuat dengan tag pemula \bTABLE dan berakhir dengan \eTABLE
Head
ditetapkan dengan \bTABLEhead dan \bTH sebagai permulaan serta berakhir dengan tag \eTABLEhead dan \eTHBody
ditetapkan dengan \bTABLEbody dan \eTABLEbody- Baris dan kolum masing-masing dimulakan dengan \bTR & \eTR serta \bTC & \eTC
- Gabungkan baris dengan [nr=#] dan kolum dengan [nc=#]
- Buat tetapan terlebih dahulu (predefine) untuk table yang akan dicipta dengan
- TabulateKaedah ringkas untuk menghasilkan
table
. Juga sukar untuk mendapatkanwrap
dengan baik untuk teks yang panjang.
Cara susun atur:-Head
ditetapkan dengan tag pemula \starttabulatehead dan berakhir dengan tag \stoptabulatehead- \placetable untuk kapsyen hanya boleh diletakkan selepas \stoptabulatehead dan sebelum \starttabulate. Jika tidak, ralat akan dipaparkan dan proses penyusunan dokumen
ConTeXt
menjadi gagal - \NC untuk membuat kolum baru (new column or new cell)
- \NN untuk menambah kolum/sel matematik baru
- \NR bagi membuat baris baru (new row)
- \NB memulakan baris baru sebagai blok untuk mengelakkan page daripada putus di dalam blok tersebut
- \TB (Table Blank) menambah beberapa ruang secara menegak di antara baris
- \VL untuk garisan menegak
- Pilihan-pilihan untuk garisan mendatar:
- \HL untuk garis mendatar standard
- \FL: garisan pertama
- \ML: garisan tengah
- \LL: garisan bawah
- \LL dan \TL: garisan bawah
- \BL: garisan terakhir
- Extreme TableAlternatif untuk
natural table
dan merupakan kaedah paling fleksibel tetapi rumit. Boleh membuat tetapanpadding
melalui offset, toffset, loffset, roffset dan boffset serta me-wrap
teks secara automatik.
Cara susun atur:-- Buat tetapan terlebih dahulu (predefine) untuk table yang akan dicipta dengan
\setupxtable
:
\setupxtable[name/tag][settings]- [name/tag]: Nama atau tanda yang ditakrifkan untuk digunakan ketika membuat table
- [settings]: Tetapan sama seperti yang didapati pada Natural Table di atas.
- Table dibuat dengan tag pemula \startxtable[nama/tanda] dan berakhir dengan \stopxtable
Head
ditetapkan dengan \startxtablehead sebagai permulaan dan berakhir dengan tag \stopxtableheadBody
ditetapkan dengan \startxtablebody dan \stopxtablebody- Baris dan kolum masing-masing dimulakan dengan \startxrow & \stopxrow serta \startxcell & \stopxcell
- Berbeza dengan
Natural Table
, gabungan baris dan kolum dibuat dengan tetapan [ny=#] (untuk baris) dan [nx=#] (untuk kolum)
- Buat tetapan terlebih dahulu (predefine) untuk table yang akan dicipta dengan
Melihat kepada contoh-contoh di atas, objektif menghasilkan dokumen boleh dicapai dengan menggunakan kedua-dua sistem; baik
LaTeX
mahupun ConTeXt
. Namun, memilih untuk menggunakan yang mana satu di antara keduanya mungkin bergantung kepada hasil yang bagaimana dimahukan oleh pengguna. Atau mungkin kaedah mana yang lebih memudahkan. Atau mungkin juga faktor fleksibiliti memainkan peranan dalam pemilihan.Who knows? It is up to the user. Lihat pos saya selepas ini yang bakal membincangkan cara mengautomasi penyusunan dokumen yang dihasilkan melalui
ConTeXt
.- Headers and Footers (untuk LaTeX)
- Natural Table
- Tabulate
- Extreme Table