Saturday, June 14, 2014

Menyusun Tabel dengan $\small\LaTeX$



Salah satu ciri dalam memahami $\small\LaTeX$ adalah terjadinya kurva belajar (learning curve), yaitu grafik yang menggambarkan tingkat pembelajaran, terutama grafik kemajuan dalam penguasaan keterampilan terhadap waktu yang dibutuhkan untuk penguasaan tersebut.

Menyusun tabel mungkin dianggap sepele dan biasa, tetapi tidak demikian halnya bila kita mengacu pada tabel yang baik dan resmi. Dalam  $\small\LaTeX$ terdapat beberapa pilihan paket yang digunakan dalam pembuatan tabel, seperti tampak pada gambar di samping. Tulisan ini mengupas beberapa hal pokok yang harus diperhatikan dalam penggunaan paket tersebut. Sumber tulisan ini adalah Typesetting tables with  $\small\LaTeX$ karya Klaus Höppner, sebuah tulisan yang dimuat dalam halaman situs Komunitas Para Pengguna $\small\TeX$.

Selaku pemula yang belajar secara mandiri, pengalihbahasaan tulisan tersebut membantu saya dalam memahami tentang seluk-beluk pembuatan tabel.
Demikian semoga bermanfaat.

Adjie Gumarang Pujakelana 2014
\documentclass[
10pt, % Main document font size
a4paper, % Paper type, use 'letterpaper' for US Letter paper
oneside, % One page layout (no page indentation)
%twoside, % Two page layout (page indentation for binding and different headers)
headinclude,footinclude, % Extra spacing for the header and footer
BCOR5mm, % Binding correction
]{scrartcl}

\usepackage[indonesian]{babel} 
\addto\captionsindonesian{}

\input{structure.tex} 

\usepackage{verbatim}
\usepackage{fancyvrb}
\usepackage{adjustbox}
\usepackage{indentfirst}
\usepackage{filecontents}
\usepackage{array}
\usepackage{tabularx}
\usepackage{longtable}

%---------------------------------------
% TITLE AND AUTHOR(S)
%----------------------------------------

\title{\normalfont\spacedallcaps{Menyusun Tabel dengan \LaTeX}} % The article title

\author{\spacedlowsmallcaps{Klaus H\"{o}ppner* \& Adjie Gumarang Pujakelana\textsuperscript{1}}} % The article author(s) - author affiliations need to be specified in the AUTHOR AFFILIATIONS block

\date{\today} % An optional date to appear under the author(s)

%----------------------------------------

\begin{document}

%----------------------------------------
% HEADERS
%----------------------------------------

\renewcommand{\sectionmark}[1]{\markright{\spacedlowsmallcaps{#1}}} % The header for all pages (oneside) or for even pages (twoside)
%\renewcommand{\subsectionmark}[1]{\markright{\thesubsection~#1}} % Uncomment when using the twoside option - this modifies the header on odd pages
\lehead{\mbox{\llap{\small\thepage\kern1em\color{halfgray} \vline}\color{halfgray}\hspace{0.5em}\rightmark\hfil}} % The header style

\pagestyle{scrheadings} % Enable the headers specified in this block

%----------------------------------------
% TABLE OF CONTENTS & LISTS OF FIGURES AND TABLES
%----------------------------------------

\maketitle % Print the title/author/date block

\setcounter{tocdepth}{2} % Set the depth of the table of contents to show sections and subsections only

\tableofcontents % Print the table of contents


%----------------------------------------
% ABSTRACT
%----------------------------------------

\section*{Abstrak} % This section will not appear in the table of contents due to the star (\section*)

Dari titik pandang \emph{\LaTeX oligist}, \LaTeX\ adalah alat yang sempurna untuk menyusun hampir segala sesuatu dengan cara yang indah. Tanpa keraguan, \LaTeX\ dapat menyusun tabel, tetapi sangat mudah untuk menghasilkan tabel yang buruk dengan garis yang jelek dan teks menyentuh garis.
Pembicaraan ini dimaksudkan untuk memperkenalkan cara menyusun tabel dengan \LaTeX\ pada tingkat pemula, dengan menyebutkan beberapa aspek tipografi, menunjukkan beberapa paket yang membantu penulis dalam pemformatan tabel dan penyimpulan tentang cara menyusun tabel dengan pemisah halaman.

%----------------------------------------
% AUTHOR AFFILIATIONS
%----------------------------------------

{\let\thefootnote\relax\footnotetext{* \textit{Haardtring 230a, 64295, Darmstadt, Germany}}}

{\let\thefootnote\relax\footnotetext{\textsuperscript{1} \textit{Graha Satelit c.16, 84351, Sumbawa Besar, Indonesia}}}

%----------------------------------------

\newpage % Start the article content on the second page, remove this if you have a longer abstract that goes onto the second page

%----------------------------------------

\section{Tabel Dasar}

\LaTeX\ memiliki dukungan yang sudah terpasang untuk menyusun tabel. Untuk pemula mungkin agak membingungkan, karena \LaTeX\ menyediakan dua lingkungan (\emph{environment}): \emph{tabular} dan \emph{table}. Untuk menyusun unsur dalam baris dan kolom diperlukan tabular, sedangkan lingkungan \emph{table} merupakan wadah untuk pengambangan (\emph{floating}) materi semacam gambar, termasuk lingkungan \emph{tabular}. Jadi, mari kita lihat cara menyusun tabel sederhana:

\begin{figure}[h!]
\centering
\begin{BVerbatim}
    \begin{tabular}{lcr}
    a & b & c\\
    aa & ab & ac\\
    aaa & aab & aac
    \end{tabular}
\end{BVerbatim}
\end{figure}

akan menghasilkan
\begin{table}[h!]
\centering
\begin{tabular}{lcr}
a & b & c\\
aa & ab & ac\\
aaa & aab & aac
\end{tabular}
\end{table}

Baris-baris tabel dipisahkan oleh perintah biasa \LaTeX, yaitu \verb!\\! (dalam beberapa kasus, mungkin diperlukan untuk menggunakan \verb!\tabularnewline! sebagai gantinya, seperti yang akan kita lihat nanti dalam artikel ini). Kolom dipisahkan oleh \verb!&!, karakter \emph{ampersand}.    

Argumen \verb!\begin {tabular}! yang diperlukan mendefinisikan tata letak dasar tabel, terutama penjajaran kolom: 

\begin{table}[h!]
    \begin{tabular}{lp{11cm}}
    \verb!l! & kolom jajar-kiri \\
    \verb!c! & kolom jajar-tengah \\
    \verb!p{}! & kolom mirip-paragraf dengan lebar tertentu (dengan awal dari baris pertama paragraf itu sejajar terhadap sel-sel lain dalam baris tabel)
    \end{tabular}
\end{table}

Ruang normal antara kolom-kolom, yang ditambahkan sebelum kolom pertama dan setelah kolom terakhir, dapat juga diatasi dengan \verb!@{}!, di mana \verb!! adalah kode \LaTeX, disisipkan sebagai pemisah. Sebagai gambaran, mari kita susun data penerbangan:
\begin{table}[h!]
\centering
    \begin{tabular}{@{}lr@{--}l}
Nomor Penerbangan & \multicolumn{2}{c}{Rute}\\
JT\,924 & Denpasar & Lombok\\
QG\,654 & Surabaya & Banjarmasin\\
IW\,1811 & Yogyakarta & Bandung
\end{tabular}
\end{table}

Di sini, perintah \verb!@! digunakan dua kali: ruang di kiri kolom pertama yang umumnya dapat disisipi dibiarkan kosong, sehingga tabel sejajar-kiri dengan teks yang melingkupinya (bandingkan dengan contoh tabel pertama dalam artikel ini, Anda akan melihat perubahannya). Selain itu, ruang antar-kolom antara titik-titik keberangkatan dan tujuan digantikan oleh tanda hubung. Jadi kode yang diguna-kan untuk menghasilkan tabel ini tampak sebagai berikut (diam-diam memperkenalkan \verb!\multicolumn! untuk menggabungkan sel):

\begin{figure}[!h]
\centering
\begin{BVerbatim}
\begin{tabular}{@{}lr@{--}l}
Nomor Penerbangan & \multicolumn{2}{c}{Rute}\\
JT\,924 & Denpasar & Lombok\\
QG\,654 & Surabaya & Banjarmasin\\
IW\,1811 & Yogyakarta & Bandung
\end{tabular}
\end{BVerbatim}
\end{figure}

%----------------------------------------

\section{Paket Tambahan untuk Penyusunan Tabel}

Selain kemampuan terpasang \LaTeX\ untuk menyusun tabel, tersedia pula beberapa paket tambahan. Beberapa di antaranya menambahkan efek baru dalam tipografi dan tata letak, yang lainnya menyederhanakan tugas penulisan kode sumber dokumen. Paket-paket yang akan saya perkenalkan dalam artikel ini (dan banyak lagi yang tidak) dibahas secara rinci dalam \textit{The \LaTeX\ Companion} \cite{companion}.

Berikut beberapa paket penting bagi penulis yang ingin menyusun tabel:
\begin{description} 
\item[array] menambahkan kolom-kolom mirip-paragraf \verb!m{}! dan \verb!b{}! serupa dengan kolom-\verb!p!, tapi secara vertikal terjajar ke tengah atau ke bawah. Selain itu, paket ini memungkinkan urutan celah perintah yang akan dieksekusi sebelum atau setelah isi kolom.
\item[tabularx] menyusun tabel dengan lebar tetap, memperkenalkan kolom berjenis \verb!X! yang bekerja seperti kolom-\verb!p! dengan lebar dihitung secara otomatis.
\item[booktabs] menyediakan perintah khusus untuk garis horizontal dengan jarak yang tepat ke atas dan ke bawah.
\item[ctable] kita tidak akan membahas yang satu ini, tetapi lihat di CTAN, ini paket tabel modern dengan banyak fitur yang bagus.
\end{description}

%----------------------------------------

\subsection{Penggunaan array}

Dari sudut pandang saya, fitur yang paling penting dari \verb!array! \cite{array} adalah kemungkinan baru penentuan perintah yang ditambahkan secara otomatis sebelum atau setelah sel kolom. Ini menghemat banyak pengetikan, membuat kode sumber lebih ringkas dan lebih fleksibel. \verb!array! adalah salah satu paket \LaTeX\ yang diperlukan, sehingga harus menjadi bagian dari setiap instalasi \LaTeX.

Sebagai contoh sederhana, kita lihat tabel berikut:
\begin{table}[h!]
\centering
\begin{tabular}%
{>{\ttfamily\char`\\}c>{$}c<{$}}
\multicolumn{1}{c}{Perintah} &
\multicolumn{1}{c}{Simbol}\\
\hline
alpha & \alpha\\
beta & \beta\\
gamma & \gamma
\end{tabular}
\end{table}

\bigskip
Kolom kiri menampilkan perintah \LaTeX, dimulai dengan garis miring terbalik (\emph{backslash}) dan menggunakan huruf mesin tik, sedangkan kolom kanan menampilkan simbol matematika yang bersangkutan. Penggunaan paket \verb!array!, kode sumbernya adalah cukup sederhana:
\begin{figure}[h!]
\centering
\begin{BVerbatim}
\begin{tabular}%
{>{\ttfamily\char`\\}c>{$}c<{$}}
\multicolumn{1}{c}{Perintah} &
\multicolumn{1}{c}{Simbol}\\
\hline
alpha & \alpha\\
beta & \beta\\
gamma & \gamma
\end{tabular}
\end{BVerbatim}
\end{figure}

Seperti ditunjukkan dalam kode ini, kita sekarang dapat menentukan urutan perintah di dalam \verb!>{...}! sebelum penentuan jenis kolom. Perintah-perintah ini dijalankan sebelum tiap sel dari kolom tersebut. Demikian pula, dengan menggunakan \verb!<{...}! setelah jenis kolom menentukan perintah yang akan dieksekusi setelah penyusunan sel kolom itu.

Dalam contoh di atas, baris pertama berbeda dari yang lain, karena berisi judul kolom yang jelas tidak harus berupa huruf mesin tik atau modus matematika. Hal ini diatasi oleh 'penyalahgunaan' perintah \verb!\multicolumn!, yang mencegah perintah pengait \verb!>! dan \verb!<! diterapkan untuk sel-sel ini.

Penggunaan lain perintah pengait ini adalah menyusun paragraf di dalam kolom-kolom yang sempit. \LaTeX\ menyusun paragraf tersebut tersebut menepi ke kiri dan kanan secara bawaan, tetapi dalam kolom yang sempit seringkali lebih tepat untuk menyusunnya dengan menggunakan \verb!\raggedright!. Jadi kita dapat berpikir untuk mencoba kode berikut:

\begin{figure}[h!]
\centering
\begin{BVerbatim}
\begin{tabular}{l>{\raggedright}p{3in}}
\end{BVerbatim}
\end{figure}

Sayangnya upaya ini gagal ketika mengakhiri baris-baris tabel dengan perintah \verb!\\!, dengan pesan kesalahan yang agak aneh tentang penjajaran yang salah tempat. Masalahnya adalah bahwa \verb!\raggedright! mengubah \verb!\\!, sehingga tidak dapat dikenali sebagai akhir dari baris tabel. Ada tiga solusi untuk masalah ini:
\begin{enumerate}
\item Gunakan \verb!\tabularnewline!, bukan \verb!\\!. Bahkan, tidak ada salahnya untuk selalu menggunakan ini, meskipun Anda tidak memiliki masalah dengan \verb!\raggedright!.
\item Pulihkan \verb!\\! semula dengan menggunakan perintah \verb!\arraybackslash!, sebagai berikut:
\begin{verbatim}
\begin{tabular}%
{l>{\raggedright\arraybackslash}p{3in}}
\end{verbatim}
\item Gunakan paket \verb!ragged2e! \cite{ragged2e}. Ini mengubah perintah \verb!\raggedright! untuk mencegah pengubahan \verb!\\!, sehingga masalah ini akan hilang tanpa ada perubahan lebih lanjut terhadap kode semula. Selain itu, \verb!ragged2e! menyediakan perintah baru \verb!\RaggedRight! yang menyusun jajar-kiri paragraf, tetapi tidak menonaktifkan pemenggalan kata (\emph{hyphenation}).
\end{enumerate}

%----------------------------------------

\subsection{Penggunaan tabularx}

Selain lingkungan tabular normal, jarang digunakan keberadaan lingkungan tabular*. Selain penentuan kolom, diperlukan lebar tabel sebagai argumen. 
Tabel yang dihasilkan tersusun dengan lebar ini, tetapi sering -- mengejutkan -- memperluas ruang antara kolom-kolom.

Implementasi yang lebih nyaman dilakukan oleh paket \verb!tabularx! \cite{tabularx} (paket lain \LaTeX\ yang diperlukan kehadirannya dalam setiap instalasi \LaTeX). \verb!tabularx! memperkenalkan jenis kolom \verb!X! untuk kolom-kolom mirip-paragraf yang lebarnya secara otomatis dihitung untuk memperoleh tabel dengan total lebar yang diinginkan. Sebagai contoh, mari kita lihat berikut ini:

\begin{figure}[h!]
\centering
\begin{BVerbatim}
\begin{tabularx}{\linewidth}{lX}
Nama & Teks\\
\hline
Satu & Ini teks tanpa makna, sekedar menggunakan ruang, tidak dimaksudkan untuk dibaca.\\
...
\end{tabularx}
\end{BVerbatim}
\end{figure}

Ini menghasilkan tabel sepanjang lebar penuh garis, di mana kolom kanan hanya menggunakan ruang yang tersisa setelah penyusunan kolom kiri:

\begin{table}[h!]
\centering
\begin{tabularx}{\linewidth}{lX}
Nama & Teks\\
\hline
Satu & Ini teks tanpa makna, sekedar menggunakan ruang, tidak dimaksudkan untuk dibaca.\\
Dua & Ini teks lain yang tanpa makna, sekedar menggunakan ruang, juga tidak dimaksudkan untuk dibaca.\\
Tiga & Ini masih teks lain yang tanpa makna. Tebak kenapa? Ini tidak dimaksudkan untuk dibaca. Ini sekadar ada saja.\\
Empat & Seberapa sering saya menyebutkan bahwa Anda tidak harus membaca teks ini?
\end{tabularx}
\end{table}

Dimungkinkan untuk menggunakan lebih dari satu kolom-X. Secara bawaan, semua kolom tersusun dengan lebar yang sama, namun ada kemungkinan untuk mengaturnya secara manual seberapa ruang yang tersedia terbagi. Berikut ini contoh kita selanjutnya:

\newpage
\begin{table}[ht!]
\centering
\begin{tabularx}{\linewidth}%
{l>{\setlength\hsize{0.6\hsize}\raggedright}X%
>{\setlength\hsize{1.4\hsize}\raggedright}X}
Nama & Teks & Teks lain\tabularnewline
\hline
Satu & Ini sebagian teks tanpa makna. & Ini adalah teks lain tanpa makna, sekedar menggunakan beberapa ruang. Ini pun tidak dimaksudkan untuk dibaca.
\end{tabularx}
\end{table}

Tabel ini dihasilkan dengan kode berikut:

\begin{figure}[h!]
\centering
\begin{BVerbatim}
\begin{tabularx}{\linewidth}%
{l>{\setlength\hsize{0.6\hsize}\raggedright}X%
>{\setlength\hsize{1.4\hsize}\raggedright}X}
Nama & Teks & Teks lain\tabularnewline
\hline
...
\end{tabularx}
\end{BVerbatim}
\end{figure}

Ketika menyeimbangkan lebar kolom secara manual, adalah penting bahwa pemilahan \verb!\hsize! menambahkan hingga sejumlah kolom-X, seperti pada contoh di atas, di mana $0.6 +1.4 = 2$. Untuk mencapai keseimbangan \emph{otomatis} pada kolom-kolom, lihatlah paket \verb!tabulary!.  

Harus diperhatikan bahwa cara \verb!tabularx! memilah isi tabel membatasi kemungkinan penentuan lingkungan baru berdasarkan \verb!tabularx!. Jika Anda mempertimbangkan untuk melakukan ini, lebih dulu lihat dokumentasinya.

%----------------------------------------

\section{Penggunaan baris-baris dalam tabel}

\LaTeX\ menyediakan kemungkinan penggunaan baris-baris dalam tabel: garis vertikal ditambahkan dengan menempatkan \verb!|! pada posisi yang tepat dalam penentuan tata letak kolom, dan garis horizontal ditambahkan dengan menggunakan perintah \verb!\hline!.

Walaupun penggunaan baris dalam tabel dapat membantu pembaca dalam memahami isi tabel, sangat mudah untuk menghasilkan tabel yang benar-benar jelek seperti berikut ini:

\begin{table}[ht!]
\centering
\begin{tabularx}{\linewidth}%
{|l|X|X|}
\hline
\Large Nama & \Large Teks
& \Large Teks lain\tabularnewline
\hline
\hline
Satu & Ini sebagian teks tanpa makna.
& \rule{0pt}{18pt}%
Ini teks {\huge lain} tanpa makna, sekedar menggunakan beberapa ruang.\\
\hline
\end{tabularx}
\end{table}

Walaupun tak seorang pun akan menyusun tabel dengan teliti dalam kehidupan nyata, itu menggambarkan masalah umum dan biasa - judul kolom dan kata "lain" dalam kolom paling kanan menyentuh garis horizontal di atasnya.

Sebagai langkah pertama untuk memperbaiki jarak antara baris tabel dan garis-garis horizontal dalam kasus tersebut, aturlah \verb!\extrarowheight! dengan panjang bukan-nol, misalnya 4pt. Jika hal ini belum cukup, penyesuaian tambahan dapat dilakukan dengan menambahkan garis-garis yang tak terlihat. Berikut adalah revisi kode sumber untuk contoh di atas yang menggambarkan kedua hal tersebut:

\begin{center}
\begin{BVerbatim}
\setlength{\extrarowheight}{4pt}
\begin{tabularx}{\linewidth}%
{|l|>{\setlength\hsize{0.67\hsize}}X%
|>{\setlength\hsize{1.33\hsize}}X|}
\hline
\Large Nama & \Large Teks
& \Large Teks lain\tabularnewline
\hline
\hline
Satu & Ini sebagian teks tanpa makna.
& \rule{0pt}{18pt}%
Ini teks {\huge lain} tanpa makna, sekedar menggunakan beberapa ruang.\\
\hline
\end{tabularx}
\end{BVerbatim}
\end{center}
kita mendapatkan hasil yang agak lebih baik:

\begin{table}[h!]
\centering
\setlength{\extrarowheight}{4pt}
\begin{tabularx}{\linewidth}%
{|l|>{\setlength\hsize{0.67\hsize}}X%
|>{\setlength\hsize{1.33\hsize}}X|}
\hline
\Large Nama & \Large Teks
& \Large Teks lain\tabularnewline
\hline
\hline
Satu & Ini sebagian teks tanpa makna.
& \rule{0pt}{18pt}%
Ini teks {\huge lain} tanpa makna, sekedar menggunakan beberapa ruang.\\
\hline
\end{tabularx}
\end{table}

Perlu diketahui bahwa \verb!\rule! digunakan sebagai pengatur jarak tambahan yang tersusun dengan lebar horizontal 0.4pt bukan 0pt (seperti yang ditunjukkan dalam kode) agar efek dan lokasinya terlihat.

Bahkan setelah ini, tata letak tabel masih terlihat sangat tidak baik, misalnya garis vertikal terputus antara garis horizonal ganda. Hal ini dapat di atasi dengan paket \verb!hhline! \cite{hhline}, tetapi untuk penyusunan tabel dengan garis-garis cantik, lihatlah pada paket \verb!booktabs! \cite{booktabs}. Dimulai dengan memberikan pengguna kutipan saran mendasar, yaitu untuk menghindari garis-garis vertikal, dan memperkenalkan perintah untuk menyusun garis horizontal dengan ketebalan dan jarak yang tepat. Dengan menggunakan \verb!booktabs!, kode sumber untuk contoh kita yang ganjil (\emph{weird}) itu sekarang tampak sebagai berikut:

\begin{figure}[h!]
\centering
\begin{BVerbatim}
\begin{tabularx}{\linewidth}%
{l>{\setlength\hsize{0.67\hsize}}X%
>{\setlength\hsize{1.33\hsize}}X}
\toprule
\Large Nama & \Large Teks
& \Large Teks lain\tabularnewline
\midrule
Satu & Ini sebagian teks tanpa makna.
& Ini teks {\huge lain} tanpa makna, sekedar menggunakan beberapa ruang.\\
\bottomrule
\end{tabularx}
\end{BVerbatim}
\end{figure}

Dengan ini, hasilnya menjadi:

\begin{table}[h!]
\centering
\begin{tabularx}{\linewidth}%
{l>{\setlength\hsize{0.67\hsize}}X%
>{\setlength\hsize{1.33\hsize}}X}
\toprule
\Large Nama & \Large Teks
& \Large Teks lain\tabularnewline
\midrule
Satu & Ini sebagian teks tanpa makna.
& Ini teks {\huge lain} tanpa makna, sekedar menggunakan beberapa ruang.\\
\bottomrule
\end{tabularx}
\end{table}

Akhirnya, kita agak sedikit memperbaiki tata letak tabel. Isi tabel dengan ukuran huruf berubah-ubah masih tampak ganjil, tetapi itu urusan penulis dan bukan \LaTeX\ yang harus disalahkan. Untuk contoh yang lebih realistis tentang penggunaan garis, di sini saya sajikan contoh dari panduan \verb!booktabs!:

\begin{table}[ht!]
\centering
\begin{tabular}{@{}llr@{}} \toprule
\multicolumn{2}{c}{Item} \\ \cmidrule(r){1-2}
Animal & Description & Price (\$)\\ \midrule
Gnat & per gram & 13.65 \\
& each & 0.01 \\
Gnu & stuffed & 92.50 \\
Emu & stuffed & 33.33 \\
Armadillo & frozen & 8.99 \\ \bottomrule
\end{tabular}
\end{table}
%---------------------------------------

\section{Penyusunan Tabel melalui Beberapa Halaman}

Lingkungan \verb!tabular(X)! biasa terbatas untuk tabel satu-halaman, yaitu tidak ada pemisah halaman yang diperbolehkan dalam tabel.

Namun, dua perluasan paket memberikan dukungan untuk penyusunan tabel melalui beberapa halaman, yaitu \verb!longtable! \cite{longtable} dan \verb!supertabular! \cite{supertabular}. Perbedaan utama antara keduanya adalah bahwa \verb!longtable! membuat lebar kolom sama pada seluruh tabel, sedangkan \verb!supertabular! menghitung ulang lebar kolom pada setiap halaman. Menurut dokumentasinya, \verb!longtable! tidak bekerja dalam modus dua atau banyak kolom, dan saya tidak mencoba supertabular pada kasus ini. Sintaks dari kedua paket itu berbeda, sehingga kita harus memutuskan mana yang akan digunakan.

Mari kita lihat struktur umum dari \verb!longtable!:

\begin{figure}[h!]
\centering
\begin{BVerbatim}
\begin{longtable}{ll}
Nama (bersambung) & Teks (bersambung)\\
\endhead
\multicolumn{2}{l}{Ini kepala pertama}\\
Label & Text\\
\endfirsthead
\multicolumn{2}{l}{bersambung ke halaman selanjutnya}
\endfoot
\multicolumn{2}{l}{ini adalah akhir (selesai!)}
\endlastfoot
Satu & sejumlah konten\\
Dua & konten yang lain\\
Tiga & masih konten yang lain\\
...
\end{longtable}
\end{BVerbatim}
\end{figure}

Seperti ditunjukkan dalam kode sumber ini, lingkungan \verb!longtable! dapat berisi definisi untuk kepala (\emph{header}) dan kaki (\emph{footer}) sebelum konten normal tabel:

\bigskip\noindent
\begin{tabular}{rp{12.5cm}}
\verb!\endfirsthead! & menentukan apa yang harus tersusun pada kepala pertama dari tabel \\
\verb!\endhead! & menentukan kepala tabel yang digunakan pada halaman selanjutnya \\ 
\verb!\endfoot! & menentukan apa yang harus tersusun pada kaki tabel jika diikuti halaman selanjutnya, dan \\ 
\verb!\endlastfoot! & menentukan kaki pada bagian paling terakhir tabel
\end{tabular}

\bigskip
Saya pribadi lebih suka \verb!longtable! hanya karena terdapat satu lagi paket \verb!ltxtable! \cite{ltxtable}, yang menggabungkan \verb!longtable! dan \verb!tabularx!. \verb!ltxtable! menyediakan perintah \verb!\LTXtable{}{}!, yang membaca suatu \emph{file} yang diberikan yang berisi lingkungan \verb!longtable! dengan menggunakan kolom-kolom-\verb!X! dan tersusun pada lebar yang diminta.


\newpage
%----------------------------------------
% BIBLIOGRAPHY
%----------------------------------------

\renewcommand{\refname}{\spacedlowsmallcaps{Daftar Pustaka}} % For modifying the bibliography heading

\begin{thebibliography}{9}
\bibitem{supertabular} Johannes Braams and Theo Jurriens. \textit{The supertabular package}. CTAN:macros/latex/contrib/super-tabular/.
\bibitem{hhline} David Carlisle. \textit{The hhline package}.

\bibitem{longtable} David Carlisle. \textit{The longtable package}.

\bibitem{ltxtable} David Carlisle. \textit{The ltxtable package}. CTAN:macros/latex/contrib/carlisle/.

\bibitem{tabularx} David Carlisle. \textit{The tabularx package}.

\bibitem{booktabs} Simon Fear and Danie Els. \textit{The booktabs package}. CTAN:macros/latex/contrib/booktabs/.

\bibitem{array} Frank Mittelbach and David Carlisle. \textit{The array package}.

\bibitem{companion} Frank Mittelbach, Michel Goossens, et al. \textit{The \LaTeX\ Companion}. Addison-Wesley, 2\textsuperscript{nd} edition, 2004. 

\bibitem{ragged2e} Martin Schr\"{o}der. \textit{The ragged2e package}. CTAN:macros/latex/contrib/ms/.
\end{thebibliography}


%----------------------------------------------------------------------------------------

\end{document}





1 comment:

Related Posts Plugin for WordPress, Blogger...