Sunday, January 29, 2017

Kepala Tabel (Table Header)

Mukadimah

Seperti yang sering saya sebutkan, tabel dan gambar/grafik merupakan dua unsur yang agak "rumit" di dalam dokumen $\small\LaTeX$ karena sering kali meminta trik tertentu untuk dapat mencetak hasil seperti yang kita inginkan.
Sebagai sarana "bantuan gawat darurat", tentu jaringan memberikan beberapa situs atau perangkat lunak yang dapat digunakan sebagai "jembatan" untuk membuat tabel (salah satunya situs ini), tetapi tetap saja memerlukan kecakapan kita untuk menyuntingnya kembali.
Salah satu contoh "sederhana" tampak pada gambar di samping ini. Ketika itu seseorang bertanya, "Bagaimana baris pada kepala tabel dibuat lebih renggang daripada baris-baris lainnya?". Dapat Anda lihat, kepala tabel pada kedua tabel itu tampak lebih renggang, bukan?
Kemudian, setelah kedua tabel itu saya tunjukkan, saya pun bertanya, "Adakah yang menarik perhatian dari kedua tabel itu?". Berikut ini jawaban yang saya peroleh:

  • Tabel 2 lebih "sedap dipandang"
  • Tabel 2 tanpa garis tepi vertikal
  • Tabel 2 memberikan garis lebih tebal pada bagian paling atas dan paling bawah
  • jarak garis dengan garis lain atau tulisan dengan tulisan lain

Perlu diketahui bahwa kedua tabel itu dibuat dalam lingkup perintah tabular. Lalu, bagaimana keduanya bisa berbeda? Bagaimana pula kerenggangan baris pada kepala tabel dapat berbeda dengan baris-baris lainnya?


Tabel Dengan atau Tanpa Paket Booktabs

Perhatikan Tabel 1 di atas. Tabel 1 dibuat di dalam lingkup perintah (environmenttabular dan menggunakan kemampuan dasar $\small\LaTeX$ (tanpa menggunakan paket tertentu). Setiap garis mendatar dibuat oleh perintah \hline dan setiap garis tegak dibuat oleh | (tombolnya terletak di atas tombol enter) dalam
\begin{tabular}{|c|c|c|}
Perlu diketahui pula bahwa kerenggangan untuk tiap baris pada kedua tabel itu masih merupakan kerenggangan dasar, belum diatur dalam ukuran tertentu. Tentu dapat Anda lihat bahwa kerenggangan teks antarbaris lebih nyaman terlihat pada Tabel 2, bukan?

Tabel 2 dibuat di dalam lingkup perintah tabular dan menggunakan paket booktabs. Secara asal (default), paket booktabs memberikan kerenggangan yang memadai antarbaris-barisnya. Paket booktabs "tidak menyukai" garis tegak dan memberikan perintah khusus untuk garis mendatarnya. Di atas kepala tabel, garis mendatar dibuat oleh perintah \toprule. Setelah baris terakhir, garis mendatar dibuat oleh perintah \bottomrule. Garis-garis mendatar antarbaris-baris lainnya dibuat oleh perintah \midrule. Hal itu memberikan ketebalan garis yang berbeda untuk garis paling atas/paling bawah dan garis-garis lainnya. Oleh karena itu, dalam hal tabel, saya "bermazhab" kepada paket booktabs.


Membuat Baris pada Kepala Tabel Lebih Renggang

Salah satu pilihan (paling mudah) untuk membuat itu adalah dengan menggunakan paket makecell. Sekaligus menebalkan judulnya, pada mukadimah, kita cantumkan 
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
kemudian tiap judul pada kepala tabel itu kita nyatakan di dalam perintah \thead{...}.
Agar dapat memberikan gambaran yang lebih jelas tentang uraian di atas, berikut ini saya lampirkan pengkodean untuk kedua tabel di atas. Silakan Anda salin lalu kompilasi dan perhatikan hasilnya.

\documentclass{article}
\usepackage[a4paper,margin=2cm]{geometry} %tata letak halaman
\renewcommand{\rmdefault}{put} %jenis huruf Utopia
\usepackage{caption} %untuk keterangan pada tabel/gambar
\usepackage{booktabs}
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}

\begin{document}

\begin{table}[!ht]
    \centering
\begin{tabular}{|c|c|c|}\hline
\thead{No.} & \thead{Nama Peserta} & \thead{Daerah Asal}\\\hline
1. & Andika Suryana & Sumedang\\\hline
2. & Bahtiar Alwi & Solo\\\hline
3. & Candra Hermanto & Tuban\\\hline
4. & Darmawan Hanafi & Banyuwangi\\\hline
\end{tabular}
\caption{}
\end{table}

\begin{table}[!ht]
    \centering
\begin{tabular}{cll}\toprule
\thead{No.} & \multicolumn{1}{c}{\thead{Nama Peserta}} & \multicolumn{1}{c}{\thead{Daerah Asal}}\\\midrule
1. & Andika Suryana & Sumedang\\\midrule
2. & Bahtiar Alwi & Solo\\\midrule
3. & Candra Hermanto & Tuban\\\midrule
4. & Darmawan Hanafi & Banyuwangi\\\bottomrule
\end{tabular}
\caption{}
\end{table}

\end{document}


Penutup

Pada tulisan lainnya, saya telah menerjemahkan suatu tulisan tentang cara menyusun tabel di dalam $\small\LaTeX$. Silakan Anda buka dan unduh berkasnya di sini. Anda juga dapat meninjau tulisan lainnya yang berkaitan dengan tabel, di situ atau di sana.

Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017

Saturday, January 28, 2017

Minted: Pilihan yang "Mahal"

Mukadimah

Bekerja dalam TeX Live dengan penyunting TeXworks sesekali menemui hal yang "ngeri-ngeri sedap", seperti ketika mengkompilasi dokumen yang memuat paket asymptote atau paket minted. Hal itu disebabkan adanya penggunaan pendukung yang diperoleh dari luar sistem TeX Live.
Paket minted memfasilitasi dalam hal menyoroti (high­light­ing) sintaks pada dokumen $\small\LaTeX$ secara ekspresif berkat dukungan dari kepustakaan pygments yang kuat. Paket minted juga menyediakan pilihan untuk menyesuaikan tampilan kode yang disorot dalam bentuk verbatim berhiaskan warna. Anda dapat melihat ulasan sebelumnya tentang hal ini di sini dan di sana. Nah, pygments inilah yang tidak tersedia di dalam TeX Live.
Di forum terdapat beberapa petunjuk untuk menyiasati agar paket minted dapat digunakan di dalam TeX Live, tetapi (hingga saat ini) saya belum berhasil melakukannya. Akhirnya pilihan saya jatuh kepada Anaconda3-4.2.0, meskipun saya harus "membayar mahal" senilai 341MB untuk memasangnya pada Windows 8.1 versi x86.

Apa yang Harus Dilakukan?

Dua hal yang harus kita lakukan agar kita dapat menggunakan paket minted di dalam TeX Live.
  1. Memasang Anaconda3-4.2.0 pada komputer. Silakan unduh dulu di situ kemudian ikuti petunjuk pemasangan yang muncul hingga pemasangannya selesai.
  2. Mengatur penyunting TeXworks untuk menggunakan fitur shell escape.
Untuk hal kedua dilakukan sebagai berikut.
Buka penyunting TeXworks, kemudian klik "Edit" lalu klik "Preferences ...".
Berikutnya, pada jendela popup yang muncul klik "Typesetting" lalu pada menu Processing tools klik "pdfLaTeX" kemudian klik "Edit".
Pada kotak Name kita dapat mengisinya sesuai dengan selera kita, misalnya "pdfLaTeX+shell escape". Sekarang klik tombol bertanda plus, kemudian tuliskan "--shell-escape". Setelah itu klik tanda panah ke atas untuk menggeser tulisan tadi satu langkah ke atas agar berada di atas $fullname. Terakhir, klik "OK".

Contoh Penggunaan

Sekarang kita sudah dapat menggunakan paket minted di dalam TeX Live. Tentu terdapat beberapa fitur dan opsi di dalam paket minted yang dapat kita pilih dan gunakan sesuai dengan keperluannya. Untuk mempelajari hal itu, silakan buka dokumentasinya. Sebagai contoh, silakan Anda salin dan kompilasi sintaks dokumen berikut ini. Hasilnya akan terlihat seperti gambar pertama di atas.
\documentclass[12pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{xcolor}
\usepackage{minted}
\definecolor{bistre}{RGB}{133, 109, 77}

\begin{document}

\begin{minted}[
    frame=lines,
    framerule=1pt,
    framesep=5pt,
    rulecolor=\color{bistre}
            ]{latex}
\documentclass[border=3pt]{standalone}
\usepackage{qrcode}
\begin{document}
\qrcode[height=5cm]{Matematika Nusantara}
\end{document}
\end{minted}

\end{document}

Penutup

Selain untuk menyoroti kode $\small\LaTeX$, paket minted juga dapat digunakan untuk menyoroti kode python di dalam dokumen $\small\LaTeX$.
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017

Sunday, January 1, 2017

Opsi dalam Pengarsiran

Mukadimah

Tulisan ini masih bertalian dengan hal mengarsir. Meskipun telah diterbitkan berbagai tulisan yang memuat hal mengarsir, namun setidaknya tulisan kali ini juga didukung oleh pemahaman terhadap materi tulisan sebelum ini.
Gambar dalam tulisan ini sepenuhnya dibuat oleh paket TikZ. Sedangkan pewarnaan (bila diperlukan) dapat dibuat bersama paket xcolor dengan opsi dvipsnames, svgnames, atau x11names.
Perhatikan gambar di samping.
  • Bagaimanakah cara membuat arsiran "selemah" itu?
  • Apa saja pilihan bentuk untuk arsiran?
  • Bagaimana sebaiknya cara mengarsir?
Ada 9 contoh masing-masing berupa kubus $ABCD.EFGH$ yang penulis tunjukkan dalam tulisan ini. Koordinat $A$ penulis letakkan pada pojok bawah-kiri. Penulis mengulasnya masing-masing dan menyoroti sekitar koordinat $F$ dengan memperbesarnya, berkat kepustakaan spy dari pake TikZ, untuk memperjelas akibat dari tindakan perintah gambar dan pengarsiran. Untuk itu Anda akan "bolak-balik" membaca uraian ini dan melihat hasilnya pada contoh dokumen pada bagian bawah tulisan ini.

Pengisian Daerah Tertutup

Suatu daerah tertutup dapat kita isi oleh salah satu dari dua pilihan, yaitu diisi oleh suatu warna (seperti dapat Anda lihat pada Gambar 1-3 dalam contoh dokumen terlampir) atau diisi oleh arsiran. Baik pengisian oleh warna maupun pengarsiran, keduanya merupakan opsi dalam perintah \draw atau \path.

Pengisian Daerah Tertutup oleh Warna

Misalkan sudah kita tetapkan koordinat $A$, $B$, $F$, dan $E$, maka pengisian daerah tertutup $ABFE$ dapat dilakukan dalam dua cara. Pertama, mengambar lintasan (path)-nya sekaligus mengisinya. Kita nyatakan
\draw[fill=...] (A)--(B)--(F)--(E)--cycle;
dan opsi fill diisi oleh jenis warna tertentu. Kedua, menetapkan lintasannya (oleh perintah \path) lebih dulu dan mengisinya oleh suatu warna, baru kemudian menggambarkan (0leh perintah \draw) lintasannya itu. Kita nyatakan (dalam dua baris)
\path[fill=...] (A)--(B)--(F)--(E)--cycle;
\draw[...] (A)--(B)--(F)--(E)--cycle;
Opsi dalam perintah \draw itu dapat diisi oleh opsi lainnya yang diperlukan atau dibiarkan kosong.

Pengisian Daerah Tertutup oleh Arsiran

Demikian halnya dalam pengarsiran, kedua cara itu sama berlakunya. Bila pengarsiran diinginkan bersamaan dengan menggambarkan lintasannya, maka kita nyatakan
\draw[pattern=...,pattern color=...] (A)--(B)--(F)--(E)--cycle;
Opsi pattern diisi oleh jenis arsiran tertentu dan (bila diperlukan) opsi pattern color diisi oleh warna tertentu.
Pada umumnya kita lebih sering membuat atau melihat arsiran itu berupa barisan gari-garis berjarak tertentu yang mengarah ke Barat Laut (North West) atau ke Timur Laut (North East). Tetapi bila kita buka buku panduan paket PGF (pgf manual) maka pada halaman 666 akan kita temukan berbagai jenis/bentuk arsiran sebagai berikut.
Kita dapat memilih salah satunya untuk mengisi opsi pattern tadi.
Bila kita tetapkan lebih dulu lintasannya (oleh perintah \path) dan mengarsir daerahnya oleh suatu bentuk arsiran, baru kemudian menggambarkan (0leh perintah \draw) lintasannya itu, maka kita nyatakan (dalam dua baris)
\path[pattern=...,pattern color=...] (A)--(B)--(F)--(E)--cycle;
\draw[] (A)--(B)--(F)--(E)--cycle;

Contoh-contoh

Pewarnaan pada contoh-contoh dalam dokumen terlampir di bawah ini masih menggunakan warna dasar, yang secara otomatis sudah dibawakan oleh paket TikZ. Oleh karena itu, dalam mukadimah (preamble), cukup kita cantumkan 
\usepackage{tikz}
\usetikzlibrary{patterns}
Kemudian, untuk menggambar kubus, kita tetapkan koordinat (misalnya)
\coordinate (A) at (0,0);
\coordinate (B) at (4,0);
\coordinate (C) at (6,1);
\coordinate (D) at (2,1);
\coordinate (E) at (0,4);
\coordinate (F) at (4,4);
\coordinate (G) at (6,5);
\coordinate (H) at (2,5);
Skala gambar dapat diatur sesuai dengan keperluannya. Agar pada sudut-sudutnya ujung-ujung rusuk tidak meruncing, kita cantumkan opsi line join=round seperti ini
\begin{tikzpicture}[scale=.75, line join=round]
Pada setiap contoh (gambar), perhatikan dampak dari perintah yang dibuat dan gambar yang dihasikan, yang diwakili oleh bagian pojok yang diperbesar itu. Anda dapat menambah perbesarannya pada pembaca berkas PDF Anda.

Gambar 1

Gambar 1 dihasilkan oleh perintah
\draw[fill=olive] (A)--(B)--(F)--(E)--cycle; 
\draw[fill=purple] (B)--(C)--(G)--(F) ;
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Bidang $ABFE$ dan $BCGF$ digambar sekaligus diisi daerahnya oleh warna.

Gambar 2

Gambar 2 dihasilkan oleh perintah
\draw[fill=olive,opacity=.8] (A)--(B)--(F)--(E)--cycle;
\draw[fill=purple,opacity=.6] (B)--(C)--(G)--(F) ;
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Sama seperti Gambar 1, tetapi dengan menurunkan tingkat tak tembus pandang (opasitas)-nya, sebagai opsi.

Gambar 3

Gambar 3 dihasilkan oleh perintah
\path[fill=olive,opacity=.8] (A)--(B)--(F)--(E)--cycle;
\path[fill=purple,opacity=.6] (B)--(C)--(G)--(F) ;
\draw[] (A)--(B)--(F)--(E)--cycle;
\draw[] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Sama seperti pada Gambar 2, tetapi pengisian oleh warna lebih dulu sebelum menggambarkan lintasannya.

Gambar 4

Gambar 4 dihasilkan oleh perintah
\draw[pattern=north west lines,pattern color=olive] (A)--(B)--(F)--(E)--cycle;
\draw[pattern=north east lines,pattern color=purple] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Bidang $ABFE$ dan $BCGF$ digambar sekaligus diisi daerahnya oleh arsiran.

Gambar 5

Gambar 5 dihasilkan oleh perintah
\path[pattern=north west lines,pattern color=olive] (A)--(B)--(F)--(E)--cycle;
\path[pattern=north east lines,pattern color=purple] (B)--(C)--(G)--(F) ;
\draw[] (A)--(B)--(F)--(E)--cycle;
\draw[] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Sama seperti pada Gambar 4, tetapi pengarsiran lebih dulu sebelum menggambarkan lintasannya.

Gambar 6

Gambar 6 dihasilkan oleh perintah
\draw[preaction={pattern=north west lines,pattern color=olive,nearly transparent}] (A)--(B)--(F)--(E)--cycle;
\draw[preaction={pattern=north east lines,pattern color=purple,nearly transparent}] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Ini salah satu "kekayaan" dalam paket TikZ. Kita dapat membuat arsiran "tipis" berkat opsi nearly transparent. dalam bentuk
preaction={pattern=...,pattern color=...,nearly transparent}
Pada ujung opsi itu dapat kita gunakan: nearly transparentvery nearly transparent, atau ultra nearly transparent, yang secara berturut-turut semakin "menipis". 

Gambar 7

Gambar 7 dihasilkan oleh perintah
\draw[preaction={pattern=north west lines,pattern color=olive,very nearly transparent}] (A)--(B)--(F)--(E)--cycle;
\draw[preaction={pattern=north east lines,pattern color=purple,very nearly transparent}] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
(Seperti pada Gambar 6) sebagai contoh penggunaan opsi very nearly transparent.

Gambar 8

Gambar 8 dihasilkan oleh perintah
\draw[pattern=north west lines,pattern color=olive,opacity=.8] (A)--(B)--(F)--(E)--cycle;
\draw[pattern=north west lines,pattern color=purple,opacity=.6] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Secara sekaligus menggambar lintasannya, mengarsir daerahnya, dan mengatur tingkat opasitasnya.

Gambar 9

Gambar 9 dihasilkan oleh perintah
\pattern[pattern=north west lines,pattern color=olive,opacity=.8] (A)--(B)--(F)--(E)--cycle;
\path[pattern=north west lines,pattern color=purple,opacity=.6] (B)--(C)--(G)--(F);
\draw[] (A)--(B)--(F)--(E)--cycle;
\draw[] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Sama seperti pada Gambar 8, tetapi pengarsiran dilakukan lebih dulu sebelum menggambar lintasannya.

Penutup

Dengan demikian, dalam pengisian daerah tertutup, kita perlu memperhatikan setidaknya dua hal, yaitu unsur estetis dan pilihan warna atau arsiran. Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017




Related Posts Plugin for WordPress, Blogger...