Sunday, June 26, 2016

Menampilkan Pengkodean dalam Dokumen LaTeX

Mukadimah

Untuk suatu keperluan tertentu, kita kadang ingin menunjukkan kepada pembaca tentang suatu pengkodean yang menghasilkan teks/gambar yang dihasilkan. Meskipun demikian, memang masih diperlukan keterangan tambahan secara terpisah tentang paket dll yang digunakan untuk itu, baik di dalam mukadimah (preamble) maupun di dalam badan dokumen (main body).
Bagaimana cara menunjukkan kepada pembaca tentang pengkodean untuk gambar di samping ini? Ada beberapa cara yang dapat dilakukan untuk itu, tetapi kali ini akan saya tunjukkan empat cara, yaitu dengan menggunakan
  1. lingkup perintah (environment) verbatim 
  2. paket listings 
  3. paket minted 
  4. paket showexpl 

Menampilkan Kode dengan Menggunakan Verbatim

Lingkup perintah verbatim telah disediakan oleh $\small\LaTeX$, oleh karena itu kita dapat langsung menggunakannya dengan menuliskan
\begin{verbatim} 
Tulis kode di sini 
\end{verbatim}
Dengan menggunakan lingkup perintah verbatim, kode untuk gambar tersebut dapat diperlihatkan oleh
\begin{verbatim}
\begin{tikzpicture}
\node (a) at (0,0) {$\tan x$};
\node (b) at (4,0) {$\sec^2 x$};
\draw[-latex,bend left,blau]  (a) edge (b) ;
\draw[-latex,bend left,Tomato]  (b) edge (a);
\path[blau] (a) -- (b) node[midway,above,yshift=.8cm] {\small diferensial};
\path[Tomato] (b) -- (a) node[midway,below,yshift=-.8cm] {\small integral};
\end{tikzpicture}
\end{verbatim}
Hasilnya seperti ini


Menampilkan Kode dengan Menggunakan Paket Listings

Seperti terlihat di atas, hasil dari lingkup perintah verbatim tampak ``biasa'' saja. Mungkin akan tampak lebih menarik bila, misalnya, kode itu diletakkan di dalam suatu bingkai (frame) dan dilatari oleh suatu warna. Kita dapat melakukan itu dengan menggunakan paket listings. Lebih dulu, dalam mukadimah kita muat paket listings beserta pengaturan dalam penggunaannya, misalnya
\usepackage{listings}
\lstset{
basicstyle=\ttfamily,frame=lines,
framexleftmargin=0.5em,framexrightmargin=0.5em,
backgroundcolor=\color{LemonChiffon}
}
kemudian kita menuliskan kodenya dan mengatur lebar bingkainya, misalnya
\begin{lstlisting}[linewidth=10cm]
Tulis kode di sini
\end{lstlisting}
Hasilnya seperti ini
Hal-hal lainnya sehubungan dengan penggunaan paket listings dapat dipelajari dalam dokumentasinya.


Menampilkan Kode dengan Menggunakan Paket Minted

Seperti telihat di atas, meskipun paket listing dapat menampilkan kode berbingkai disertai oleh pewarnaan pada latarnya tetapi teks yang dihasilkan berwarna dasar (hitam). Mungkin akan tampak lebih menarik bila digunakan warna berbeda pada teks tersebut. Inilah yang dilakukan oleh paket minted. Lebih dulu, dalam mukadimah kita muat \usepackage{minted} kemudian kita menuliskan kodenya, misalnya, sebagai berikut.
\begin{minted}[
    frame=lines,
    framerule=1pt,
    framesep=5pt,
    rulecolor=\color{bistre}
            ]{latex}
Tuliskan kode di sini
\end{minted}
Dengan menggunakan paket minted, kode untuk gambar tersebut dapat diperlihatkan oleh
\begin{minted}[
    frame=lines,
    framerule=1pt,
    framesep=5pt,
    rulecolor=\color{bistre}
            ]{latex}
\begin{tikzpicture}
\node (a) at (0,0) {$\tan x$};
\node (b) at (4,0) {$\sec^2 x$};
\draw[-latex,bend left,blau]  (a) edge (b) ;
\draw[-latex,bend left,Tomato]  (b) edge (a);
\path[blau] (a) -- (b) node[midway,above,yshift=.8cm] {\small diferensial};
\path[Tomato] (b) -- (a) node[midway,below,yshift=-.8cm] {\small integral};
\end{tikzpicture}
\end{minted}
Hasilnya seperti ini
Hal-hal lainnya sehubungan dengan penggunaan paket minted dapat dipelajari dalam dokumentasinya.


Menampilkan Kode dengan Menggunakan Showexpl

Sesuai dengan namanya, kelebihan dari paket showexpl adalah dapat menunjukkan gambar yang dibuat sekaligus dengan menunjukkan kodenya, disertai dengan penomoran pada tiap barisnya. Pada opsinya, kita juga dapat memberinya garis bingkai dan warna pada latarnya, sedangkan teks hanya dalam satu warna. Lebih dulu, dalam mukadimah kita muat paket showexpl beserta pengaturan dalam penggunaannya, misalnya 
\usepackage{showexpl}
\lstdefinestyle{gayaku}{
    backgroundcolor=\color{BurlyWood!15},
    numberstyle=\footnotesize, 
    numbersep=5pt,
    rframe=
}
kemudian kita menuliskan kodenya dan mengatur lebar bingkainya, misalnya
\begin{LTXexample}[style=gayaku,width=.3\linewidth,pos=l]
Tuliskan kode di sini
\end{LTXexample}
Opsi tersebut memerintahkan $\small\LaTeX$ untuk menggunakan pengaturan ``gayaku'' yang telah ditetapkan dalam mukadimah, ``kolom'' halaman terbagi atas 30% untuk gambar dan 70% untuk kodenya, kemudian gambar diletakkan di kiri (l = left). Perhatikan contoh penggunaannya berikut ini.
\begin{LTXexample}[style=gayaku,width=.3\linewidth,pos=l]
\begin{tikzpicture}
\node (a) at (0,0) {$\tan x$};
\node (b) at (4,0) {$\sec^2 x$};
\draw[-latex,bend left,blau]  (a) edge (b) ;
\draw[-latex,bend left,Tomato]  (b) edge (a);
\path[blau] (a) -- (b) 
node[midway,above,yshift=.8cm] {\small diferensial};
\path[Tomato] (b) -- (a) 
node[midway,below,yshift=-.8cm] {\small integral};
\end{tikzpicture}
\end{LTXexample}
Hasilnya seperti ini

Penutup

Demikianlah sesuai dengan keperluannya kita menunjukkan kode atas hasil gambar (atau teks) yang kita buat dengan menggunakan salah satu dari keempat pilihan tersebut.
Semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Tuesday, June 21, 2016

Garis Sejajar

Mukadimah

Tentang kesejajaran garis kita akan menemukan aksioma berikut ini.
"Melalui suatu titik yang terletak di luar suatu garis dapat dibuat tepat satu garis yang sejajar dengan garis tersebut."
Juga akan kita temukan dua dalil (teorema) berikut ini.
"Dua garis yang tegak lurus pada suatu garis adalah sejajar."
"Jika suatu garis memotong tegak lurus pada salah satu dari dua garis yang sejajar maka garis itu juga tegak lurus terhadap garis lainnya."
Sehubungan dengan itu, seperti tampak pada gambar di samping ini, kali ini kita akan menggambar suatu garis yang sejajar dengan garis lain dan melalui suatu titik yang diketahui. Dalam hal ini kita gunakan paket TikZ.


Apa yang Kita Lakukan?

Misalkan kita ketahui suatu garis $g$ yang melalui titik $O(0,0)$ dan titik $P(3,1)$. Kemudian melalui (misalkan) suatu titik $A(2,2)$ akan kita buat suatu garis $h$ yang sejajar dengan $g$. Untuk hal ini (dalam mukadimah/preamble) kita memerlukan kepustakaan TikZ calc dan (bila perlu) pewarnaan oleh paket XColor.
\usepackage[svgnames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc}
Dalam lingkup perintah (environment) gambar TikZ kita awali (misalnya) dengan menetapkan koordinat untuk titik $O$ dan $P$
\coordinate (O) at (0,0) ;
\coordinate (P) at (3,1);
dan menggambarkan (ruas) garisnya
\draw (O)--(P); %garis yang diketahui
Kemudian kita tetapkan koordinat titik $A$
\coordinate (A) at (2,2); %titik yang diketahui
dan menandainya dengan "noktah" (berupa lingkaran kecil) sekaligus menamainya
\fill (A) circle (2pt) node[right] {A};
Sekarang kita tiba pada hal paling pokok dalam masalah ini, yaitu menetapkan suatu titik (misalkan $B$) demikian sehingga $\overline{AB}\parallel\overline{OP}$.
Untuk ini kita tetapkan
\coordinate (B) at ($(O)!(A)!90:(P)$);
Dengan demikian titik $B$ akan segaris dengan titik $A$ dan proyeksi $B$ pada $\overline{OP}$ adalah titik $O$. Jika bagian dari koordinat itu 90: dihilangkan maka akan menghasilkan proyeksi $A$ pada $\overline{OP}$.
Terakhir, kita hubungkan $A$ dan $B$ untuk menunjukkan kedua garis $\overline{AB}\parallel\overline{OP}$.
\draw[blue] (A)--(B);

Penutup

Perhatikan bahwa kunci dari masalah ini terdapat pada baris nomor 7 seperti tampak pada gambar di atas.
Demikian semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Wednesday, June 15, 2016

Pengaturan Tab dalam Dokumen LaTeX

Mukadimah

Ada Kata Kunci Pencarian yang muncul di dapur berbunyi, "mengetik tab dalam LaTeX". Ini mengingatkan saya karena memang belum pernah sama sekali menulis tentang hal tersebut. Sebagai contoh, mari kita lihat dokumen berikut ini.




Istilah tab sendiri tidak memiliki padanan di dalam Bahasa Indonesia dan tidak ada terjemahannya secara baku. 
Seperti kita lihat pada dokumen di atas, pengetikan "dihentikan" pada jarak/spasi tertentu demikian sehingga teks-teks pada baris-baris berikutnya tampak "lurus" mengikuti ketetapan dalam "penghentian" itu. Dalam $\small\LaTeX$, tab dihasilkan oleh lingkup perintah (environment) tabbing, yang merupakan salah satu pilihan selain lingkup perintah minipage.


Menetapkan dan Menggunakan Tab

Tab-tab ditetapkan dalam lingkup perintah tabbing sebagai berikut.
\begin{tabbing}
...
\end{tabbing}
Tab pertama mengacu pada margin kiri dan menjorok ke dalam sejauh yang ditetapkan dalam
\hspace{...} \= \kill
Isilah oleh nilai (bilangan) dan satuannya. Pada dokumen di atas, kata "Umur" menjorok ke dalam sejauh tiga huruf "m", yaitu $3em$. Seperti Anda lihat, contoh pertama (bagian atas) pada dokumen di atas menunjukkan penggunaan tiga tab. Hal itu ditetapkan oleh
\begin{tabbing}
\hspace{3em}\=\hspace{3.5cm}\=\hspace{4cm}\=\kill
...
\end{tabbing}
Dalam penggunaannya, setiap tab dibuat oleh \>. Sebagai contoh, perhatikan penggunaan tab pada baris berikut ini.
\> \textbf{Saat ini:} \> \textbf{Tahun depan:} \> Berdasarkan (*) dan (**) diperoleh


Gambar TikZ Sebaris (Inline)

Bila kita ingin membuat dan memuat gambar TikZ sebaris dengan teks maka kita nyatakan
\tikz[opsi] ... ;
Pada dokumen tersebut tampak lingkaran yang diwarnai oleh biruku
\usepackage{xcolor}
\definecolor{biruku}{cmyk}{1,0.80,0.30,0.05}
dan di dalamnya ditulisi oleh teks "Soal" berwarna putih. Itu dibentuk oleh perintah node
\tikz[baseline=-1.2mm,overlay]
\node [circle, fill=biruku, minimum width=2.5em]{\color{White}\large\textbf{Soal}};
Opsi baseline mengatur letak gambar terhadap garis dasar pada suatu baris. Nilai asalnya $0$, bila nilainya bertanda negatif maka gambar terletak di atas garis dasar dan demikian sebaliknya. Opsi overlay akan menempatkan gambar pada awal suatu baris.
Perintah node menyediakan tempat yang dapat diisi oleh gambar dan/atau teks. Opsi circle memerintahkan agar tempat itu diisi oleh lingkaran yang berisi (fill) warna biruku dengan lebar minimum $2,5em$. Di tengah-tengah gambar itu diletakkan pula teks "Soal". Dengan menetapkan lebar minimum maka lebar (diameter) lingkaran akan "mengikuti" lebar teks yang dituliskan.



Penutup

Demikianlah cara membuat dan menggunakan tab dalam dokumen $\small\LaTeX$. Berikut ini pengkodean selengkapnya untuk dokumen di atas. Semoga tulisan ini bermanfaat.
\documentclass[a4paper,10pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[indonesian]{babel}
\usepackage{mathpazo}
\renewcommand{\rmdefault}{ppl}
\let\ds\displaystyle
\usepackage{xcolor}
\definecolor{biruku}{cmyk}{1,0.80,0.30,0.05}
\usepackage{tikz}

\begin{document}

\begin{tabbing}
\hspace{3em}\=\hspace{3.5cm}\=\hspace{4cm}\=\kill
\tikz[baseline=-1.2mm,overlay]
 \node [circle, fill=biruku, minimum width=2.5em]{\color{White}\large\textbf{Soal}}; \> Umur Andi lebih tua 2 tahun dari umur Kiki. Tahun depan umur Andi\, $\ds\frac{6}{5}$\, dari umur Kiki. \\
 \> Tentukan jumlah umur mereka sekarang.\\[1em]
 \> \textbf{\large Jawaban:}\\
 \> Misalkan, saat ini:
 \> umur Andi $=x$\\
 \> \> umur Kiki $=y$\\[1em]
 \> \textbf{Saat ini:} \> \textbf{Tahun depan:} \> Berdasarkan (*) dan (**) diperoleh\\[.5em]
 \> $x=y+2$\ \ldots\ldots\ (*) \> $x+1=\ds\frac{6}{5}(y+1)$ \> $5(y+2) = 6y+1$\\[.25em]
 \> \> $5x+5 = 6(y+1)$ \> $5y+10 = 6y+1$\\
 \> \> $5x+5 = 6y+6$ \> $6y-5y = 10-1$\\
 \> \> $5x = 6y+1$\ \ldots\ldots\ (**) \> $y=9$\quad sehingga\quad $x=9+2=11$\\[1em]
 \> Jadi jumlah umur mereka sekarang adalah $11+9=20$.
\end{tabbing}

\bigskip

Ini contoh teks/paragraf tanpa \emph{tab}.

\bigskip

\begin{tabbing}
\hspace{3em} \= \hspace{4cm} \=\kill
\> \textbf{\large Pinasti}\\[1em]
\> Aku dan kamu \>Telanjur ke tengah \\
\> adalah laut \> sampan melaju \\
\> harusnya biarkan \> mengarungi riwayat\\
\> sampan merapat \> riak gelombang \\
\> tapi ... \> tertolak arah\\
\> musimku bila \> ditampar ombak\\
\> airmu memercikku \> mungkin pun karam \\
\> \> ada cerita\\[1em]
\> \> {\small\em Sumbawa, Juni 2002}\\[2em]
\> {\small\textcopyright\,2016\, Adjie Gumarang} Pujakelana
\end{tabbing}

\end{document}

$\square$ Adjie Gumarang Pujakelana 2016

Tuesday, June 14, 2016

Gambar "Sederhana"

Mukadimah

Kemarin saya disodori gambar seperti tampak di samping ini. Menarik, bukan?
Kita diajak untuk menandai (dengan warna atau arsiran) suatu daerah yang dibatasi oleh dua ruas garis lurus dan satu busur seperempat lingkaran (kenapa?)
Kita dapat membuat gambar tersebut dengan menggunakan paket TikZ.
Sebagai pembanding, dapat pula Anda baca beberapa tulisan yang bertalian dengan hal ini, yaitu:


Menggambar Segitiga ABC

Kita ikuti "coretan" pada gambar di atas bahwa panjang $AB=2=BC$, sehingga kita dapat menempatkan titik $B$ pada koordinat $(0,0)$, titik $C$ pada $(2,0)$, dan titik $A$ pada $(0,2)$. Dengan demikian, secara ringkas, segitiga $ABC$ kita gambar oleh 
\draw[thick] 
(0,0) coordinate (B) node[below] {B} --
(2,0) coordinate (C) node[right] {C} --
(0,2) coordinate (A) node[above] {A} --cycle;
Hasilnya tampak pada Gambar 1 dalam dokumen terlampir di bawah ini. Jelas bahwa $\triangle{ABC}$ siku-siku dan sama kaki itu mengakibatkan besar sudut $\measuredangle{ACB}=\measuredangle{BAC}=45^\circ$.


Menggambar Busur BD

Pada suatu arah putar, kita akan menggambar busur $BD$, yang berjalan dari titik $B$ ke titik $D$ sejauh $\angle{DCB}$ dengan pusat di titik $C$. Mengacu pada sumbu $\overrightarrow{CX_+}$, titik $B$ diperoleh dari suatu titik pada $\overrightarrow{CX_+}$ dengan memutarnya sejauh $180^\circ$ dan titik $D$ diperoleh dari suatu titik pada $\overrightarrow{CX_+}$ dengan memutarnya sejauh $135^\circ$ (karena $\measuredangle{DCB}=\measuredangle{ACB}=45^\circ$). Dalam koordinat kutub dengan jari-jari $2\,\textrm{cm}$, kita gambar busur $BD$ oleh
\draw[thick] (B) arc(180:135:2cm) node[black,above,xshift=.1cm] {D};
dan sekaligus menamai titik ujungnya sebagai $D$. Hasilnya dapat dilihat pada Gambar 2 dalam dokumen terlampir.


Menggambar Busur BE

Dengan pemahaman seperti tadi, kita akan menggambar busur $BE$, yang berjalan dari titik $B$ ke titik $E$ sejauh $\angle{BAC}$ dengan pusat di titik $A$. Mengacu pada sumbu $\overrightarrow{AX_+}$, titik $B$ diperoleh dari suatu titik pada $\overrightarrow{AX_+}$ dengan memutarnya sejauh $270^\circ$ dan titik $E$ diperoleh dari suatu titik pada $\overrightarrow{AX_+}$ dengan memutarnya sejauh $315^\circ$ (karena $\measuredangle{BAE}=\measuredangle{BAC}=45^\circ$). Dalam koordinat kutub dengan jari-jari $2\,\textrm{cm}$, kita gambar busur $BE$ oleh
\draw[Crimson,thick] (B) arc(270:315:2cm) node[black,above,xshift=.1cm] {E};
dan sekaligus menamai titik ujungnya sebagai $E$. Hasilnya dapat dilihat pada Gambar 3 dalam dokumen terlampir.


Arsiran

Perhatikan daerah $ABD$ pada gambar di atas. Daerah itu dilingkupi oleh ruas garis $\overline{AB}$, busur $BD$, dan ruas garis $\overline{DA}$. Oleh karena itu perintah untuk menggambar busur $BD$ kita gunakan kembali tetapi dalam hal ini dalam perintah path, agar ruas garisnya tidak tercetak dua kali. (Untuk mengarsir kita harus memuat kepustakaan TikZ, patterns, di dalam mukadimah.) Perintah untuk mengarsir daerah $ABD$ adalah
\path[pattern=north east lines] (A)--(B) arc(180:135:2cm)--cycle;
Hasilnya tampak pada pada Gambar 4 dalam dokumen terlampir.

Daerah $CBE$ dilingkupi oleh ruas garis $\overline{CB}$, busur $BE$, dan ruas garis $\overline{EC}$. Oleh karena itu perintah untuk menggambar busur $BE$ kita gunakan kembali tetapi dalam perintah path. Perintah untuk mengarsir daerah $CBE$ adalah
\path[pattern=north east lines] (C)--(B) arc(270:315:2cm)--cycle;
Hasilnya tampak pada pada Gambar 5 dalam dokumen terlampir.


Tanda Sudut Siku-siku

Untuk menandai sudut siku-siku kita harus memuat kepustakaan TikZ, calc, angles, dan quotes di dalam mukadimah (preamble). Untuk hal ini saya gunakan makro (yang dicantumkan di dalam mukadimah) sebagai berikut.
\newcommand{\siku}[4][.15cm]% #1=size (optional), #2-#4 three points: \angle #2#3#4
{\coordinate (tempa) at ($(#3)!#1!(#2)$);
 \coordinate (tempb) at ($(#3)!#1!(#4)$);
 \coordinate (tempc) at ($(tempa)!0.5!(tempb)$);%midpoint
 \draw[darkgray] (tempa) -- ($(#3)!2!(tempc)$) -- (tempb);
}
Kemudian dalam penggunaanya (dalam arah berlawanan dengan arah putar jarum jam) dinyatakan oleh
\siku{C}{B}{A}


Penutup

Berikut ini pengkodean selengkapnya untuk membuat gambar tersebut dan hasilnya seperti tampak pada Gambar 6.
Demikian semoga tulisan ini bermanfaat.

\documentclass[10pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[svgnames,dvipsnames]{xcolor}
\usepackage[indonesian]{babel}
\usepackage{charter}
\usepackage{tikz}
\usetikzlibrary{patterns}
%-------------------------------------------
\usetikzlibrary{calc,angles,quotes}
\newcommand{\siku}[4][.15cm]% #1=size (optional), #2-#4 three points: \angle #2#3#4
{\coordinate (tempa) at ($(#3)!#1!(#2)$);
 \coordinate (tempb) at ($(#3)!#1!(#4)$);
 \coordinate (tempc) at ($(tempa)!0.5!(tempb)$);%midpoint
 \draw[darkgray] (tempa) -- ($(#3)!2!(tempc)$) -- (tempb);
}
%-------------------------------------------
\pagestyle{empty}

\begin{document}

\centering
\begin{tikzpicture}[scale=2]
\draw[thick] 
(0,0) coordinate (B) node[below] {B} --
(2,0) coordinate (C) node[right] {C} --
(0,2) coordinate (A) node[above] {A} --cycle;
\draw[thick] (B) arc(270:315:2cm) node[black,above,xshift=.1cm] {E};
\path[pattern=north east lines] (C)--(B) arc(270:315:2cm)--cycle;
\end{tikzpicture}
\captionof{figure}{}
\end{minipage}}%
    \hfill
\adjustbox{valign=t}{\begin{minipage}{0.45\textwidth}
\centering
\begin{tikzpicture}[scale=2]
\draw[thick] 
(0,0) coordinate (B) node[below] {B} --
(2,0) coordinate (C) node[right] {C} --
(0,2) coordinate (A) node[above] {A} --cycle;
\draw[thick] (B) arc(180:135:2cm) node[black,above,xshift=.1cm] {D};
\path[pattern=north east lines] (A)--(B) arc(180:135:2cm)--cycle;
\draw[thick] (B) arc(270:315:2cm) node[black,above,xshift=.1cm] {E};
\path[pattern=north east lines] (C)--(B) arc(270:315:2cm)--cycle;
\siku{C}{B}{A}
\end{tikzpicture}

\end{document}

$\square$ Adjie Gumarang Pujakelana 2016


Monday, June 13, 2016

Teks Arab Amiri

Tulisan ini sekadar ujicoba penulisan teks Arab, hasil penyuntingan dari Sigil.
Contoh:
أَسۡتَغۡفِرُ اللّٰهَ الۡعَظِيۡمَ لِيۡ وَ لِوَالِدَيَّ وَ لِأَصۡحَابِ الۡحُقُوۡقِ الۡوَاجِبَاتِ عَلَيَّ وَ لِمَشَايِخِنَا وَ لِإِخۡوَانِنَا وَ لِجَمِيۡعِ الۡمُسۡلِمِيۡنَ وَ الۡمُسۡلِمَاتِ وَ الۡمُؤۡمِنِيۡنَ وَ الۡمُؤۡمِنَاتِ الۡأَحۡيَاءِ مِنۡهُمۡ وَ الۡأَمۡوَاتِ وَ أَتُوۡبُ إِلَيۡهِِ


©2016 Adjie Gumarang Pujakelana


Sunday, June 12, 2016

"Menangkap" Tulisan pada Situs Menjadi Epub

Mukadimah

Sebelum Anda melanjutkan dalam membaca tulisan ini, sebaiknya Anda baca dulu ini dan itu. Akhir-akhir ini kegandrungan terhadap sumber bacaan, memang, seolah-olah beralih kepada epub. Hal ini disebabkan oleh sifat dari berkas *.epub yang berukuran sangat ringan serta mudah dan nyaman dibaca (kapan pun, di mana pun) dalam perangkat mobile, semacam handphone.
Nah, pada suatu ketika mungkin kita menemukan (atau bahkan tulisan kita sendiri) suatu tulisan pada suatu situs dan ingin "membukukan" tulisan itu dalam bentuk epub. Itulah yang akan saya ulas kali ini.

dotEPUB

Salah satu yang memberikan pelayanan untuk hal itu adalah dotEPUB, dengan hasil yang sangat baik. Apa yang harus dilakukan?
  • Buka situs dotEPUB kemudian klik opsi "EPUB" dan "Immersive mode", seperti tampak pada gambar di atas.
  • Pasang (install) ekstensinya sesuai dengan peramban (browser) yang Anda gunakan.
  • Tarik (drag) logo dotEPUB pada markah buku (bookmark) dari peramban Anda, seperti tampak pada gambar di atas ini.
  • Buka situs yang memuat tulisan yang ingin Anda jadikan dokumen berbentuk *.epub.
  • Klik ekstensi .epub pada bookmark tersebut dan tunggu beberapa saat hingga berkas *.epub selesai dibuat dan (langsung) terunduh. Bila perlu, selanjutnya Anda dapat mengganti nama berkas *.epub itu.
Perlu diketahui bahwa ektensi .epub dari dotEPUB ini memiliki kelemahan (keterbatasan), yaitu tidak dapat "menangkap" gambar, tabel, dan rumus (equation) yang termuat di dalam tulisan yang diambil itu. Hal ini dapat diatasi dengan cara menyunting berkas *.epub itu di dalam Sigil dalam menu HTML, sebagaimana telah diulas di sana.
Tentu diperlukan pengetahuan tentang cara memuat gambar, tabel, equation, audio, dan video dalam penyuntingan tersebut. Tentang penyuntingan equation dapat Anda pelajari di situ, sedangkan cara penyuntingan lainnya dapat Anda pelajari dari dokumen di bawah ini.



Penutup

Mungkin perlu saya ingatkan bahwa dalam pembuatan berkas *.epub kita dituntut untuk mampu menyunting kode HTML. Bila Anda terkendala tentang hal itu, Anda menelusuri hal terkait itu pada w3schools.com.
Demikian semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Saturday, June 11, 2016

Membuat Berkas Epub dengan Cepat dan Mudah

Mukadimah

Hal ini bermula ketika saya menghadapi masalah pada Microsoft Office 2016 dan berkaitan dengan pembuatan epub. Sebagai pengganti, pada awalnya saya coba gunakan WPS Office, tetapi ternyata tidak berfungsi dengan baik pada saat penyuntingan naskah di dalam Sigil.
Akhirnya, setelah melakukan pencarian dalam beberapa hari, saya menemukan apa yang saya perlukan: FreeOffice 2016 dari SoftMaker. Perangkat lunak (software) ini gratis, dengan memberikan tiga aplikasi: TextMaker (pengolah kata), PlanMaker (pengolah spreadsheet), dan Presentations (pengolah slide).

Pengolah Kata (TextMaker)

FreeOffice 2016 berukuran 73,3MB, cukup ringan, tersedia untuk platform Windows dan Linux, dan pada saat digunakan pun berjalan dengan cukup cepat. Anda dapat mengunduhnya di sini dengan mendaftarkan diri (nama, negara, email) lebih dulu untuk memperoleh nomor serinya.
Dengan menggunakan TextMaker, kita dapat membuat berkas PDF maupun Epub secara langsung dari pengolah kata ini. Silakan perhatikan menunya pada gambar berikut ini.

Ini hal bagus terutama untuk naskah yang berupa teks, sedangkan untuk naskah yang memuat rumus (equation) sudah saya ulas di sana. Satu hal lagi, saya belum mencoba untuk naskah yang memuat tabel dan gambar. Meskipun demikian, bila hasil epub dari TextMaker itu kurang memuaskan, kita masih punya pilihan "standar" dengan menyimpannya dalam bentuk *.html untuk kemudian disunting dan dibuat epub oleh Sigil, sebagaimana telah diulas sebelum ini. Silakan perhatikan pilihan untuk menyimpan berkas berikut ini.

Untuk berkas epub, ukuran kertas kita pilih A5. Pada TextMaker kita klik menu File > Penyetelan halaman > Kertas > Ukuran > A5.
O ya, pada saat pemasangan (instalasi) FreeOffice 2016, saya pilih dalam Bahasa Indonesia sehingga menu-menu pada TextMaker juga berbahasa Indonesia.

Penutup

Menurut saya, FreeOffice 2016 sangat layak untuk digunakan sebagai aplikasi dalam mengolah/menyusun dokumen. Selamat berkarya dalam bentuk epubDemikian semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Musim Epub pada Kaum "XYZ"

Mukadimah

Sebagaimana disebutkan di sini, secara umum, saat ini kita bermasyarakat bersama generasi X, Y, dan Z. Teori generasi ini bersandar pada tahun kelahirannya: generasi X terlahir pada 1965-1980, generasi Y pada 1981-1994, dan generasi Z terlahir pada 1995-2010, dengan perwatakan dan ciri-cirinya seperti diuraikan pada tautan tersebut. Silakan Anda lihat juga tayangan berikut ini.

 
Ringkasnya, saat ini, kita dikelilingi oleh "makhluk" penggila internet. Banyak hal dikemas dengan ringkas sehingga mudah di akses di mana pun, kapan pun, melalui internet. Jari-jemarinya lebih sering dan lebih akrab dengan tombol-tombol pada gadget (handphone, smartphone, laptop) daripada bersentuhan dengan kulit tangan seseorang atau benda/barang lainnya.
Di antara yang dikemas ringkas itu adalah sumber bacaan. Yang semula berupa lembaran-lembaran kertas berbentuk buku, majalah, koran, dll, sekarang berganti bentuk menjadi buku digital dengan beragam bentuk pula: pdf, swf, epub, mobi, kindle, dll. Nah, pada tulisan ini saya akan mengulas salah satunya, yaitu epub.

Sigil

Kecenderungan itu sebentuk keniscayaan yang mewabah ke seluruh penjuru dunia dan merasuki bagian-bagiannya, termasuk dunia pendidikan. Pada kekinian ini, Pemerintah Indonesia melalui Departemen Pendidikan dan Kebudayaan beserta unsur-unsur terkait juga melaksanakan pendidikan dan pelatihan (diklat) yang berkaitan dengan materi tentang kelas maya dan buku digital. Salah satu perangkat lunak untuk membuat buku digital adalah Sigil (yang terbuka dan gratis).
Salah satu alur kerja dalam pembuatan buku digital (epub) oleh Sigil adalah sebagai berikut.
  1. Naskah/dokumen ditulis oleh pengolah kata (microsoft word atau sejenisnya)
  2. Hasil dari tahap 1 kemudian disimpan sebagai berkas *.html dengan opsi Web Page, Filtered
  3. Berkas *.html itu selanjutnya dibuka oleh Sigil untuk disunting menjadi suatu "buku" berbentuk epub.
Penyuntingan di dalam Sigil dilakukan, terutama, dalam bentuk "pengkodean" HTML. Oleh karena itu diperlukan sedikit pemahaman tentang hal itu. Selebihnya menjadi mudah karena Sigil telah menyediakan tombol-tombol menu berkaitan dengan tata letak halaman dan tata naskah. Termasuk dalam bagian penyuntingan ini adalah daya tarik Sigil, yaitu (memiliki kemampuan untuk) menyisipkan audio atau video (bila diperlukan). Dengan demikian, selain teks, epub juga dapat memuat media audio atau video. 




$\mathbf{\LaTeX}$ 

Berita buruknya, Sigil tidak menghasilkan epub yang baik bila naskah yang disusun itu memuat rumus (equation) karena (pada epub yang dihasilkannya) equation-equation itu menjadi "berantakan". Masalah ini hanya dapat diatasi oleh $\small\LaTeX$!
Ada beberapa pilihan untuk hal ini, tetapi pada umumnya rumit! Hehehe.... 
Saya ambil cara termudah. Saya tambahkan script dari MathJax berikut ini ke dalam pengkodean HTML pada naskah yang disunting dalam Sigil.

<script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: {extensions: ["cancel.js"]},
        tex2jax: {
          inlineMath: [ ['$','$'], ['\\(','\\)'] ],
          processEscapes: true
        }
      });
    </script>
<!--?xml version="1.0" encoding="utf-8"?-->

Script itu memenuhi keperluan penulisan equation yang sederhana (dasar). Untuk lingkup perintah (environment) seperti cases, align, dan aligned, saya gunakan Pandoc (dari LaTeX ke HTML) dan hasilnya saya cantumkan ke dalam naskah yang disunting tersebut.
Perlu diketahui, meskipun berbagai peramban (browser) menyediakan alat untuk membaca berkas epub, tetapi alat itu tidak mampu menampilkan isi berkas epub yang memuat equation. Oleh karena itu, sebagai contoh, silakan Anda membaca epub ini melalui pembaca epub (Calibre, Adobe Digital Edition, STDU Viewer, dll) pada komputer atau smartphone Anda.

Penutup

Mungkin ada tersisa pertanyaan, "Mengapa memilih epub, bukan yang lain?". Di antara alasannya adalah berkas epub itu ringan, ukurannya sangat kecil, bersifat multiplatform, dan dapat dibuka oleh beragam jenis perangkat.
Demikian semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Tuesday, June 7, 2016

Desktop Publishing

Mukadimah

Memang belum ada terjemahan baku untuk istilah desktop publishing (DTP), tetapi maknanya adalah suatu cara untuk menerbitkan sendiri beberapa jenis cetakan dengan menggunakan komputer pribadi dan pencetak (printer). Cara ini, secara umum, memerlukan dua prasyarat, yaitu keterampilan (skill) penggunanya dan software yang digunakan. Jenis cetakan yang dapat dibuat adalah brosur, kartu nama, formulir, kalender, piagam/sertifikat, daftar riwayat hidup (CV), sampul CD/DVD, amplop, pamflet (flyer), kartu ucapan, kartu undangan, surat, logo, daftar menu makanan, suratkabar, kartu pos, dan poster. Mari kita lihat dulu contoh hasilnya berikut ini.



Bagaimana, bagus bukan? Lalu, apa kaitannya dengan $\small\LaTeX$? Apakah itu hasil dari $\small\LaTeX$? Tentu bukan, itu bukan hasil dari $\small\LaTeX$, melainkan hasil dari software DTP.
Ini hanya soal rasa! Bahwa $\small\LaTeX$ memiliki kemampuan untuk membuat itu, tetapi (dalam hal tertentu) kita juga punya pilihan ini untuk bekerja secara "instant".

Apa yang Harus Dilakukan?

Seperti dapat Anda lihat di sini, cukup banyak software desktop publishing (DTP) yang tersedia, baik yang gratis (open source) maupun yang berbayar. Software DTP bersifat layaknya pengolah kata, yaitu "apa yang dilihat, itu yang didapat" (WYSIWYG). Teks dituliskan dalam pengolah kata, sedangkan bentuk gambar terbaik yang digunakan adalah Scalable Vector Graphics (SVG).
Karena prasyarat di atas, maka hasil cetak yang baik tentu bergantung pada keterampilan penggunanya dalam menata halaman cetakan. Meskipun demikian, sebagai "penolong", tersedia pula beberapa selingkung (template) yang siap untuk digunakan sesuai dengan keperluannya. Pada contoh di atas, saya juga menggunakan salah satu selingkung yang tersedia.
Sebagai pemula, saya pilih PagePlus Starter Edition ketika mengawali ini. Anda dapat memperoleh software itu di situ. Tentu dengan fitur yang terbatas, tetapi 100% gratis dan hanya memerlukan alamat surel (email) untuk menerima nomor seri dari software tersebut.
Nah, untuk gambar, tetaplah hasil dari $\small\LaTeX$ yang terbaik. Saya mengubahnya dari PDF ke Portable Network Graphics (PNG) oleh FastStone Capture, kemudian mengubahnya menjadi SVG oleh vector magic. Software vector magic dapat Anda unduh di sana (25MB).
Selain itu, Anda dapat mencoba software desktop publishing gratis (open source) lainnya, yaitu Scribus.


Penutup

Nah, "tanpa $\small\LaTeX$", sekarang Anda dapat mencetak sendiri dokumen dengan kualitas yang baik. Untuk pengguna $\small\LaTeX$, setidaknya, ini menjadi pilihan untuk membuat sampul dokumen. Untuk hal ini, mungkin masih diperlukan lagi software PDF yang memiliki kemampuan untuk menggabungkan (combine) halaman-halaman PDF yang sudah dibuat. 
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Related Posts Plugin for WordPress, Blogger...