Monday, July 10, 2017

Bersolek pada Blog


Mukadimah

Beberapa waktu terakhir ini, saya semakin tertarik untuk bersolek lagi pada blog. Seperti dapat Anda lihat di sini, tulisan kali ini pun masih berkaitan dengan hal teknis dalam penampilan tulisan pada blog.
Perhatikan bagian mukadimah ini, Anda melihat suatu warna pada latarnya, bukan? Ini bukan pewarnaan pada latar teks melainkan pewarnaan pada bagian halaman yang berisi teks. Tentang pemilihan warna untuk latar ini, saya sarankan Anda untuk menggunakan w3schools. Hal teknis ini tentu sangat bermanfaat, misalnya ketika kita akan "menyoroti" suatu bagian tulisan agar memperoleh perhatian khusus dari pembaca. Mungkin berupa definisi, dalil, rumus, atau lainnya.
Hal kedua tentang bingkai berisi teks yang dapat dibuka dan ditutup, yang diistilahkan sebagai spoiler, untuk sekadar memberikan "kejutan". Anda biasa menemukan tulisan yang dikemas demikian, bukan?


Kedua hal di atas kita muat di dalam tulisan pada blog dalam modus HTML. Secara teknis Anda cukup menyalin kode yang ditunjukkan itu, kemudian Anda tempelkan dalam tulisan yang Anda buat pada blog (dalam modus HTML) dan Anda sunting sesuai dengan tampilan teks yang Anda inginkan.

Melatari Bagian Halaman oleh Warna

Silakan Anda salin kode HTML berikut ini untuk tulisan pada blog Anda.
<div style="background-color: #FFF8C6; margin-left: 20px; margin-right: 20px; padding-bottom: 8px; padding-left: 8px; padding-right: 8px; padding-top: 8px;">
</a><b>Ini bagian judul (bila diperlukan)</b><br/>
Tuliskan teks di sini.
</div>
Tiap nilai pada masing-masing opsi "background-color", "margin", dan "padding" dapat Anda atur sesuai dengan keperluannya.


Membuat Spoiler

Silakan Anda salin kode HTML berikut ini untuk tulisan pada blog Anda.
<button title="Click to Show/Hide Content" type="button" onclick="if(document.getElementById('spoiler') .style.display=='none') {document.getElementById('spoiler') .style.display=''}else{document.getElementById('spoiler') .style.display='none'}">Lihat/Tutup</button>
<div id="spoiler" style="display:none"> 
Tuliskan di sini teks yang disembunyikan. 
</div>


Penutup

Masih banyak hal yang belum kita ketahui tentang teknis penulisan pada blog. Semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017

Thursday, July 6, 2017

Standalone: Dokumen yang Menyendiri

Mukadimah

(Disebabkan oleh sesuatu hal) Pernahkah terpikirkan bagaimana bila gambar-gambar yang menyertai suatu dokumen disusun satu persatu secara mandiri (terpisah dari dokumen utama)? 
Ya, kita dapat melakukan hal itu dengan menggunakan kelas dokumen standalone. Standalone adalah kelas dokumen yang mencetak dokumen hanya untuk satu halaman berupa gambar. Kelas ini dapat menjadi pilihan jika kita bermaksud untuk membuat gambar dalam dokumen terpisah kemudian hasilnya (PDF) disertakan ke dalam dokumen utama oleh perintah
\includegraphics[opsi] {*.pdf}
Pada kelas ini, hal-hal di dalam mukadimah sama berlakunya seperti pada kelas dokumen lainnya, kecuali paket geometry dan teks pada naskah. Karena hanya untuk satu halaman maka keberadaan teks harus dalam lingkup perintah gambar, misalnya tikzpicture. Kelas ini juga tidak memerlukan paket geometry. Margin pada kelas ini diatur oleh opsi border yang akan memberikan "ruang kosong" dari gambar ke tiap tepi halaman (kertas).


Teknis Penulisan

Suatu ketika, di dalam media perpesanan Telegram, saya melihat suatu "logo" seperti tampak pada gambar di atas. Karena saya akan membuat satu gambar pada satu halaman di dalam satu dokumen, maka saya pilih kelas dokumen standalone.

Apa yang harus dilakukan?
Baris pertama pada struktur dokumen kita nyatakan kelas dokumen sebagai
\documentclass[border=15pt]{standalone}
Nilai pada opsi border tentu dapat diubah sesuai dengan keinginan kita.

Hal pokoknya hanya itu, kelas dokumen. Hal-hal berikutnya yang perlu kita cantumkan pada mukadimah semata hal-hal yang berkaitan dengan keperluan untuk menggambar, dalam hal ini oleh paket TikZ.
Perhatikan kembali gambar di atas. Bayangkanlah, kita akan menggambar suatu lingkaran besar (tanpa menggambarkan garis tepinya) yang diisi oleh warna merah (yang khas). Sedangkan di dalamnya digambar suatu persegi dalam kedudukan seperti itu dan pada kedua sisinya masing-masing dibuat lingkaran dan setengah lingkaran berjari-jari sama, yaitu setengah dari panjang sisi persegi itu. Semua bangun di dalam lingkaran besar itu diwarnai putih.
Untuk hal tersebut, kita memerlukan paket TikZ beserta kepustakaannya sebagai berikut.
\usepackage{tikz}
\usetikzlibrary{calc,decorations.text}
Kepustakaan calc diperlukan untuk menetapkan koordinat titik tengah dari sisi persegi sebagai pusat lingkaran dan menetapkan jari-jari lingkarannya, sedangkan kepustakaan decorations.text diperlukan untuk meletakkan teks yang melengkung mengikuti kelengkungan lingkaran besar.
Pewarnaan oleh paket xcolor dan dicantumkan sebelum paket TikZ. Warna merah itu dipinjam dari seseorang di forum yang dinamainya sebagai merah dari kota Cincinnati dan ditetapkan sebagai
\definecolor{CincinnatiRed}{RGB}{224,1,34}
Sedangkan warna teks ditetapkan oleh
\definecolor{bistref}{RGB}{133, 109, 77}
Pada contoh ini, dokumen kita kompilasi oleh mesin (engine) pengolah dokumen, compiler,  XeLaTeX agar kita dapat menggunakan jenis huruf Gecko dari sana dan kita cantumkan sebagai 
\usepackage{fontspec}
\setmainfont[Ligatures={TeX}]{Gecko.ttf}


Teknis Menggambar

Naskah/badan dokumen (main body) pada kelas dokumen standalone berupa lingkup perintah (environment) gambar tikzpicture
\begin{tikzpicture}[line join=round]
...
\end{tikzpicture}
Opsi line join=round diperlukan agar sudut persegi tidak runcing.
Mula-mula kita tetapkan koordinat titik-titik sudut persegi sebagai
\coordinate (A) at (-3,0);
\coordinate (B) at (0,-3);
\coordinate (C) at (3,0);
\coordinate (D) at (0,3);
Kemudian kita tetapkan dua pusat lingkaran masing-masing sebagai titik tengah dari $\overline{AD}$ dan $\overline{AD}$.
\coordinate (O1) at ($(A)!.5!(D)$);
\coordinate (O2) at ($(C)!.5!(D)$);
Urutan pertama dalam gambar adalah membuat lingkaran tanpa menggoreskan kelilingnya, hanya mengisinya oleh suatu warna. Ini dilakukan lebih dulu agar gambar persegi dan lingkaran kecil di dalamnya tampak (menimpa pewarnaan tersebut).
\fill[CincinnatiRed] (0,0.5) circle (5);
Kita buat lingkaran besar itu berpusat pada koordinat $(0,0.5)$ dan berjari-jari $5\,\textrm{cm}$.
Berikutnya kit gambarkan perseginya.
\draw[line width=3pt,white] (A)--(B)--(C)--(D)--cycle;
Persegi $ABCD$ (tanpa menunjukkan nama titik sudutnya) itu dibuat dengan ketebalan sisi $3\,\textrm{pt}$ dan diwarnai putih.
Sekarang kita akan menggambar lingkaran berpusat di $O_1$ dan berjari-jari $AO_1$.
\draw[line width=3pt,white] 
  let 
  \p1=($(A)-(O1)$), %jari-jari
  \n1={veclen(\x1,\y1)} %panjang jari-jari
  in
  (O1) circle (\n1);
Bila kita akan menggambar suatu lingkaran dengan diketahui koordinat pusat dan satu koordinat pada lingkaran itu, maka perintah untuk menggambar lingkaran tersebut harus seperti itu. Perintah \p1=... menetapkan ruas garis sebagai jari-jari dan perintah \n1=... menetapkan panjang jari-jarinya. 
Selanjutnya kita akan menggambar busur setengah lingkaran. Perhatikan bahwa pusat setengah lingkaran itu bukan di $O(0,0)$. Kita menetapkannya pada koordinat $O_2$. Untuk hal itu kita harus menambahkah opsi shift={(O2)} pada perintah menggambarnya.
\draw[line width=3pt,shift={(O2)},white] (D) arc(135:-45:{1.5*sqrt(2)});
Bayangkanlah, kita berada di $O_2$. Busur itu kita gambar busur dari $D$ ke arah $C$. Dalam arah mendatar, dari kanan $O_2$ ke $D$ membentuk sudut sebesar $135^\circ$ dan dari kanan $O_2$ ke $C$ membentuk sudut sebesar $-45^\circ$. Sedangkan panjang jari-jarinya senilai $\frac{3}{2}\sqrt{2}$. 
Terakhir kita akan meletakkan teks seperti tampak pada gambar di atas. Untuk melakukan itu kita memerlukan kepustakaan decorations.text
\path [postaction={
          decorate,
         decoration={
                     raise=-1.5ex,text along path,text align=center,pre length=15.7cm,
                     text={|\footnotesize\color{bistref}|Diberdayakan oleh {\LaTeX} 
                          {$\textrm{\textcopyright}$}2017 Sulaeman, S.Pd. 
                          {$\textrm{@}$}SMKN 2 Sumbawa Besar
                           }
                     }}] (0,.5) circle (5);
Pada dasarnya, kita menetapkan path lingkaran besar itu tanpa menggambarnya, kemudian oleh opsi postaction kita letakkan suatu teks. Dalam perintah decoration,

  • nilai raise menyatakan jarak teks terhadap lingkaran itu; tanda negatif untuk teks di luar lingkaran dan tanda postitif untuk teks di dalam lingkaran;
  • text along path memerintahkan $\LaTeX$ untuk menempatkan teks mengikuti bentuk kurva lingkaran;
  • text align memerintahkan $\LaTeX$ untuk menetapkan kedudukan teks pada path tersebut;
  • nilai pre length menyatakan penggeseran teks dari kedudukan awalnya pada path itu.
  • text={...} memuat teks dimaksud; bila teks berupa lambang atau rumus matematis maka harus diletakkan di dalam {...}; opsi untuk teks, misalnya ukuran huruf, pewarnaan, dll harus diletakkan di dalam |...|.

Hal-hal lainnya tentang penggunaan kepustakaan decorations.text dapat dipelajari pada dokumentasi paket PGF/TikZ.
Oleh seluruh rangkaian langkah menggambar di atas, kita akan memperoleh gambar seperti tampak pada awal tulisan ini.


Penutup

Bagian "paling rumit" dari gambar tersebut adalah peletakkan teks sepanjang kurva. Kita harus mengingat urutan perintah postaction, decorate, dan decoration beserta opsi-opsinya. Kita dapat menggunakan teknis perintah tersebut untuk jenis/bentuk kurva lainnya.
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017

Friday, June 30, 2017

Bingkai Tulisan pada Blogspot

Mukadimah

Bagi blogger yang memuat tulisan matematis, bingkai semacam di samping ini tentu diperlukan untuk melengkapi unsur keindahan pada suatu tulisan. Dua orang teman, ini dan itu, mengingatkan saya akan hal itu.
Di dalam $\LaTeX$, dalam modus matematis bentuk tayang (display), bingkai semacam itu tentu dapat dibuat dengan menggunakan perintah \boxed{...} dari paket amsmath. Namun hasilnya hanya dapat memuat rumus (equation) saja dan tampilannya kurang begitu baik.
Tidak ada pilihan lain, kita harus beralih ke modus HTML. Berkat panduan dari sini dan dari sana akhirnya saya dapat menuliskannya kembali untuk Anda.

Teknis Penulisan

Di mana pun pada bagian tulisan kita, letakkan kode berikut ini dalam modus HTML.
<div style="border: 5px double #C92020; padding: 5px; max-width:500px;">
...
</div>
Pada opsi $\textrm{border}$, 
  • opsi $5\,\textrm{px}$ menyatakan ketebalan garis tepi bingkai; kita dapat mengubahnya sesuai dengan keperluannya; 
  • opsi $\textrm{double}$ menyatakan bentuk garis tepi bingkai; kita dapat memilih yang lainnya, yaitu: $\textrm{dashed}$$\textrm{groove}$$\textrm{ridge}$$\textrm{inset}$, atau $\textrm{outset}$);
  • Opsi $\#\textrm{C}92020$ menyatakan warna bingkai dalam bentuk HEX; kita dapat menentukan warna HEX lainnya di situ atau oleh warna dasar, seperti: red, blue, green, yellow.
Pada opsi $\textrm{padding}$, $5\,\textrm{px}$ menyatakan jarak antara teks di dalam bingkai ke tepi bingkai; kita dapat mengubahnya sesuai dengan keperluannya. 
Pada opsi $\textrm{max-width}$, $500\,\textrm{px}$ menyatakan lebar bingkai yang mencakup teks di dalamnya; kita dapat mengubahnya sesuai dengan keperluannya.
Kemudian titik tiga itu kita isi oleh teks yang diinginkan di dalam tulisan tersebut. 
Sebagai contoh, bila kita nyatakan
<div style="border: 5px double #C92020; padding: 5px; max-width:500px;">
Misalkan $N$ menyatakan banyak angka nol berurutan di hasil akhir dari $n!$, maka
\begin{equation*}
N =\left\lfloor\frac{n}{5}\right\rfloor+\left\lfloor\frac{n}{5^2}\right\rfloor+\left\lfloor\frac{n}{5^3}\right\rfloor+\cdots+\left\lfloor\frac{n}{5^k}\right\rfloor
\end{equation*}
dengan $k$ memenuhi $5^k\le n$.
</div>
maka akan menghasilkan

Misalkan $N$ menyatakan banyak angka nol berurutan di hasil akhir dari $n!$, maka \begin{equation*} N =\left\lfloor\frac{n}{5}\right\rfloor+\left\lfloor\frac{n}{5^2}\right\rfloor+\left\lfloor\frac{n}{5^3}\right\rfloor+\cdots+\left\lfloor\frac{n}{5^k}\right\rfloor \end{equation*} dengan $k$ memenuhi $5^k\le n$.

Lalu, bagaimana bila kita ingin agar sudut-sudut bingkai itu lengkung seperti tampak pada gambar pada awal tulisan ini?
Untuk hal itu kita harus menambahkan opsi
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px;
sehingga berbentuk
<div style="border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border: 5px double #C92020; padding: 5px; max-width:500px;">
...
</div>
Tentu, ukuran kelengkungannya itu dapat kita ubah sesuai dengan yang kita inginkan. Dengan menggunakan opsi kelengkungan tersebut, perhatikan hasilnya berikut ini.

Misalkan $N$ menyatakan banyak angka nol berurutan di hasil akhir dari $n!$, maka \begin{equation*} N =\left\lfloor\frac{n}{5}\right\rfloor+\left\lfloor\frac{n}{5^2}\right\rfloor+\left\lfloor\frac{n}{5^3}\right\rfloor+\cdots+\left\lfloor\frac{n}{5^k}\right\rfloor \end{equation*} dengan $k$ memenuhi $5^k\le n$.

Bagaimana mudah, bukan?

Penutup

Tidak ada yang tidak mungkin sehubungan dengan hal teknologi informasi, kita hanya perlu meluangkan sedikit waktu untuk mempelajarinya.
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017

Sunday, June 25, 2017

Takbir Bersama Polyglossia



Mukadimah

Lebih dulu penulis mengucapkan
 تَقَبَّلَ اللّٰهُ مِنَّا وَ مِنۡكُمۡ. جَعَلَنَا اللّٰهُ وَ اِيَّاكُمۡ مِنَ العَائِدِيۡنَ وَ الفَائِزِيۡنَ. كُلُّ عَامٍ وَ اَنۡتُمۡ بِخَيۡرٍ

Mohon maaf lahir dan batin!
Kali ini kembali kita akan mengulas teknis penulisan teks Arab, tetapi berbeda dengan tulisan di sini, di situ, di sana, dan di sono, sekarang kita akan menuliskannya dengan menggunakan paket polyglossia dengan bahasa arabic dan jenis huruf Arab Amiri.
Secara teknis cara ini lebih mudah dan lebih praktis daripada menggunakan paket arabtex atau arabxetex. Dengan memasang dan mengatur bahasa yang disukai (language preferences), yaitu Bahasa Arab (pada komputer/laptop), kita tuliskan teks Arab itu dalam huruf Arab (bukan secara manual dalam huruf Latin, seperti dalam penggunaan paket arabtex atau arabxetex itu).

Apa yang Harus Dilakukan?

Pertama, pada komputer akan kita gunakan huruf (bahasa) Arab yang kita namai saja sebagai "Arabic Special". Dikatakan spesial karena jenis bahasa Arab ini lebih praktis, yaitu dilengkapi oleh tombol-tombol untuk fathah, kasrah, dhommah, tasydid, sukun, dll sehingga memudahkan kita dalam penulisannya. Lebih dulu silakan unduh Arabic Special itu di sini. Setelah Anda ekstrak, kemudian klik ganda berkas "setup" untuk memasangnya. Sekarang Anda luncurkan Touchpad Keyboard. Pada layar bagian bawah (Taskbar), klik kanan kemudian sorot menu Toolbars dan klik Touchpad Keyboard.
Klik pintasan Touchpad Keyboard pada Taskbar itu, maka akan muncul
Klik pojok bawah-kanan itu, maka akan muncul
Nah, sekarang klik Arabic Special keyboard itu, maka akan tampak
Itulah tombol-tombol yang akan kita gunakan untuk penulisan teks Arab.

Teknis Penulisan

Bila Anda mampu mengingat kedudukan tombol-tombol untuk Arabic Special yang bersesuaian dengan tombol-tombol QWERTY lazimnya, maka tentu bukan suatu masalah dalam penulisan teks Arab tersebut. Bila tidak (seperti penulis), maka penggunaan Touchpad Keyboard itu sangat membantu untuk membiasakan diri dalam penggunaannya. 

Sekarang kita akan memulai untuk menuliskan teks Arab. Perlu diketahui/diingat bahwa paket polyglossia dijalankan oleh "pengolah dokumen" (compiler) XeLaTeX. Selain itu, kita pun dapat menggunakan Bahasa Indonesia untuk teks lainnya. Hal itu diolah oleh paket fontspec. Berikut ini unsur kebahasaan yang harus kita cantumkan pada mukadimah
\usepackage[T1]{fontenc}
\usepackage[no-math,quiet]{fontspec}
Latin\setmainfont[Ligatures=TeX]{TeX Gyre Pagella} %untuk teks Latin
\newfontfamily\arabicfont[Script=Arabic,Scale=1.25,Mapping=arabicdigits]{Amiri} %jenis huruf Arab beserta ukurannya
\usepackage{polyglossia}
\setmainlanguage{bahasai} %untuk sistem Bahasa Indonesia
\setotherlanguage{arabic} %untuk teks Arab

Kemudian, pada naskah, teks Arab itu kita tuliskan di dalam lingkup perintah (environment) Arabic, misalnya
\begin{Arabic}
%\fontsize{30}{30}\selectfont%ukuran huruf (lokal), bila diperlukan
،اَللّٰهُ اَكۡبَرُ، اَللّٰهُ اَكۡبَرُ، اَللّٰهُ اَكۡبَرُ
\end{Arabic} 
Ada kalanya (untuk hal tertentu) ditambahi oleh terjemahan (misalnya) atau keterangan tentang teks Arab itu dalam tulisan Latin berbahasa Indonesia. Kita dapat mencantumkannya sekaligus di dalam lingkup perintah Arabic itu oleh lingkup perintah bahasai. Misalnya, 
\begin{Arabic}
أَعُوۡذُ بِكَلِمَاتِ اللّٰهِ التَّامَّاتِ مِنۡ شَرِّ مَا خَلَقَ

\begin{bahasai}
Aku berlindung dengan kalimat-kalimat Allāh yang sempurna dari kejahatan apa yang diciptakan-Nya.
\end{bahasai}
\end{Arabic} 

Penutup

Karena bukan penutur asli dari Bahasa Arab, ditambah lagi tidak terbiasa dengan teks Arab, cara yang telah diulas di atas cukup membantu penulis ketika ingin menuliskan teks Arab. Tentu, bagaimana pun, pengetahuan tentang huruf Arab dan ejaannya akan membantu dalam hal ketepatan dan kecepatan untuk menuliskannya.
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017

Wednesday, June 21, 2017

Teknis Matematis #7 Kekongruenan Bilangan

Mukadimah

Pada suatu saat mungkin Anda perlu menuliskan kekongruenan bilangan seperti tampak di samping ini. Secara teks, tentu, hal itu dapat dituliskan secara langsung. Namun demikian apakah Anda akan menghitung hasil kekongruenan itu lebih dulu?
Tidak perlu, $\LaTeX$ memiliki sumber daya untuk hal itu baik dalam penulisan maupun dalam penentuan hasilnya. Berapakah sisa pembagian dari $349$ oleh $8$?
Akan kita ulas teknis penulisan kekongruenan bilangan untuk bilangan yang "sederhana" (seperti contoh pada gambar tersebut), bukan bilangan dalam bentuk pangkat atau bilangan "rumit" lainnya. Ada $4$ paket yang dapat kita pilih untuk digunakan dalam hal itu, yaitu calculator, pgf, fp, dan expl3.

Teknis Penulisan

Menggunakan Paket Calculator

Bila kita kita akan menuliskan dan menetapkan nilai sisa pembagian dari $349$ oleh $8$ oleh paket calculator maka pada mukadimah kita cantumkan
\usepackage{calculator}
Kemudian perintah penulisan dan hasil perhitungannya oleh paket calculator kita nyatakan dengan
\MODULO{349}{8}{\sol}
Hasilnya akan tampak seperti pada gambar di atas.

Menggunakan Paket Pgf

Bila kita kita akan menuliskannya oleh paket pgf maka pada mukadimah kita cantumkan
\usepackage{pgf}
Bila kita ingin penulisan dan perhitungan nilai seperti tampak pada gambar di atas, maka lebih dulu kita perlu menetapkan suatu perintah baru, misalnya
\pgfmathtruncatemacro{\hitung}{\pgfmathresult}
Kemudian pencetakan teks dan hasilnya diperintahkan oleh
$349\equiv\hitung\pmod{8}$
Hasilnya akan tampak seperti pada gambar di atas.
Bila kita hanya ingin menunjukkan hasil perhitungannya saja maka cukup kita nyatakan
\pgfmathparse{mod(349,8)} \pgfmathresult
dan paket pgf akan memberikan hasilnya dalam satu tempat desimal sebagai $5.0$.

Menggunakan Paket Fp

Pilihan ketiga adalah dengan menggunakan paket fp. Selain mencantumkan paketnya (dalam opsi nomessages), kita masih harus menetapkan dulu perintah baru untuk penulisan teks dan perhitungannya.
\usepackage[nomessages]{fp}
\newcommand{\modulo}[2]{%
  \FPeval{\result}{trunc(#1-(#2*trunc(#1/#2,0)),0)}\result
}
Dengan perintah \modulo tersebut maka pencetakan teks dan hasilnya itu diberikan oleh
$349\equiv\modulo{349}{8}\pmod{8}$
dan hasilnya akan tampak seperti pada gambar di atas.

Menggunakan Paket Expl3

Pilihan keempat adalah dengan menggunakan paket expl3. Seperti dalam penggunaan paket fp, selain pencantuman paketnya, lebih dulu kita masih harus menetapkan suatu perintah baru.
\usepackage{expl3}
\ExplSyntaxOn
\newcommand{\modulonya}[2]{\int_mod:nn{#1}{#2}}
\ExplSyntaxOff
Dengan perintah \modulonya tersebut maka pencetakan teks dan hasilnya itu diberikan oleh
$349\equiv\modulonya{349}{8}\pmod{8}$
Hasilnya akan tampak seperti pada gambar di atas.

Bila kita hanya ingin menunjukkan hasil perhitungannya saja maka cukup kita nyatakan
$\modulonya{349}{8}$

Penutup

Tentu banyak "pernak-pernik" dalam hal teknis penulisan dokumen yang perlu kita ketahui agar dokumen yang kita tulis tercetak secara optimal. Karena untuk hal itu kita harus merancangnya sendiri maka kita perlu mempelajarinya. Dua situs, CTAN dan StackExchange (SE), merupakan sumber belajar yang diperlukan.
Demikian semoga bermanfaat. 

$\square$ Adjie Gumarang Pujakelana 2017

Monday, June 19, 2017

PDFComment: Menyertakan Komentar pada Naskah

Mukadimah

Dunia penuh "warna", demikian ungkapan yang kerap kita dengar. Demikian pula kaitannya dengan isi tulisan atau naskah pada suatu dokumen. Untuk suatu maksud tertentu, layaklah bila kita mempertimbangkan cara dan teknis agar naskah/dokumen itu tampak "anggun", menarik, dan praktis. 
Perhatikan gambar di samping ini. Pada suatu ketika Anda mungkin pernah menemukan suatu dokumen berbentuk PDF yang memuat "penandaan" semacam itu dan berisi suatu komentar dari penulisnya. 
Bagaimana penulis/penyunting dokumen melakukan hal itu?
Di dalam $\LaTeX$ kita memiliki sumber daya semacam itu, yang dikemas dalam bentuk paket. Ada fixme, todonotes, cooltooltips, fancytooltips, dan pdfcomment. Kita akan mengulas yang disebut terakhir itu.

Teknis Penulisan

Lebih dulu, pada mukadimah, kita cantumkan paketnya.
\usepackage[opsi]{pdfcomment}
Ada beberapa opsi yang (mungkin) perlu dan dapat kita cantumkan. (Anda dapat mempelajarinya secara lengkap pada dokumentasinya.) Salah satunya adalah nama seseorang (penulis atau siapa pun) yang menyatakan komentar itu. Bila nama komentator itu ingin dicetak (disertakan) maka kita nyatakan
\usepackage[author={nama_komentator_yang_dirujuk}]{pdfcomment}
Sekarang kita dapat memulai untuk menerapkan komentar pada bagian dari naskah/tulisan. Komentar kita berikan dalam bentuk perintah beserta opsinya (sekiranya diperlukan). Ada beberapa perintah yang dapat kita gunakan (seperti tertuang pada dokumentasinya), namun saya hanya akan mengulasnya dua saja, yaitu pdfcomment dan pdfmarkupcomment. Masing-masingnya dapat kita letakkan pada awal, akhir, atau di antara keduanya pada suatu kalimat (teks). Perintah pertama kita nyatakan sebagai
\pdfcomment[opsi]{teks_komentar}
Ada beberapa opsi yang dapat kita pilih dan cantumkan, di antaranya warna dan ikon (lihat dokumentasinya). Untuk baris pertama pada contoh di atas, saya nyatakan
Persamaan kuadrat $ax^2+bx+c=0$, $a\neq0$, selalu \pdfcomment[color=red,icon=Note]{Perhatikan ini!} memiliki dua akar.
Berbagai jenis ikon dapat Anda lihat pada dokumentasinya.

Perintah kedua saya nyatakan sebagai
\pdfmarkupcomment[opsi]{teks_yang_dikenai_opsi}{teks_komentar}
Ada beberapa opsi yang dapat kita pilih dan cantumkan, di antaranya warna dan markup (lihat dokumentasinya). Untuk baris kedua pada contoh di atas, saya nyatakan
\pdfmarkupcomment[markup=StrikeOut,color=red]{Dilarang membuang}{Buanglah} pada tempatnya!
Opsi markup menyediakan $4$ pilihan, yaitu teks yang dilatari oleh suatu warna (Highlight), teks yang digarisbawahi (Underline), teks yang digarisbawahi oleh garis bergerigi (Squiggly), dan teks yang dicoret (StrikeOut).

Demikianlah untuk baris ketiga, keempat, dan kelima berturut-turut saya nyatakan
\pdfmarkupcomment[markup=StrikeOut,color=red]{Dilarang membuang}{Buanglah} pada tempatnya!

\pdfmarkupcomment[markup=Highlight,color=yellow]{Setiap waktu akan menuakan sesuatu.}{Ini hasil dari permenungan, hehehe ...}

Perhatikan gambar \pdfcomment[icon=Comment,color=blue]{Ingat gambarnya!} berikut ini!
Hasilnya terlihat pada dokumen berikut ini. Anda perlu menggunakan Adobe Reader atau Adobe Acrobat Reader DC untuk membuka dan menampakkan hasilnya. Kemudian penampakkannya itu dapat pula Anda atur pada menu Tools > Comment.






Penutup

Tak sesuai dengan lirik dari Andra and the BackBone, paket pdfcomment tidaklah begitu sempurna. "Kekurangannya" antara lain:
  • Penampakkan ikon komentar cukup menyita "ruang baris" untuk teks. Oleh karena itu (seperti contoh dokumen tersebut), penyertaan penggunaan paket pdfcomment akan tampak agak baik bila digunakan spasi (linespread) $2\textrm{pt}$.  
  • Terdapat kerenggangan yang cukup jauh antara teks komentar dengan tepi atas kotak komentar, ketika opsi global paket itu tidak menggunanakan nama komentator.
  • Teks komentar tidak dapat dinyatakan dalam modus matematis (rumus). 
  • Ikon komentar memberikan kesan "ramai" pada tulisan/naskah.
Untuk meniadakan kesan "ramai" itu, kita dapat menggunakan perintah pdftooltip melalui suatu perintah baru (cantumkan pada mukadimah). Misalnya,
\newcommand\komentar[3]{\newcommand{#1}{\pdftooltip{#2}{#3}}}
Sebagai contoh, kita dapat menggunakannya dalam menyatakan rumus untuk persamaan garis bergradien $m$ dan melalui suatu koordinat $(a,b)$. Untuk keperluan itu kita dapat menetapkan beberapa perintah yang mendukungnya, misalnya
\komentar{\m}{m}{gradien}
\komentar{\absis}{a}{absis dari titik yang dilalui oleh garis}
\komentar{\ordinat}{b}{ordinat dari titik yang dilalui oleh garis}
\komentar{\teks}{Persamaan garis}{sebagai contoh saja}
Dengan demikian di dalam naskah dapat kita tuliskan
\teks\ yang bergradien $m$ dan melalui koordinat $(a,b)$ ditentukan oleh $y-\ordinat = \m(x-\absis)$.
dan hasilnya tampak pada baris terakhir dalam dokumen terlampir berikut ini. Silakan Anda arahkan kursor pada bagian rumus $y-b=m(x-a)$, maka pada huruf-huruf $b$, $m$, dan $a$ Anda akan memperoleh komentar sebagaimana telah ditetapkan di atas.
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017