Monday, July 27, 2015

VideoScribe: SVG, LaTeX, dan Sparkol

Akhir-akhir ini VideoScribe mulai bermunculan, memikat, dan tampaknya cukup digemari. VideoScribe adalah perangkat lunak yang diluncurkan oleh perusahaan Inggris Sparkol pada tahun 2012 untuk membuat animasi pada "papan tulis" secara otomatis. Silakan Anda lihat video yang dibuat oleh pengguna VideoScribe pemula berikut ini.



Semula saya sekadar menikmati video jenis ini, tak lebih. Tetapi dalam dua hari terakhir ini menjadikannya sebuah tantangan. Mengapa? 
Karena, ternyata, unsur pendukung dalam pembuatan video ini adalah gambar-gambar berbentuk Scalable Vector Graphics (SVG). Saya coba dengan menggunakan gambar Portable Network Graphics, PNG, hasilnya tidak bagus. Tantangannya: dapatkah $\small\LaTeX$ menghasilkan gambar bentuk SVG?

Saya temukan jawabannya dalam kelas dokumen sekaligus paket standalone dari Martin Schar­rer. Meskipun demikian, karena hasil dari $\small\LaTeX$ berbentuk PDF, maka saya memerlukan pengubahan bentuk (convert) file dari PDF ke SVG. Saya lakukan itu secara daring (dalam jaringan) melalui situs ini. Berikut ini langkah-langkah yang saya lakukan untuk membuat video di atas.
  1. Mengunduh software VideoScribe
  2. Memasang software tersebut di komputer
  3. Mendaftarkan diri (membuat akun) di situs Sparkol
  4. Membuat 4 buah gambar untuk keperluan pembuatan video di atas, dengan pengkodean seperti terlihat di bawah ini
  5. Mengubah file PDF hasil dari langkah 4 ke file SVG melalui situs ini
  6. Membuat video dengan VideoScribe
Berikut ini pengkodean selingkung (templateuntuk gambar yang saya gunakan dalam video di atas.
%\PassOptionsToPackage{svgnames}{xcolor}
\documentclass[tikz,convert={outfile=\jobname.svg},border=10mm]{standalone}
%\usetikzlibrary{...}% paket tikz sudah termuat dalam opsi kelas dokumen
%Berikut ini pilihan paket (selain tikz) untuk membuat gambar:
%\usepackage{pgfplots}
%\pgfplotsset{compat=1.10}
%\usepgfplotslibrary{fillbetween}
%\usepgfplotslibrary{patchplots,colormaps}
%\usepackage{tkz-euclide}
%\usetkzobj{all}

\begin{document}

\begin{tikzpicture}[...]
...%pengkodean untuk gambar
\end{tikzpicture}

\end{document}
Demikian semoga bermanfaat.

Adjie Gumarang Pujakelana 2015

Friday, July 24, 2015

Konstruksi Lingkaran Luar Segitiga

Mungkin Anda sudah terbiasa dalam menggambar (konstruksi) lingkaran luar segitiga, baik dengan tangan maupun dengan dengan menggunakan software semacam GeoGebra. Kali ini kita akan menggambarnya dalam $\small\LaTeX$ untuk suatu dokumen tertulis dengan menggunakan paket tkz-euclide. Petunjuk selengkapnya tentang penggunaan paket ini dapat Anda pelajari pada dokumentasinya.

Berikut ini beberapa unsur yang dimuat dalam preamble.
Kita akan menggambarnya dalam kelas dokumen "yang umum", yaitu articledengan ukuran kertas A4 dan ukuran huruf 10pt.
\documentclass[a4paper,10pt]{article}
Untuk pengaturan margin kita gunakan
\usepackage[margin=2cm]{geometry}
Jenis huruf teks yang saya gunakan adalah utopia
\renewcommand{\rmdefault}{put}
sedangkan untuk jenis huruf dan modus matematis
\usepackage{newtxmath}
\usepackage{amsmath,amssymb}
Agar dokumen yang kita susun tidak menggunakan indentasi maka
\parindent0em
Untuk pewarnaan
\usepackage[dvipsnames,svgnames]{xcolor}
dan saya menetapkan satu warna baru yang akan digunakan
\definecolor{blau}{RGB}{17,94,140}
Paket utama untuk gambar geometris ini harus dicantumkan setelah paket xcolor.
\usepackage{tkz-euclide}
\usetkzobj{all}
Saya akan menyusun dua gambar yang berdampingan. Untuk keperluan ini saya gunakan environment minipage yang diatur oleh 
\usepackage{adjustbox}
dan untuk keterangan gambar (caption
\usepackage[labelformat=simple,textfont=small,labelfont={color=Sepia}]{caption}
Sekarang kita memasuki dokumen utama yang kita susun dalam environment
\begin{tikzpicture}
...
\end{tikzpicture}
Kita batasi bidang gambar sesuai dengan koordinat titik yang kita tetapkan,
\tkzInit[xmin=-1,xmax=6,ymin=-2,ymax=5]
\tkzClip
karena dari ketiga koordinat titik yang saya tetapkan (sebarang) berikut ini
\tkzDefPoint(0,0){A} 
\tkzDefPoint(5,-1){B} 
\tkzDefPoint(2,4){C} 
mencakup nilai $0 < x < 5$ dan $-1 < y < 4$.

Kita gambar $\triangle ABC$ dan mewarnai sisinya
\tkzDrawPolygon[color=LimeGreen](A,B,C)
Kita tunjukkan pula noktah titik $A$, $B$, $C$ beserta ukuran dan pewarnaannya
\tkzDrawPoints[size=.2cm,color=Sepia,fill=Yellow](A,B,C)
Kemudian kita menamai ketiga titik sesuai dengan nama pada definisi itu dan menetapkan letak nama titik itu
\tkzLabelPoints[above](C)
\tkzLabelPoints[left](A)
\tkzLabelPoints[right](B)
Hingga di sini, hasilnya seperti ini pada gambar 1 dalam dokumen terlampir di bawah ini.

Sekarang kita akan menggambar garis sumbu pada sisi $\overline{AB}$. Lebih dulu kita tetapkan $D$ sebagai titik tengah $\overline{AB}$.
\tkzDefMidPoint(A,B) \tkzGetPoint{D}
Lalu kita tetapkan garis sumbu yang tegak lurus $\overline{AB}$ di titik $D$ dan menetapkan sebuah titik pada garis sumbu ini, yaitu $P_1$.
\tkzDefLine[orthogonal=through D](A,B) \tkzGetPoint{P1}
Sekali lagi, kita lakukan hal yang sama seperti tadi pada sisi $\overline{AC}$.
Kita tetapkan $E$ sebagai titik tengah $\overline{AC}$.
\tkzDefMidPoint(A,C) \tkzGetPoint{E}
Lalu tetapkan garis sumbu yang tegak lurus $\overline{AC}$ di titik $E$ dan menetapkan sebuah titik pada garis sumbu ini, yaitu $P_2$.
\tkzDefLine[orthogonal=through E](A,C) \tkzGetPoint{P2}
(Perlakuan-perlakuan tersebut belum tampak dalam gambar, baru "tersimpan dalam pikiran".)

Cukup dua garis sumbu saja, sekarang kita dapat menetapkan titik pusat dari lingkaran luar $\triangle ABC$, yaitu perpotongan dari garis $\overline{DP_1}$ dan $\overline{EP_2}$ dan kita menetapkannya sebagai titik $O$.
\tkzInterLL(D,P1)(E,P2) \tkzGetPoint{O}
Kita tunjukkan noktah titik $O$ beserta ukuran dan pewarnaannya
\tkzDrawPoint[size=.2cm,color=Sepia,fill=Yellow](O)
dan namai titik $O$ sesuai dengan nama pada definisinya dan menetapkan letak namanya.
\tkzLabelPoints[above](O)
Sekarang kita dapat menggambar lingkaran luarnya yang berpusat di $O$ dan berjari-jari $\overline{OA}$
\tkzDrawCircle[radius,color=blau](O,A)
Dengan demikian kita telah berhasil menggambar lingkaran luar $\triangle ABC$ yang berpusat di titik $O$, seperti tampak pada gambar 2 dalam dokumen terlampir di bawah ini.

Demikianlah semoga bermanfaat. 
Dokumen di bawah ini saya susun dalam jaringan melalui Online LaTeX Editor ShareLaTeX. Berikut ini pengkodean selengkapnya untuk dokumen tersebut.

Adjie Gumarang Pujakelana 2015
\documentclass[a4paper,10pt]{article} 
\usepackage[indonesian]{babel} 
\usepackage[margin=2cm]{geometry}
\renewcommand{\rmdefault}{put}
\usepackage{newtxmath}
\usepackage{amsmath,amssymb}
\parindent0em
\usepackage[dvipsnames,svgnames]{xcolor}
\definecolor{blau}{RGB}{17,94,140}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{adjustbox}
\usepackage[labelformat=simple,textfont=small,labelfont={color=Sepia}]{caption}

\begin{document}

\adjustbox{valign=t}{\begin{minipage}[t]{0.45\textwidth}
\centering
\begin{tikzpicture}
\tkzInit[xmin=-1,xmax=6,ymin=-2,ymax=5]
\tkzClip
\tkzDefPoint(0,0){A} 
\tkzDefPoint(5,-1){B} 
\tkzDefPoint(2,4){C} 
\tkzDrawPolygon[color=LimeGreen](A,B,C)
\tkzDrawPoints[size=.2cm,color=Sepia,fill=Yellow](A,B,C)
\tkzLabelPoints[above](C)
\tkzLabelPoints[left](A)
\tkzLabelPoints[right](B)
\end{tikzpicture}
\captionof{figure}{}
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.45\textwidth}
\centering
\begin{tikzpicture}
\tkzInit[xmin=-1,xmax=6,ymin=-2,ymax=5]
\tkzClip
\tkzDefPoint(0,0){A} 
\tkzDefPoint(5,-1){B} 
\tkzDefPoint(2,4){C} 
\tkzDrawPolygon[color=LimeGreen](A,B,C)
\tkzDrawPoints[size=.2cm,color=Sepia,fill=Yellow](A,B,C)
\tkzLabelPoints[above](C)
\tkzLabelPoints[left](A)
\tkzLabelPoints[right](B)
\tkzDefMidPoint(A,B) \tkzGetPoint{D}
\tkzDefLine[orthogonal=through D](A,B) \tkzGetPoint{P1}
\tkzDefMidPoint(A,C) \tkzGetPoint{E}
\tkzDefLine[orthogonal=through E](A,C) \tkzGetPoint{P2}
\tkzInterLL(D,P1)(E,P2) \tkzGetPoint{O}
\tkzDrawPoint[size=.2cm,color=Sepia,fill=Yellow](O)
\tkzLabelPoints[above](O)
\tkzDrawCircle[radius,color=blau](O,A)
\end{tikzpicture}
\captionof{figure}{}
\end{minipage}}\hfill

\end{document}




Monday, July 20, 2015

Tips 2: Menomori Soal dalam Artikel atau Buku




Bagi guru, soal merupakan salah satu perkakas (tool) yang sangat penting, sebagaimana senjata di tangan seorang tentara. Soal-soal dicari, dirakit (dibuat), disimpan di dalam komputer atau dalam bentuk tercetak, dan beberapa di antaranya digunakan dalam proses pembelajaran.

Suatu dokumen (dalam $\small\LaTeX$) pada umumnya terbagi dalam dua bentuk (kelas dokumen), yaitu book atau article. Tulisan ini akan mengulas penomoran soal secara terurut dan otomatis dalam kaitannya dengan nomor bab (pada buku) atau seksi (pada artikel). Dalam contoh dokumen di bawah ini sekaligus saya gunakan pula perintah untuk penulisan jawaban dari tiap soal tersebut. Salah satu pilihan yang saya gunakan adalah makro berikut ini.

  1. \newcounter{problem}
  2. \newcounter{solution}
  3. \newcommand\soal{%
  4.   \stepcounter{problem}%
  5.   \textbf{\color{blau} Soal \thechapter.\theproblem}~%
  6.   \setcounter{solution}{0}%
  7. }
  8. \newcommand\jawab{%
  9.   \textbf{\color{blau} Jawaban}\par%
  10. }

Bila makro ini digunakan dalam artikel maka pada baris 5, \thechapter diganti oleh \thesection. Karena penomoran ini melibatkan nomor bab atau nomor seksi, maka perintah \soal dan \jawab akan berfungsi setelah dimuat perintah judul bab \chapter{...} atau judul seksi \section{...}
Masih pada baris 5, label nomor soal dan butir soal terletak sebaris (inline) tetapi disekat jarak oleh kode ~. Jarak ini dapat diatur, misalnya dengan menggunakan ~~ atau \hspace{...}. Jika ingin butir soal terletak pada baris baru maka kita gunakan \par.
Tentang pewarnaan dapat kita gunakan paket xcolor. Dalam contoh ini, warna blau yang saya gunakan ditetapkan oleh
\definecolor{blau}{RGB}{17,94,140}
Berikut ini pengkodean untuk contoh pada gambar di atas. 
\chapter{Nilai Mutlak}

\soal Selesaikan $\ds| x+3|\le 5$.

\jawab 
$\ds| x+3|\le 5$ jika dan hanya
\begin{align*}
-5 &\le x + 3\le 5\\
-8 &\le x \le 2 && \text{Kurangi oleh 3}\
\end{align*}

Dalam notasi interval, penyelesaiannya adalah $\ds\left[-8, 2\right]$.

\soal Selesaikan $\ds| 3x + 2| < 1$.

\jawab 
$\ds| 3x + 2| < 1$ jika dan hanya
\begin{align*}
-1 &< 3x + 2 < 1\\
-3 &< 3x < -1 && \text{Kurangi oleh 2}\\
-1 &< x < -\frac{1}{3} && \text{Bagi oleh 3}
\end{align*}

Dalam notasi interval, penyelesaiannya adalah $\ds\left(-1, -\frac{1}{3}\right)$.

\soal Selesaikan $\ds| 5-3x| < 2$.

\jawab 
$\ds| 5-3x| < 2$ jika dan hanya
\begin{align*}
-2 &< 5-3x < 2\\
-7 &< -3x < -3 && \text{Kurangi oleh 5}\\
\frac{7}{3} &> x > 1 && \text{Bagi oleh $-3$}
\end{align*}

Dalam notasi interval, penyelesaiannya adalah $\ds\left(1, \frac{7}{3}\right)$.
Soal-soal dan jawabannya tersebut adalah bagian dari dokumen yang saya susun, berupa terjemahan dari Mendelson, Elliot. 1988. Schaum's Outline Series: 3000 Solved Problems in Calculus. New York: McGraw-Hill Companies, Inc.
Berikut ini satu halaman dari dokumen tersebut yang memuat soal pada gambar di atas.

Demikian semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015




Sunday, July 19, 2015

Tips 1: Menyambung Urutan di dalam Dua Minipage

Mungkin ini dapat disebut "hal sepele", tetapi sering kali menjadi "duri" ketika kita memerlukannya pada saat menyusun suatu dokumen. Seperti tampak pada gambar di atas, saya ingin menyusun suatu urutan dalam "dua kolom" semacam itu, agar tidak memanjang ke arah bawah.

Untuk hal ini saya gunakan dua paket
\usepackage[inline,shortlabels]{enumitem}
\usepackage{adjustbox}
Pengkodean dalam pengurutan tersebut mengikuti aturan sebagaimana lazimnya, tetapi pada sambungannya (untuk kolom kanan) kita tambahkan opsi
start=6
karena (dalam contoh ini) urutan bersambung ke huruf keenam, yaitu f.
Tentu saja kerenggangan antara kedua kolom itu dapat kita atur pada opsi width dalam environment minipage.

Contoh di atas adalah bagian dari dokumen yang saya susun dalam kelas dokumen exam. Berikut ini pengkodean untuk contoh tersebut.
\question Tentukan nilai dari:

\adjustbox{valign=t}{\begin{minipage}{0.3\textwidth}
\begin{enumerate}[a)]
\item $128 + (-39)$
\item $8 + (-7)$
\item $- 6 -9$
\item $-12 \times 5$
\item $28 : (-4)$
\end{enumerate}
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}{0.6\textwidth}
\begin{enumerate}[a),start=6]
\item $-138 + (-80) + 50$
\item $57 - ( -24 ) - 21$
\item $8 : 2 \times 5 + 3$
\item $4 - 3 \times 2$
\item $5 - 4 + 8 + (-3)$
\end{enumerate}
\end{minipage}}\hfill
Demikian semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015



Saturday, July 18, 2015

Kalender Pendidikan Rasa Baru

Kali ini saya hanya ingin berbagi saja. Saya mencoba untuk memanfaatkan pengkodean untuk kalender umum ke dalam kalender pendidikan. Saya mengembangkan kalender ini. Saya rasa ini merupakan salah satu pilihan yang layak untuk digunakan. Kalender ini dapat dikatakan dwifungsi, karena berupa kalender umum tetapi juga sekaligus memuat kalender pendidikan.

Sebagai contoh, saya menggunakannya dalam penyusunan kalender pendidikan tahun pelajaran 2015/2016 yang berlaku di tempat saya bertugas. Kalender ini dibuat perbulan untuk satu halaman dalam format memanjang (landscape). Gambar di samping ini menunjukkan halaman depan kalender tersebut. Dapat Anda lihat di bawah ini, saya cantumkan berbagai keterangan yang bersesuaian dengan kalender pendidikan untuk tiap kegiatan dalam pembelajaran dan kegiatan lain dalam sekolah. Begitu pula dengan hari-hari libur, mengacu kepada ketetapan pemerintah tentang hari libur nasional untuk tahun 2015 dan 2016. Untuk hal ini saya mengikuti penanggalan yang dibuat oleh Ibnu Zahid Abdo El-Moeid, seorang ahli hisab dan rukyat dari Gresik (Jawa Timur), yang hasil cetaknya dapat Anda unduh di sini. (Sayang sekali, situs beliau moeidzahid.site90.net saat ini sudah tidak aktif lagi.)

Bila Anda berminat untuk membuat kalender pendidikan semacam ini maka Anda dapat mengikuti dan mempelajari teknis pengkodean yang sudah diulas di sini. Dokumen di bawah ini saya susun dalam TeX Live 2014 di dalam komputer pribadi.
Demikian semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015



Sunday, July 12, 2015

Tombol Menu

Pada suatu saat mungkin kita perlu menampilkan secara visual tombol-tombol pada papan tombol (keyboard) yang harus ditekan. Untuk ini kita memerlukan paket dari Tobias Weh, yaitu menukeys.
Seperti disebutkan oleh pembuatnya, paket ini dirancang untuk membentuk urutan menu, jalur, dan pintasan (shortcut) pada keyboard secara otomatis. Ada beberapa gaya standar dan gaya yang dapat ditentukan sendiri dalam cara yang fleksibel. Petunjuk selengkapnya tentang paket ini beserta penggunaannya dapat dipelajari dari sini.

Di bawah ini saya tampilkan beberapa contoh penggunaannya dan daftar pengkodean untuk menunjukkan secara visual tombol-tombol pada keyboardDokumen tersebut saya susun melalui Online LaTeX Editor ShareLaTeX.
Dalam dokumen tersebut saya gunakan dua paket utama, yaitu
\usepackage{menukeys}
\usepackage{showexpl}

Berikut ini pengkodean selengkapnya tentang penggunaan paket menukeys beserta dokumen yang dihasilkannya. Semoga bermanfaat.

Adjie Gumarang Pujakelana 2015
\documentclass{article}
%https://github.com/tweh/menukeys
\usepackage[margin=2cm,top=1.5cm]{geometry}
\usepackage[svgnames,dvipsnames]{xcolor}
\definecolor{bistre}{RGB}{133, 109, 77}
\definecolor{paper}{RGB}{239,227,157}
\usepackage{menukeys}
\usepackage{array,booktabs}
\usepackage{gentium}
\usepackage{showexpl}
\lstdefinestyle{gayaku}{
    language={[LaTeX]TeX},texcsstyle=*\color{SeaGreen},
    literate=
    *{\{}{{\textcolor{Crimson}{\{}}}{1}
     {\}}{{\textcolor{Crimson}{\}}}}{1},
    basicstyle=\null,
    backgroundcolor=\color{paper!50},
    numbers=none, 
    %numberstyle=\scriptsize, stepnumber=1,
    %numbersep=5pt,
    commentstyle=\color{DarkOrange},
    showstringspaces=false,
    keywordstyle=\color{stempel}\bfseries,
    morekeywords={circuitikz,draw,center},
    frame=single,rframe=,framesep=\fboxsep,
    framerule=\fboxrule,rulecolor=\color{bistre},
    breaklines,breakautoindent=true,
    captionpos=t
}

\parindent0pt
\renewcommand{\thesection}{\arabic{section}.}

\begin{document}

\pagenumbering{gobble}

\hrule
\begin{center}
\LARGE\bfseries Paket Menukeys dan Penggunaannya
\end{center}
\hrule

\bigskip

\section{Beberapa contoh penggunaan}

\begin{LTXexample}[style=gayaku,pos=r,width=0.577\textwidth]
\directory{/home/moose/Desktop/manual.tex}
\end{LTXexample}

\begin{LTXexample}[style=gayaku,pos=r,width=0.545\textwidth]
\menu{View > Highlight Mode > Markup > LaTeX}
\end{LTXexample}

\begin{LTXexample}[style=gayaku,pos=r,width=0.755\textwidth]
\keys{\ctrl + \shift + F1}
\end{LTXexample}

\begin{LTXexample}[style=gayaku,pos=r,width=0.225\textwidth]
\keys{\tab}\, \keys{\capslock}\, \keys{\Space}\, \keys{\return}\, \keys{\arrowkeyup}
\end{LTXexample}

\begin{LTXexample}[style=gayaku,pos=r,width=0.73\textwidth]
\directory{Satu / Dua / Tiga}
\end{LTXexample}

\begin{LTXexample}[style=gayaku,pos=r,width=0.77\textwidth]
\keys{\cmd + \shift + 4}
\end{LTXexample}

\begin{LTXexample}[style=gayaku,pos=r,width=0.535\textwidth]
{
\changemenucolor{gray}{txt}{named}{OrangeRed}
\menu{Alfa > Beta > Gamma}
}
\end{LTXexample}

\section{Contoh penggunaan dalam tabel}

\begin{LTXexample}[style=gayaku,pos=r,,width=0.47]
\begin{tabular}{lll}
  \toprule
Menu & Tombol & Keterangan \\
  \midrule
\menu{Foo > Bar} & \keys{F1} & bla bla bla \ldots\\
\menu{Baz > Boo > Far} & \keys{F5} & bla bla bla \ldots \\
  \bottomrule
\end{tabular}
\end{LTXexample}

\section{Daftar kode tombol}

\renewcommand{\arraystretch}{1.25}
\begin{minipage}{0.485\textwidth}
\begin{tabular}{lcc}
     \toprule
\textbf{Macro} & \textbf{Mac} & \textbf{Windows} \\
     \midrule
     \verb|\shift| & \shift & \shift\\
     \verb|\capslock| & \capslockmac & \capslockwin\\
     \verb|\tab| & \tabmac & \tabwin\\
     \verb|\esc| & esc / \escmac  & \escwin\\
     \verb|\ctrl| & \ctrlmac & \ctrlwin{}\\
     \verb|\Alt| & alt / \Altmac & \Altwin \\
     \verb|\AltGr| & & \AltGr \\
     \verb|\cmd|   & cmd / \cmdmac & \\
     \verb|\Space| &  & \\
     \verb|\SPACE| & \spacename & \spacename \\
     \verb|\return| & \returnmac & \returnwin \\
     \verb|\enter| & \entermac & \enterwin \\
     \bottomrule
  \end{tabular}
  \end{minipage}\hfill
  \begin{minipage}{0.485\textwidth}
  \begin{tabular}{lcc}
     \toprule
\textbf{Macro} & \textbf{Mac} & \textbf{Windows} \\
     \midrule
     \verb|\winmenu| & & \winmenuwin \\
     \verb|\backspace| & \backspace & \backspace\\
     \verb|\del| & Del. / \delmac & \delwin{}\\
     \verb|\arrowkey{^}| & \arrowkey{^} & \arrowkey{^} \\
     \verb|\arrowkeyup| & \arrowkeyup & \arrowkeyup\\
     \verb|\arrowkey{v}| & \arrowkey{v} & \arrowkey{v} \\
     \verb|\arrowkeydown| & \arrowkeydown & \arrowkeydown\\
     \verb|\arrowkey{>}| & \arrowkey{>} & \arrowkey{>} \\
     \verb|\arrowkeyright| & \arrowkeyright & \arrowkeyright\\
     \verb|\arrowkey{<}| & \arrowkey{<} & \arrowkey{<} \\
     \verb|\arrowkeyleft| & \arrowkeyleft & \arrowkeyleft\\
     \bottomrule
  \end{tabular}
  \end{minipage}\hfill
  
\end{document}



Saturday, July 11, 2015

Menunjukkan Sebagian Petak Papan Catur

Bila Anda seorang pelatih/instruktur/guru pada kursus atau sekolah catur, mungkin Anda memerlukan hal ini dalam penyusunan dokumen yang Anda gunakan. Sebagai contoh, silakan Anda perhatikan gambar di samping. Itu adalah potongan naskah dokumen dari buku Weeramantry dan Ed Eusebi. 1993. Best Lessons of A Chess Coach. Newyork: David McKay Company, Inc. pada halaman 12.
Bagaimana cara menunjukkan sebagian petak papan catur semacam itu?

Ada dua paket yang kita perlukan, yaitu
\usepackage{chessboard}
\usepackage{adjustbox}
Tentang penggunaan paket adjustbox dapat Anda pelajari di sini. Selain itu, saya sarankan untuk juga membuka dokumentasi paket chessboard dari Ulrike Fischer.

Kita akan buat sebagian dari petak-petak pada papan catur itu dengan perintah
\chessboard[...]
Pengaturannya terletak pada opsi di dalam tanda kurung-siku tersebut. Seperti tampak dalam contoh pada gambar di atas, kita tidak memerlukan tanda untuk pemain yang giliran melangkah. Dalam opsi itu kita cantumkan
showmover=false
(Lihat dokumentasi paket chessboard dalam 4.9 The mover pada halaman 37-38.)

Kemudian kita ingin menunjukkan bagian papan dari petak c3 sampai dengan petak f6. Dalam opsi itu kita cantumkan
printarea=c3-f6
(Lihat dokumentasi paket chessboard dalam 5.1 Printing partial boards pada halaman 40-41.)

Berikutnya kita akan menempatkan beberapa buah catur pada potongan papan tersebut. Pada contoh tersebut kita hanya menempatkan bidak. Pengaturannya hanya berlaku untuk satu pihak (warna). Untuk diagram 1 kita cantumkan
setwhite={pe4,pf4}
sedangkan untuk pihak Hitam kita tambahkan
addblack={pd6,pe5}
(Untuk penempatan buah catur ini, lihat dokumentasi paket chessboard dalam 3.4 Adding single pieces pada halaman 14-15.)

Terakhir, agar tidak menyisakan ruang kosong (white space) pada keempat sisi-luar (margin) dari potongan papan catur itu, kita cantumkan pula
marginleft=false,marginright=false,margintop=false
Margin bawah kita biarkan seperti semula agar memberi jarak pada teks yang kita tuliskan di bawahnya.
(Lihat dokumentasi paket chessboard dalam 4.3 Margins pada halaman 22-23.)

Nah, sekarang kita sudah berhasil membuat satu diagram berupa potongan papan catur, yaitu diagram 1. Tentu saja ukuran diagram dapat kita atur, misalnya diperkecil dengan opsi smallboard atau tinyboard
(Lihat dokumentasi paket chessboard dalam 4.5 The size of the boardfont pada halaman 25.)

Untuk pengkodean selengkapnya beserta hasilnya, silakan Anda lihat di bawah ini. Dokumen tersebut saya susun melalui Online LaTeX Editor ShareLaTeX
Demikian semoga bermanfaat.

Adjie Gumarang Pujakelana 2015
\documentclass[10pt,a4paper]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{chessboard}
\usepackage{adjustbox}

\begin{document}

\centering

\adjustbox{valign=t}{\begin{minipage}{0.33\textwidth}
\centering
\chessboard[showmover=false,printarea=c3-f6,
setwhite={pe4,pf4},addblack={pd6,pe5},marginleft=false,marginright=false,margintop=false]\\
\bfseries 1. Lebih baik
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}{0.33\textwidth}
\centering
\chessboard[showmover=false,printarea=c3-f6,
setwhite={pe4},addblack={pe5},marginleft=false,marginright=false,margintop=false]\\
\bfseries 2. Setara
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}{0.33\textwidth}
\centering
\chessboard[showmover=false,printarea=c3-f6,
setwhite={pe4},addblack={pd6},marginleft=false,marginright=false,margintop=false]\\
\bfseries 3. Lebih baik
\end{minipage}}\hfill

\end{document}



Saturday, July 4, 2015

"Catatan Pinggir" pada Teks

Setelah saya ulas tentang cara menyoroti suatu teks, kali ini saya ajak Anda untuk memberikan "catatan", tanggapan/komentar, atau keterangan terhadap suatu teks, seperti tampak pada gambar di samping.

Cara yang saya tunjukkan di bawah ini dibuat oleh Peter Grill, seorang anggota forum. Meskipun cara ini (sebagaimana disebutkan sendiri oleh penulisnya) sangat tidak memuaskan, karena memerlukan terlalu banyak pengaturan (tweaking) pada paramaternya untuk menempatkan teks komentar, tetapi paling tidak cara ini cukup membantu dalam penggunaannya. 

Pada contoh dokumen di bawah ini, saya terapkan cara tersebut pada naskah carita pondok (carpon, bahasa Sunda) yang saya peroleh dari YasfiMaziya di sini.

Ada dua paket utama yang kita perlukan untuk hal ini, yaitu
\usepackage{xparse}
\usepackage{tikz}
\usetikzlibrary{calc,fit, decorations.pathmorphing}
Langkah awal adalah membuat garis sebagai "goresan tangan" berbentuk kotak (persegi panjang) oleh makro
\makeatletter
% http://tex.stackexchange.com/questions/39296/simulating-hand-drawn-lines
\pgfdeclaredecoration{penciline}{initial}{
    \state{initial}[width=+\pgfdecoratedinputsegmentremainingdistance,auto corner on length=1mm,]{
        \pgfpathcurveto%
        {% From
            \pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}
                            {\pgfdecorationsegmentamplitude}
        }
        {%  Control 1
        \pgfmathrand
        \pgfpointadd{\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}}
                        {\pgfqpoint{-\pgfdecorationsegmentaspect\pgfdecoratedinputsegmentremainingdistance}%
                                        {\pgfmathresult\pgfdecorationsegmentamplitude}
                        }
        }
        {%TO 
        \pgfpointadd{\pgfpointdecoratedinputsegmentlast}{\pgfpoint{1pt}{1pt}}
        }
    }
    \state{final}{}
}
\makeatother
Kemudian menyiapkan perintah untuk menandai teks yang akan dikomentari.
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\newcommand{\CommentText}[3]{\tikzmark{#1}#3\tikzmark{#2}}
Terakhir, menyiapkan perintah untuk "menyisipkan" komentar itu di antara naskah utama (main body) pada dokumen.
\NewDocumentCommand{\CommentPar}{%
    O{}% #1 = draw options for the referenced word
    O{}% #2 = draw options for the comment
    O{}% #3 = draw options for the connecting line
    m  % #4 = left \tikzmark name
    m  % #5 = left \tikzmark name
    m  % #6 = comment
    }{%
    \begin{tikzpicture}[overlay,remember picture,decoration=penciline, thick]
        \node [shape=rectangle,inner sep=0, draw=blue, ,rounded corners=2pt, fit={(#4.south) ($(#5.north)+(0,0.75ex)$)}, decorate, #1] (Source) {};
        \node at ($(#4)!0.5!(#5)$) [blue, font=\itshape, rounded corners=5pt, decorate, #2] (Label) {#6};
        \draw [draw=red, decorate, #3] (Label) to (Source);
    \end{tikzpicture}
}
Bagaimana menggunakan cara ini pada dokumen? Berikut ini contoh dokumen yang saya buat.
Demikian semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015
\documentclass[a4paper,10pt]{article}
%http://tex.stackexchange.com/questions/78979/how-can-i-put-real-notes-in-the-margin
\usepackage{geometry}
\geometry{left=20mm,right=20mm,top=25mm,bottom=20mm,%
  heightrounded,% better use it
}
\usepackage[svgnames,dvipsnames]{xcolor}
\usepackage[indonesian]{babel}
\usepackage{gentium}
\usepackage{ragged2e,url}
\usepackage{xparse}
\usepackage{tikz}
\usetikzlibrary{calc,fit, decorations.pathmorphing}

\makeatletter
% http://tex.stackexchange.com/questions/39296/simulating-hand-drawn-lines
\pgfdeclaredecoration{penciline}{initial}{
    \state{initial}[width=+\pgfdecoratedinputsegmentremainingdistance,auto corner on length=1mm,]{
        \pgfpathcurveto%
        {% From
            \pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}
                            {\pgfdecorationsegmentamplitude}
        }
        {%  Control 1
        \pgfmathrand
        \pgfpointadd{\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}}
                        {\pgfqpoint{-\pgfdecorationsegmentaspect\pgfdecoratedinputsegmentremainingdistance}%
                                        {\pgfmathresult\pgfdecorationsegmentamplitude}
                        }
        }
        {%TO 
        \pgfpointadd{\pgfpointdecoratedinputsegmentlast}{\pgfpoint{1pt}{1pt}}
        }
    }
    \state{final}{}
}
\makeatother

\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}

\newcommand{\CommentText}[3]{\tikzmark{#1}#3\tikzmark{#2}}

\NewDocumentCommand{\CommentPar}{%
    O{}% #1 = draw options for the referenced word
    O{}% #2 = draw options for the comment
    O{}% #3 = draw options for the connecting line
    m  % #4 = left \tikzmark name
    m  % #5 = left \tikzmark name
    m  % #6 = comment
    }{%
    \begin{tikzpicture}[overlay,remember picture,decoration=penciline, thick]
        \node [shape=rectangle,inner sep=0, draw=blue, ,rounded corners=2pt, fit={(#4.south) ($(#5.north)+(0,0.75ex)$)}, decorate, #1] (Source) {};
        \node at ($(#4)!0.5!(#5)$) [DodgerBlue, font=\itshape, rounded corners=5pt, decorate, #2] (Label) {#6};
        \draw [draw=Chocolate, decorate, #3] (Label) to (Source);
    \end{tikzpicture}
}


\begin{document}
\section*{Malem Lima Belas}

Cicing di lawang panto, ningali ka kulon katutupan ku wangunan. Ningali ka w\'{e}tan sarua k\'{e}n\'{e}h. Hanjakal baheula dijual, ari sugan t\'{e}h moal kieu. Sora \CommentText{A1}{B1}{tura\'{e}s}, sora uncuing geus arareuweuh \'{e}l\'{e}h ku sora \CommentText{A2}{B2}{baladna buta} mah. Kawas kieu \CommentText{A3}{B3}{ningan} malem lima belas t\'{e}h, teu kaciri caang bulan, \'{e}l\'{e}h ku caangna lampu wangunan. 
\CommentPar[draw=RosyBrown][draw=Salmon, shift={(1.0cm,1.7cm)}, rotate=20, text width=2.5cm, align=center][out=-65, in=5, distance=0.2cm,->]{A1}{B1}{Cik, apal henteu \\ka sato ieu?}
\CommentPar[RosyBrown][color=Tomato, shift={(0.75cm,-0.3cm)}, rotate=0][draw=none]{A2}{B2}{Naon maksudna?}
\CommentPar[RosyBrown][text width=4cm, color=SeaGreen, shift={(3cm,-.35cm)}, rotate=-2][Chocolate, out=185, in=-120, distance=0.6cm, ->]{A3}{B3}{Ti wewengkon mana ieu t\'{e}h?}

\vspace{.7cm}
``Akang, tutupan pantona, loba reungit,'' ceuk pamajikan nu keur di dapur.

\medskip
Ngahiliwir, seungit gor\'{e}ng cau, kawasna pamajikan t\'{e}h keur ngagor\'{e}ng cau, matak ieu kaambeu kieu seungitna. Tadina mah moal dijual ieu tanah t\'{e}h, geus sapakat jeung nu lainna. Kajeun {\em d\'{e}mo}, lamun maksa wa\'{e} mah, pokona mah tanah ulah nepi dijual. Ngan ti saprak aya kajadian Haji Udin jeung Kang Til\'{e} di kerewed ku pulisi, majarkeun ar\'{e}k ngahalangan kana \CommentText{A4}{B4}{pembangunan} jeung kamajuan d\'{e}sa, jadi warga t\'{e}h sarieuneun matakna diriungkeun. Tina riungan \'{e}ta t\'{e}h jadi loba nu satuju tanah dijual, kusabab tanah nu ayeuna r\'{e}k dijieun tempat {\em r\'{e}kr\'{e}asi}, urang dieuna bisa digaraw\'{e}, ngan \CommentText{A5}{B5}{pembayaran} tanahna di dua kalikeun, lamun ram\'{e} tempat r\'{e}kr\'{e}asina bakal aya leuwihanna. Ayeuna mah 30\% heula mayar {\em uang muka}na (DP), ceuk pangusaha nu r\'{e}k meuli tanah warga. 
\CommentPar[draw=OliveDrab][draw=CadetBlue, shift={(1.0cm,-1.75cm)}, rotate=-5, text width=2.5cm, align=center][out=70, in=-130, distance=0.2cm,->]{A4}{B4}{\color{SaddleBrown}pangwangunan}
\CommentPar[draw=CadetBlue][draw=RosyBrown, shift={(-.5cm,-.9cm)}, rotate=-5, text width=2cm, align=center][out=150, in=-175, distance=0.2cm,->]{A5}{B5}{pamayaran}

\vspace{.6cm}
Geus aya kana opat taunna can mayar wa\'{e}, ari ditagih t\'{e}h engk\'{e} deui, engk\'{e} deui \CommentText{A6}{B6}{w\'{e}h} jeung engk\'{e} deui. Mun ningali tempat r\'{e}kr\'{e}asina mah ram\'{e}, urang dieu og\'{e} aya nu digaraw\'{e} ngan digaraw\'{e}na t\'{e}h jadi tukang parkir jeung tukang beberesih. Kusabab \CommentText{A7}{B7}{kaluman} ditagih teu mayar wa\'{e}, warga indit ngabring ka kantor kacamatan b\'{e}b\'{e}ja y\'{e}n tanah t\'{e}h can dilunasan wa\'{e} nepi ka ayeuna, ngan jangji \CommentText{A8}{B8}{hungkul}. 
\CommentPar[RosyBrown][color=DodgerBlue, shift={(0cm,0.5cm)}, rotate=0][draw=none]{A6}{B6}{wa\'{e}}
\CommentPar[draw=RosyBrown][draw=DodgerBlue, shift={(1.0cm,-1cm)}, rotate=-5, text width=1.25cm, align=center][out=70, in=-10, distance=0.2cm,->]{A7}{B7}{\color{Sepia}bosen?}
\CommentPar[RosyBrown][color=DarkTurquoise, shift={(1.275cm,0.07cm)}, rotate=0][draw=none]{A8}{B8}{wungkul}

\vspace{.8cm}
Barang datang ka kantor kacamatan, Pa Camat som\'{e}ah pisan, ngabandungan naon naon wa\'{e} anu dicaritakeun ku warga. ``Nya engk\'{e} urang riungkeun perkawis ieu, mugi-mugi tiasa r\'{e}ngs\'{e} sa\'{e}nggalna,'' kitu pokna t\'{e}h Pa Camat nenangkeun warga anu {\em \'{e}mosi}. 

\medskip
Pag\'{e}tona kab\'{e}h warga, Pa Camat, Lurah, jeung pangusaha nu meuli tanah t\'{e}a ngariung di bal\'{e} d\'{e}sa. Basa nanyakeun s\'{e}sana duit, pangusaha nu meuli tanah ngomong, nanyakeun {\em sertifikat}na mana? Kab\'{e}h warga og\'{e} jaremp\'{e} sabari gigideug. Pa Camat satuju kana omongan pangusaha anu nanyakeun {\em sertifikat}. 

\medskip
``Naha mak\'{e} {\em sertifikat} sagala? Tong \CommentText{A9}{B9}{k\'{e}na-k\'{e}na} ka urang lembur, ari meulina mah teu ngomong-ngomong {\em sertifikat} man\'{e}h t\'{e}h euy!,'' ceuk Haji Jaka ngab\'{e}la warga. ``Heueuh, bener!,'' surak kab\'{e}h warga. \\
``Lamun euweuh {\em sertifikat} mah moal dibayar, sarua jeung tanah euweuh anu mikaboga. Aya tina hukumna og\'{e},'' ceuk pangusaha sabari nyengir. 
\CommentPar[draw=RosyBrown][draw=Salmon, shift={(6cm,.65cm)}, rotate=0, text width=1.15cm, align=center][out=172, in=5, distance=0.2cm,->]{A9}{B9}{p\'{e}dah}



\medskip
``Anu aya {\em sertifikat} kumaha?,'' ceuk Haji Jaka. 

\medskip
``Nya nu aya mah, dilunasan ayeuna k\'{e}n\'{e}h,'' ceuk pangusaha t\'{e}h. 

\medskip
``Pa Camat jeung simkuring mah satuju pisan kana anu dicarioskeun tadi, y\'{e}n tanah t\'{e}h kudu aya {\em sertifikat}na, \CommentText{A10}{B10}{m\'{e}h} engk\'{e}na teu jadi \CommentText{A11}{B11}{pisoalan} anu mamawa hukum,'' ceuk Lurah. 
\CommentPar[RosyBrown][color=Tomato, shift={(-.5cm,0.5cm)}, rotate=0][draw=none]{A10}{B10}{amb\'{e}h, ngarah}
\CommentPar[draw=RosyBrown][draw=SeaGreen, shift={(5.2cm,2cm)}, rotate=10, text width=2cm, align=center][out=160, in=5, distance=0.2cm,->]{A11}{B11}{\color{Sepia}pimasalaheun?}

\medskip
``Kab\'{e}h warga teu barogaeun {\em sertifikat}, tina bogana og\'{e} moal dibikeun,'' ceuk Haji Jaka bari ngal\'{e}os. Ti harita tanah t\'{e}h teu dilunasan deui nepi ka ayeuna. Pangusaha nu ngabogaan \'{e}ta tempat r\'{e}kr\'{e}asi jadi beunghar, beunghar ku jangji. Asa dibobodo ku maung, maung anu keur lapar n\'{e}angan hakaneun. Ngeclak cipanon, nutupkeun panto tina malem lima belas. 

\medskip\raggedleft
Sumber: {CARPON} dari {\bfseries YasfiMaziya} \url{https://www.scribd.com/doc/105875235/CARPON}
\end{document}




Related Posts Plugin for WordPress, Blogger...