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

2 comments:

  1. Artikel yang sangat lengkap, terima kasih Pak...

    ReplyDelete
  2. Untuk paket minted, harus install Phyton? Saya belum berhasil mencobanya

    ReplyDelete

Related Posts Plugin for WordPress, Blogger...