Showing posts with label catur. Show all posts
Showing posts with label catur. Show all posts

Thursday, October 1, 2015

Chessboard dan Xskak: Menandai Langkah dengan Tanda Panah

Pendahuluan

Sifat dari belajar $\small\LaTeX$ yang membentuk kurva belajar telah membawa saya untuk memperoleh pengetahuan baru tentang tiga hal dari penggunaan paket xskak, yaitu:
  • mencantumkan titik pada penomoran langkah
  • membalik posisi papan, di mana pemain Hitam berada pada bagian bawah
  • menandai langkah terakhir pada permainan yang sedang berlangsung dengan menggunakan tanda panah


Penggunaan Paket Xskak

Menurut saya, salah satu cara untuk membuat dokumen tentang catur dalam $\small\LaTeX$ yang relatif mudah dan memadai adalah dengan menggunakan paket xskak. Paket ini biasa saya sandingkan dengan paket chessboard untuk pembuatan diagramnya. Kedua paket tersebut dibuat oleh seorang ahli, Ulrike Fischer.

Pada umumnya, untuk membuat dokumen tentang catur, dalam preamble kita muat 
\usepackage[LSBC4,T1]{fontenc}
\usepackage{xskak,chessboard}
\setboardfontencoding{LSBC4}
Pengaturan enkripsi huruf dengan LSBC4 menjadikan tampilan diagram (papan dan buah catur) tampak baik dan "halus". Pilihan lainnya adalah LSBC3, seperti yang saya gunakan dalam dokumen terlampir. Itu terjadi karena berkaitan dengan keseluruhan unsur dalam pengkodean untuk dokumen tersebut.

Naskah catur dengan 
xskak dan chessboard menggunakan pengkodean sebagai berikut:
\newchessgame[...] % dengan beberapa opsi, misalnya: result=1--0
\xskakset{...} % pengaturan tertentu
\mainline{...} % langkah-langkah
\variation[invar]{...} % variasi langkah
\variation{...} % variasi langkah lain
\mainline[outvar]{...} % kembali ke langkah teks
\xskakgetgame{result} % hasil permainan setelah mencantumkan opsi "result"
\chessboard[...] % menampilkan diagram dengan beberapa opsi
Penomoran langkah merupakan bagian dari penggunaan paket xskak. Untuk menunjukkan tanda (noktah) titik setelah angka pada nomor langkah kita gunakan
\xskakset{style=UF}
Sedangkan posisi papan merupakan bagian dari penggunaan paket chessboard. Untuk mengatur agar pihak Hitam yang terletak di bawah, kita gunakan
\chessboard[inverse]

Menandai Langkah dengan Tanda Panah

Seperti tampak pada dokumen terlampir, saya menunjukkan langkah terakhir dari permainan yang sedang berlangsung (langkah teks) dalam penggunaan paket xskak. Kemudian, dalam penggunaan paket chessboard, saya tunjukkan langkah terakhirnya dengan menggunakan tanda panah, dari petak semula (yang saya tandai dengan kotak berwarna) ke petak yang diduduki sekarang.
Untuk hal ini (agar sekali perintah dapat digunakan seterusnya di dalam penyusunan dokumen) saya menetapkan perintah baru di dalam preamble. Tanda panah ini berbentuk lurus, kecuali untuk langkah Kuda dibuat membelok.

  1. \newcommand{\lain}{\setchessboard{
  2.     lastmoveid=A,%tunjukkan langkah terakhir saja
  3.     pgfstyle=straightmove,%untuk langkah terakhir selain kuda
  4.     arrow=to,arrow=stealth,%bentuk panah
  5.     linewidth=0.1ex,%ketebalan garis
  6.     shortenstart=0ex,%letak awal pangkal panah
  7.     shortenend=5pt,%akhir ujung panah
  8.     inverse, %membalik papan
  9.     color=Crimson,%warna panah
  10.     markmoves=\xskakget{move},%menandai langkah
  11.     arrow=to, %arah panah
  12.     color=DodgerBlue, %warna petak semula
  13.     markstyle=border, %tanda (kotak) pada petak semula
  14.     markfield=\xskakget{movefrom}%pangkal panah
  15.     setfen=\xskakget{nextfen}%acuan langkah
  16.     }}

sehingga, di dalam dokumen, diagramnya saya buat dengan perintah
{\lain\chessboard}
A adalah identitas dari permainan yang saya tulis.
\newchessgame[id=A,result=1/2--1/2]
Selain dengan menggunakan kotak, petak asal juga dapat ditandai oleh lingkaran dengan opsi (pada baris 13)
markstyle=circle
Perintah kedua berdasarkan pengkodean di atas, untuk langkah Kuda, , saya tetapkan perintah \kuda pada baris 1, kemudian pada opsi (baris 3) saya tetapkan
pgfstyle=knightmove
Selain itu, karena untuk keterangan mengenai permainan disediakan oleh paket texmate, maka saya gunakan pula paket ini untuk "judul" permainan.

Penutup 

Dokumen di bawah ini saya susun dalam jaringan melalui Online LaTeX Editor ShareLaTeX dengan menggunakan cara-cara sebagaimana telah disebutkan di atas. Demikian semoga bermanfaat.

Adjie Gumarang Pujakelana 2015





Saturday, June 6, 2015

Wronki

Lagi tidak ada pekerjaan, saya berjalan-jalan, eh ... bertemu dengan selingkung (template) Beamer yang memikat. Ini karya dari kaszkowiak.eu, yang "kaya warna" dan berlatar gelap. Seperti disebutkan oleh pembuatnya, sekilas orang tidak akan segera tahu bahwa presentasi yang dihasilkannya disusun oleh $\small\LaTeX$. Itu disebabkan oleh tampilan presentasinya yang berbeda dengan hasil dari selingkung Beamer pada umumnya. 

Penyusunan presentasi ini menggunakan compiler $\small\textrm{Lua}\LaTeX$, sehingga memungkinkan digunakannya beragam jenis huruf (font). Untuk contoh dokumen di bawah ini saya masih menggunakan jenis huruf yang ditawarkan oleh pembuat selingkung, yaitu Libel Suit dan Chinatoo dari Dafont.

Dalam penggunaannya saya uji dengan memuat materi catur. Sumber materi ini adalah penelitian (riset) kepelatihan FIDE, yaitu Knight endings and Pawn endings: the difference, sebuah tulisan dari Vereslav EingornUntuk menyusunnya saya gunakan $\small\TeX\, \textrm{Live 2014}$.
Sesuai dengan sifat dari jenis huruf yang digunakan, pembuat selingkung menyiasati cara untuk teks dalam bentuk tebal (bold) dan miring (italic). Perintah \textbf{...} menghasilkan teks berwarna hitam dengan latar putih, sedangkan perintah \textit{...} menghasilkan teks berwarna "hijau daun pisang". Dengan demikian pada naskah catur tersebut, untuk langkah utama saya gunakan perintah \textit{...} agar berbeda dengan langkah variasi.
Selain itu, untuk diagram papan catur perlu saya atur ulang pewarnaan petak dan buahnya agar bersesuaian dengan latar frame yang berwarna hitam.
Dalam memadukan jenis huruf teks dan penggunaan paket xskak dan chessboard dalam selingkung oleh $\small\textrm{Lua}\LaTeX$ ini ternyata saya harus meniadakan paket fontenc.

Nah, selanjutnya saya tunjukkan pengkodean selengkapnya untuk Anda pelajari, beserta dokumen yang dihasilkannya. Sumber selingkung (template) ini dapat Anda unduh di sini
Demikian semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015
\PassOptionsToPackage{dvipsnames,svgnames}{xcolor} 
\PassOptionsToPackage{colorlinks,link color=RosyBrown, url color=RosyBrown}{hyperref}
\documentclass[hyperref={pdfpagemode=FullScreen},xcolor=dvipsnames]{beamer}
%http://kaszkowiak.eu/wronki-a-new-beamer-template/
\usepackage[utf8]{inputenc}
\usepackage[indonesian]{babel} 
\usetheme{Wronki}
%----------------------------------------------
%\usepackage[T1]{fontenc}
\usepackage{chessboard}
\usepackage{xskak}
%\setboardfontencoding{LSBC4}
%----------------------------------------------
\usepackage{adjustbox}
\usepackage{ragged2e}
\justifying

\title{Permainan Akhir Kuda dan \\\textbf{Permainan Akhir Bidak}\\ \textit{Perbedaannya}}
\author{Viacheslav Eingorn \& Adjie Gumarang Pujakelana}

\begin{document}

\kTitleFrame

\kTOCFrame{Tinjauan}

\begin{frame}
\begin{alertblock}{Gagasan}
Kalimat ``Permainan akhir Kuda adalah permainan akhir bidak'' dikenal sebagai rumus Botwinnik dan (menurut Dvoretsky) itu berarti bahwa sebagian besar teknik permainan akhir bidak sama berlaku pada permainan akhir Kuda. Perbandingan ini timpang (\textit{lame}). Beberapa contoh berikut ini menunjukkan sifat lain dari posisi tersebut dalam aspek yang sangat berbeda, tetapi ada juga satu fitur umum yang layak untuk mendapatkan perhatian Anda: \textit{tanpa Kuda hasil dari setiap permainan yang dipilih dapat diperkirakan dengan mudah sementara dengan Kuda di atas papan Anda tidak mendapatkan gambaran yang jelas dalam pikiran}.
\end{alertblock}
\end{frame}

\section{Keuntungan dari posisi raja mungkin bukan faktor yang menentukan}

\kSectionFrame{butterfly}{Keuntungan dari posisi raja mungkin bukan faktor yang menentukan}

\subsection{Contoh 1}

\begin{frame}
    \frametitle{Contoh 1}
\adjustbox{valign=t}{\begin{minipage}[t]{0.46\textwidth}
{\bfseries Alburt L. : Kholmov R.}, Daugavpils 1978
\styleB
\newchessgame[id=A,
  setfen=8/6k1/4Knp1/5p1p/3N1P1P/6P1/8/8 w - - 0 1,
  moveid=57b]
\def\mycolor{white}
\chessboard[smallboard,moverstyle=triangle,
whitepiececolor=PaleGreen!40,
blackpiececolor=Chocolate,
setfontcolors]

Tanpa Kuda: menang mudah untuk Putih.\\
Dengan Kuda: imbang.
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.44\textwidth}
Kelemahan yang terlihat dari bidak g3 tidak harus menyesatkan siapa pun: duduk di sudut raja Hitam terancam oleh mat atau mutlak kehilangan bidak.\\
\textit{\mainline{57...Ng8}}\\
Untuk saat ini, ini merupakan salah satu dari dua lanjutan yang sesuai. Jalur yang lebih sederhana adalah \variation[invar]{57...Ne4}, misalnya \variation{58.Ke7 Ng3 59.Ne6 Kh7! 60.Kf7 Ne4 61.Nf8 Kh6 62.Ng6 Nc3 63.Ne7 Ne2 64.Ng8 Kh7 65.Nf6 Kh6 66.Nd5 Nd4 67.Ne3 Ne2 68.Ng2 Ng1 69.Kf6 Nf3 70.Kf5 Kg7} dan Putih tidak bisa menang.
\end{minipage}}\hfill
\end{frame}

\begin{frame}
\textit{\mainline[outvar]{58.Nb5 Nf6 59.Nc7 Ng8?}}\\
Bukan begitu! Begini \variation[invar]{59...Ne4 60.Ke7 Ng3 61.Ne6 Kh7} adalah wajib.\\
\textit{\mainline[outvar]{60.Ne8 Kf8 61.Nf6 Nh6 62.Nd7 Kg7 63.Ke7 Ng8}}\\
Juga buruk bagi Hitam adalah \variation[invar]{63...Ng4 64.Nf8 Nf2 65.Ne6 Kh7 66.Kf7 Ne4 67.Ng5 Kh8 68.Kg6}.\\
\textit{\mainline[outvar]{64.Ke8 Nh6 65.Nf8 Kf6 66.Nh7 Kg7 67.Ng5 Ng4 68.Ke7 Nf2 69.Ne6 Kg8}}\\
Atau \variation[invar]{69...Kh6 70.Kf7} dan kemudian 71 \king g8, 72 \knight g5, 73 \knight f7 \#.\\
\textit{\mainline[outvar]{70.Kf6 Ne4 71.Kg6 Ng3 72.Nd4 Kf8 73.Nf5 Ne2 74.Kg5}}\\ 
\textbf{1 : 0}
\end{frame}

\section{Arti dari setiap bidak bebas mungkin jauh lebih penting}

\kSectionFrame{butterfly2}{Arti dari setiap bidak bebas mungkin jauh lebih penting}

\subsection{Contoh 2}

\begin{frame}
    \frametitle{Contoh 2}
\adjustbox{valign=t}{\begin{minipage}[t]{0.46\textwidth}
{\bfseries Barcza G. : Simagin V.}, Budapest 1949
\styleB
\newchessgame[id=B,
  setfen=6k1/p5pp/8/8/2NpnP2/6P1/P6P/6K1 w - - 0 1,
  moveid=39b]
\def\mycolor{white}
\chessboard[smallboard,moverstyle=triangle,
whitepiececolor=PaleGreen!40,
blackpiececolor=Chocolate,
setfontcolors]

Kuda adalah pemain tim dan dengan langkah berikutnya Hitam merakit semua kekuatan bersamaan.
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.44\textwidth}
\textit{\mainline{39...Kf7! 40.Ne5?}}\\ 
Dengan memainkan \variation[invar]{40.Nb2 Ke6 41.Kg2 Kd5 42.Kf3} Putih dapat mencoba untuk membentuk pertahanan, tetapi ia mengikuti rencana lain.\\
\textit{\mainline[outvar]{40...Ke6 41.Nc6 Kd5 42.Na7 d3 43.Kf1}}\\
Sekarang teknik Kuda yang khas akan ditunjukkan: tidak ada kesamaan dengan permainan akhir bidak!\\
\textit{\mainline{43...Nc3!}}\\
Hitam membuat Kuda lawannya menjauh dari bidak ``d'' yang akan dinobatkan.\\
\textit{\mainline{44.Ke1 Kd4 45.Kd2 Ne4 46.Kc1 Nd6! 47.Kd2 Nc4 48.Kc1 d2 49.Kc2 Ke3 50.Nb5 Na3!}}\\
\textbf{0 : 1}
\end{minipage}}\hfill
\end{frame}

\section{Berlebih bidak mungkin berguna dalam posisi dengan materi terbatas}

\kSectionFrame{dragon}{Berlebih bidak mungkin berguna dalam posisi dengan materi terbatas}

\subsection{Contoh 3}

\begin{frame}
    \frametitle{Contoh 3}
\adjustbox{valign=t}{\begin{minipage}[t]{0.46\textwidth}
{\bfseries Kasparov G. : Adams M.}, Linares 1999
\styleB
\newchessgame[id=C,
  setfen=6k1/8/7p/1p6/3N4/P1n3PP/7K/8 w - - 0 1,
  moveid=48b]
\def\mycolor{white}
\chessboard[smallboard,moverstyle=triangle,
whitepiececolor=PaleGreen!40,
blackpiececolor=Chocolate,
setfontcolors]

Tanpa Kuda: menang mudah untuk Putih.\\
Dengan Kuda: imbang.
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.44\textwidth}
Posisi Hitam adalah sulit tetapi bukan tanpa harapan.\\
\textit{\mainline{48...h5?}}\\
Ini adalah gagasan yang tepat pada waktu yang salah! Jalur yang benar adalah \variation[invar]{48...Kg7 49.g4} (atau \variation{49.Kg2 Kf6 50.Kf3 Ke5 51.Nc6 Kf6 52.Na7 h5 53.Ke3 b4 54.Kd3 h4 55.g4 Nd5 56.axb4 Nf4 57.Ke3 Nh3}) \variation{49...Kf6 50.Kg3 Ke5} (mengendali Kuda Putih menjauh dari posisi serangan) \variation{51.Nc6 Kf6 52.Nb4} (\variation{52.Na7 h5}$=$) \variation{52...h5}.\\
\textit{\mainline[outvar]{49.h4?}}\\
Balas budi. Hitam akan menghadapi masalah yang tak terpecahkan dalam hal \variation[invar]{49.Kg2! Kf7 50.Kf3 Kf6 51.Ke3 and 52.Kd3}.
\end{minipage}}\hfill
\end{frame}

\begin{frame}
\textit{\mainline[outvar]{49...Kf7 50.Kh3 Kf6 51.g4 hg4 52.Kg4 Kg6}}\\
Setelah pertukaran bidak Hitam memegang kendali; namun, untuk melakukannya ia harus memainkan permainan akhir ini dengan sempurna!\\
\textit{\mainline{53.h5 Kh7}}\\
Dari pandangan manusiawi murni tampaknya lebih aman untuk mencegah raja itu keluar dari sudut (\variation[invar]{53...Kf6 54.Kh4 Kf7 55.Kg5 Ne4}), tetapi sejauh ini Hitam memiliki satu pilihan.\\
\textit{\mainline[outvar]{54.Kh4 Kg8}}\\
Berbahaya tetapi masih memungkinkan! Di sini \variation[invar]{54...Kh6 55.Nf5 Kh7 56.Nd6 Kh6 57.Kg4 Nd5! 58.Nb5 Ne3 59.Kf4 Nc4 60.a4 Kh5} adalah alternatif manusiawi terakhir.\\
\textit{\mainline[outvar]{55.h6 Kh7 56.Kh5 Ne4?}}\\
Kisah pilu. Seharusnya Hitam konsisten: \variation[invar]{56...Kh8!! 57.Kg6 Kg8 58.h7 Kh8}.\\
\textit{\mainline[outvar]{57.Nb5 Nf6 58.Kg5 Ne4 59.Kf5 Nc5 60.Ke5 Kh6}}\\
Akan sangat berguna untuk membandingkan secara rinci situasi ini dengan posisi terakhir dalam komentar untuk langkah ke-54. Sekarang Putih berada di atas!\\
\textit{\mainline{61.Kd4! Na6}}\\
Atau \variation[invar]{61...Na4 62.Nc3 Nb2 63.Nd1!} (pengorbanan paksa yang khas) \variation{63...Nd1 64.a4}. Kuda Hitam tidak dapat berjuang sendirian melawan semua pasukan Putih.\\
\textit{\mainline[outvar]{62.Kd5 Kg6 63.Nd4 Kf6 64.Kd6 Kf7 65.Ne6}}\\
\textbf{1 : 0}
\end{frame}

\section{Keuntungan posisi yang nyata mungkin belum cukup untuk kemenangan}

\kSectionFrame{lion}{Keuntungan posisi yang nyata mungkin belum cukup untuk kemenangan}

\subsection{Contoh 4}

\begin{frame}
    \frametitle{Contoh 4}
\adjustbox{valign=t}{\begin{minipage}[t]{0.46\textwidth}
{\bfseries Lasker E. : Nimzowitsch A.}, Zuerich 1934
\styleB
\newchessgame[id=D,
  setfen=6k1/pp5p/8/8/3nP3/8/PP6/1K4N1 w - - 0 1,
  moveid=35b]
\def\mycolor{white}
\chessboard[smallboard,moverstyle=triangle,
whitepiececolor=PaleGreen!40,
blackpiececolor=Chocolate,
setfontcolors]

Tanpa Kuda: menang mudah untuk Hitam.\\
Dengan Kuda: Kedudukan Hitam lebih baik.
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.44\textwidth}
Di sini akan kita lihat permainan klasik yang ``tak lekang oleh waktu'' (\textit{``evergreen''}). Hitam memiliki bidak bebas terpencil dan permainan Nimzowitsch dalam permainan akhir ini mendekati sempurna. Tetapi bisakah dia menang melawan pertahanan terbaik dari lawannya? Tidak terbukti.\\
\textit{\mainline{35...Kf7 36.Kc1 Kf6 37.Kd2 Ke5 38.Ke3 h5 39.a3}}.\\
Langsung \variation[invar]{39.Nh3} dan kemudian \variation{39...Ne6} (\variation{39...Nc2 40.Kf3 Kb4? 41.Nf4}) \variation{40.Nf2 Nf4 41.Kf3} (atau \variation{41.Nd1}) terlihat lebih logis. Tidak ada alasan untuk menyentuh bidak sayap menteri tanpa keharusan.\\
\textit{\mainline[outvar]{39...a5 40.Nh3 Nc2?!}}
\end{minipage}}\hfill
\end{frame}

\begin{frame}
\adjustbox{valign=t}{\begin{minipage}[t]{0.45\textwidth}
Ini adalah pelanggaran disiplin: Kuda Hitam bertolak untuk mencapai sesuatu secara mudah (\textit{cakewalk}), bukannya mengikuti urutan umumnya: \variation[invar]{40...Ne6 41.Nf2 Nf4}.\\
\textit{\mainline[outvar]{41.Kd3 Ne1 42.Ke2 Ng2 43.Kf3 Nh4 44.Ke3 Ng6 45.Ng5?!}}\\
Oh, kuda-kuda itu keras kepala! Putih melewatkan satu kesempatan yang baik sekali untuk bertukar bidak setelah \variation[invar]{45.b4!? axb4} (\variation{45...a4 46.Ng1!}) \variation{46.axb4}.\\
\textit{\mainline[outvar]{45...Kf6 46.Nh7 Kg7 47.Ng5 Kf6 48.Nh7 Ke7 49.Ng5 Ne5}}\\
Hitam tergesa-gesa dalam memulihkan pengendaliannya dari petak penting e5. Mungkin dia tidak menyukai variasi \variation[invar]{49...a4 50.Nf3 Kd6 51.b3! axb3 52.Nd2 Ne5 53.Nb3}.
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.45\textwidth}
\textit{\mainline[outvar]{50.Kd4 Kd6 51.Nh3?!}}\\
Di sini langkah 51 b3 diperlukan (\textit{called for}): sangat tidak aman untuk Putih berdiam diri dan membiarkan lawannya memperbaiki sayap menteri tanpa pertukaran bidak!\\
\textit{\mainline[outvar]{51...a4 52.Nf4 h4 53.Nh3}}

\def\mycolor{white}
\chessboard[smallboard,moverstyle=triangle,
whitepiececolor=PaleGreen!40,
blackpiececolor=Chocolate,
setfontcolors]
\end{minipage}}\hfill
\end{frame}

\begin{frame}
Hitam telah membuat kemajuan dan sekarang jalur sederhana \variation[invar]{53...Nc6 54.Kd3} (\variation{54.Kc4 Ke5}) \variation{54...Kc5} terlihat kuat. Namun demikian, setelah \variation{55.Ng1! Ne5 56.Kc3 b5 57.b3!} Putih berada di ambang bencana. Nimzowitsch mencoba untuk mendapatkan tempo tambahan dengan langkah ...b5.\\
\textit{\mainline[outvar]{53...b6 54.Nf4 b5 55.Nh3?!}}\\
Tentu saja, langkah Raja yang baik \variation[invar]{55.Kc3} (Dvoretsky) lebih baik. Tetapi (cukup mengejutkan dan sangat berguna sebagai pelajaran bagi kita!) bahkan setelah membuat pilihan yang lebih lemah itu sama saja Lasker membuat kemungkinan adanya ketahanan.\\
\textit{\mainline[outvar]{55...Nc6 56.Ke3?}}\\
Sekarang pertahanan Putih runtuh. Satu-satunya cara yang mungkin adalah \variation[invar]{56.Kc3 Ke5 57.Kd3}, dan kemudian setelah \variation{57...Na5 58.Ng1! Kf4 59.e5 Kf5 60.e6 Nc6 61.Kd2!} (tetapi bukan \variation{61.Kc3? Kf6}, menjadi Zugzwang) Hitam masih akan jauh dari sasaran. Izinkan saya menggambarkan perhatian Anda terhadap posisi akhir dari variasi ini: itu contoh yang bagus dari kerjasama yang baik untuk buah catur terpencil.\\
\textit{\mainline[outvar]{56...Kc5 57.Kd3 b4! 58.axb4}}\\
Pertukaran ini menyelamatkan sayap menteri tetapi membuka rute untuk raja Hitam.\\
\textit{\mainline{58...Kb4 59.Kc2 Nd4 60.Kb1 Ne6 61.Ka2 Kc4 62.Ka3 Kd4 63.Ka4 Ke4 64.b4 Kf3 65.b5 Kg2}}\\
\textbf{0 : 1}
\end{frame}

\section{Kesimpulan}

\kSectionFrame{phoenix}{Kesimpulan}

\begin{frame}
\begin{alertblock}{Kesimpulan}
Mungkin pengamat yang lebih teliti akan melihat lebih jauh perbedaan antara permainan akhir bidak dan Kuda, tetapi itu hal yang sulit. Kata kuncinya adalah ``mungkin'', sehingga kita memiliki alasan untuk mengubah (\textit{modify}) rumus Botvinnik sebagai berikut:
\begin{center} 
\textit{``Permainan akhir Kuda mungkin permainan akhir bidak.''}
\end{center}
Ini berarti bahwa sebagian besar teknik permainan akhir bidak sama berlaku pada permainan akhir Kuda, tetapi tidak ada jaminan hasilnya sama.
\end{alertblock}
\end{frame}

\section{Rujukan}

\kSectionFrame{dragon}{Rujukan}

\begin{frame}[t]
\frametitle{Rujukan}
\begin{thebibliography}{9}
\setbeamertemplate{bibliography item}[online]
\bibitem{A} Eingorn. 2015. \textit{Knight endings and Pawn endings: the difference}, \url{http://trainers.fide.com/surveys.html}, \\
(diakses 4 s.d. 6 Juni 2015)
\end{thebibliography}
\end{frame}

\kQuestionsFrame{\textit{Terimakasih!}}

\end{document}%--------------------------------------------------
:



Thursday, May 28, 2015

Membuat Diagram Catur dari Forsyth–Edwards Notation (FEN)

Di dalam blog ini telah beberapa kali diterbitkan tulisan tentang catur, yaitu
  1. Menulis Naskah Catur dengan $\small\LaTeX$
  2. Skak
  3. Diagram dan Teks Terpisah dalam Kolom Berbeda
  4. Notasi Permainan Catur
  5. Teori Bilangan dalam Round-robin
  6. Meletakkan Lambang (Simbol) pada Diagram Catur
  7. Presentasi Materi Catur?
  8. Membuat Kamus atau Daftar Istilah?
  9. Animasi Permainan Catur dengan Xskak
  10. Laporan Berkala (Newsletter)
Tulisan kali ini saya fokuskan pada pembuatan diagram catur dengan memanfaatkan kode  Forsyth–Edwards Notation (FEN). Silakan perhatikan contoh dokumen berikut ini.





Untuk hal ini saya gunakan paket chessboard dan xskak, kedua-duanya dari Ul­rike Fis­cher. Unsur pokok yang dimuat dalam preamble adalah 
\usepackage{chessboard}
\usepackage{xskak}
dan untuk "memperhalus papan" saya muat juga
\usepackage[LSBC4,T1]{fontenc}
\setboardfontencoding{LSBC4}
Sekarang kita akan memasuki batang tubuh (body) dokumen. Lebih dulu saya beritahukan bahwa contoh dokumen di atas bersumber dari buku Chess Tactics Jilid 1 karya Igor Shmirin. Saya susun posisi buah catur, sebagaimana tersaji dalam diagram pada buku tersebut, dengan menggunakan DiagTransfer. Misalnya, untuk diagram No.1, saya susun dalam Diagtransfer seperti ini
Kemudian klik menu Edit dan pilih "Copy FEN to clipboard".
Selanjutnya saya tempelkan (paste) hasil langkah terakhir tadi ke dalam pengkodean $\small\LaTeX$ sebagai berikut.
\newchessgame[id=...,
  setfen={tempel di sini, tanpa tanda kurung},
  moveid=...
]
\chessboard[...]
Opsi id digunakan bila kita ingin menandai identitas suatu permainan (game), sehingga "datanya" dapat kita gunakan pada pengkodean berikutnya yang berkaitan dengan game tersebut.
Opsi moveid diisi 1w, bila giliran pertama melangkah dilakukan oleh Putih dan diisi 1bbila giliran pertama melangkah dilakukan oleh Hitam.
Opsi untuk papan pada perintah \chessboard saya isi dengan papan berukuran kecil smallboard dan petunjuk giliran pertama melangkah berbentuk segitiga moverstyle=triangle (secara bawaan berbentuk persegi).
Berikut ini pengkodean untuk diagram No. 1.
\newchessgame[id=A1,
  setfen=6k1/5p2/8/4p3/pp1qPn2/3P4/PP2B3/2Q2K2 w - - 0 1,
  moveid=1b
]
\chessboard[smallboard,moverstyle=triangle]

Demikian semoga bermanfaat. Dokumen di atas saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX.

Adjie Gumarang Pujakelana 2015

Friday, February 27, 2015

Laporan Berkala (Newsletter)

Kali ini saya ajak Anda untuk mengenali selingkung (template) dari Bob Kerstetter yang dimodifikasi dalam LaTeX Templates. Template ini berguna untuk menerbitkan tulisan dalam bentuk laporan berkala atau buletin.

Secara umum, oleh minipage, halaman dibangun dalam dua bagian, yaitu bentuk bilah (sidebar) dan naskah utama (main body) dalam perbandingan 30 : 66. Pada halaman ganjil, bilah diletakkan di kiri dan pada halaman genap diletakkan di kananBilah ini dibingkai oleh paket mdframed. Untuk mengatur letak teks di dalam minipage - agar teks merapat ke tepi atas - saya lebih suka menggunakan paket adjustbox. Template asal menata halaman ini tanpa paket geometry tetapi saya menggunakannya, demi kenyamanan saja. Selain itu, logo diletakkan pada bagian atas halaman pertama dalam environment figure, yang ini saya abaikan. Untuk logo yang saya gunakan, saya rasa lebih tepat untuk meletakkannya pada bagian atas bilah pada halaman pertama. 

Dalam strukturnya, judul tulisan dibuat tanpa penomoran dalam environment center dengan ukuran huruf Large. Daftar isi tulisan diletakkan dalam bilah pada halaman pertama dengan menggunakan environment itemize. Agar memudahkan dalam penelusuran tiap tulisan dan dapat kembali ke daftar isi dengan segera, digunakan paket hyperref dengan pasangan perintah \hyperlink dan \hypertarget
\hypertarget{contents}{\textbf{{\large Posisi yang khas\ldots}}} 
\begin{itemize}
\item \hyperlink{satu}{Gurita!} % These link to their appropriate sections in the newsletter
\item \hyperlink{dua}{Kuda Pembunuh}
\item ...
\end{itemize}
...
\hypertarget{satu}{\heading{Perwira yang Sangat Kuat: Gurita!}{6pt}}
...
\hypertarget{dua}{\heading{Kuda Pembunuh}{6pt}}
...
Perintah untuk menautkan (kembali) ke daftar isi adalah
\newcommand{\BackToContents}{\hyperlink{contents}{{\small Kembali ke Daftar Isi}}}
Contoh dokumen di bawah ini memuat materi tentang catur, bersumber dari Improve Your Chess Pattern Recognition, Arthur Van de Oudeweetering, New In Chess: 2014. Untuk itu saya muat
\usepackage[LSBC4,T1]{fontenc}
\usepackage[indonesian]{babel}
\usepackage{chessboard,xskak}
\setboardfontencoding{LSBC4}
Pengkodean selengkapnya beserta dokumen yang dihasilkannya dalam template ini terlampir di bawah ini. Contoh dokumen ini saya susun melalui Online LaTeX Editor ShareLaTeX
Demikian semoga bermanfaat.

Adjie Gumarang Pujakelana 2015 
\documentclass[10pt,a4paper]{article} 
\usepackage[margin=1.5cm,top=1cm,bottom=1cm]{geometry}
\input{structure.tex} % unduh di http://www.latextemplates.com/template/professional-newsletter

\usepackage[LSBC4,T1]{fontenc}
\usepackage[indonesian]{babel}
\usepackage{chessboard,xskak}
\setboardfontencoding{LSBC4}
\parindent=0em
\usepackage{lipsum}
\usepackage{adjustbox}

\begin{document}

%-------------------------------------
% HEADER IMAGE
%-------------------------------------

%\begin{figure}[!ht]
%\centering\includegraphics[width=0.2\textwidth]{Stempel}
%\end{figure}

%--------------------------------
% SIDEBAR - FIRST PAGE
%-------------------------------

\adjustbox{valign=t}{\begin{minipage}{.3\linewidth} % Mini page taking up 30% of the actual page
\begin{mdframed}[style=sidebar,frametitle={}] % Sidebar box

%-------------------------------------------------------
\begin{center}
\includegraphics[width=0.4\textwidth]{Stempel}
\end{center}

\hypertarget{contents}{\textbf{{\large Posisi yang khas\ldots}}} % \hypertarget provides a label to reference using \hyperlink{label}{link text}
\begin{itemize}
\item \hyperlink{satu}{Gurita!} % These link to their appropriate sections in the newsletter
\item \hyperlink{dua}{Kuda Pembunuh}
\item \hyperlink{tiga}{Pusat-Hitam Nimzo yang \\Kuat}
\item \hyperlink{empat}{Menguasai dari Tepi}
\item \hyperlink{lima}{Tempat Mengarahkan \\Penangkapan}
\item \hyperlink{enam}{Pengamat yang Bukan \\Tanpa Salah}
\item \hyperlink{tujuh}{Gajah yang Kalah}
\item \hyperlink{delapan}{Senjata Kembar Pembunuh Punya Anand}
\item \hyperlink{sembilan}{Muslihat Gajah dari c8}
\item \hyperlink{sepuluh}{Gajah yang Kejam}
\item \hyperlink{sebelas}{Buah Terlarang atau Dapat Dimakan}

%\item \hyperlink{quotation}{Customer quotation}
\end{itemize}

\centerline {\rule{.75\linewidth}{.25pt}} % Horizontal line

%-------------------------------------------------------

\textbf{Gurita!}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A1,
  setfen=r2q1rk1/1b2bppp/p1n1p3/3nP1B1/Pp2N3/1B3N2/1P3PPP/R2Q1RK1 b - - 0 1
]
\chessboard[tinyboard]%
\end{minipage}\hfill
%-------------------------------------------------------

\textbf{Kuda Pembunuh}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A2,
  setfen=r3r1k1/1bq1bppp/p1np1n2/1pp1p3/P3P3/2PP1NN1/1PB2PPP/R1BQR1K1 b - - 0 1 
]
\chessboard[tinyboard]%
\end{minipage}\hfill
%-------------------------------------------------------

\textbf{Pusat-Hitam Nimzo yang Kuat}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A3,
  setfen=r4rk1/ppq2ppp/5n2/2pPp3/2Q1P1b1/P1P5/5PPP/R1B1NRK1 b - - 0 1,moveid=1b
]
\chessboard[tinyboard]%
\end{minipage}\hfill
%-------------------------------------------------------

\textbf{Menguasai dari Tepi}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A4,
  setfen=r1q1r1k1/1p3ppp/p4n2/2np4/8/5N2/PPPQNPPP/3R1RK1 b - - 0 1,moveid=1b
]
\chessboard[tinyboard]%
\end{minipage}\hfill
%------------------------------------------------
\end{mdframed}
\end{minipage}}\hfill % End the sidebar mini page 
%
%-----------------------------------------------------
% MAIN BODY - FIRST PAGE
%-------------------------------
%
\adjustbox{valign=t}{\begin{minipage}{.66\linewidth} % Mini page taking up 66% of the actual page

\hypertarget{satu}{\heading{Perwira yang Sangat Kuat: Gurita!}{6pt}} % \hypertarget provides a label to reference using \hyperlink{label}{link text}

Satu Kuda di jantung posisi lawan, bertujuan baik dari sayap raja maupun sayap menteri, melumpuhkan para perwira lawan. Terdengar bagus, bukan? Kuda seperti itu kadang-kadang disebut sebagai gurita, perumpamaan delapan kaki terhadap delapan petak yang terkendali oleh Kuda yang perkasa.

Sejarah catur telah memperlihatkan beberapa contoh terkenal tentang Kuda yang luar biasa di d3 atau d6.
Pikirkan misalnya Robert Byrne-Fischer, kejuaraan USA 1963, atau kemenangan mengesankan Kasparov atas Karpov dalam {\em game} ke-16 dalam pertandingan Kejuaraan Dunia pada tahun 1985.
Permainan ini dapat ditemukan teranotasi dalam beberapa sumber; di sini kita akan menyelidiki beberapa contoh yang lebih baru, dan memperhatikan aspek tema yang berbeda .

\begin{multicols}{2}
{\bfseries Pertukaran Gajah yang Relevan}\\
Pertama-tama mari kita lihat cara Putih dapat membuat rumah untuk gurita:

\medskip
{\bfseries Hrant Melkumyan\\
Evgeny Postny}\\
{\small Sarajevo 2012}\\
\styleB
\newchessgame[]
\mainline{1.d4 d5 2.c4 dxc4 3.Nf3 Nf6 4.e3 e6 5.Bxc4 a6 6.Bb3 b5 7.a4 b4 8.O-O Bb7 9.Nbd2 c5 10.e4 Nc6 11.e5 Nd5 12.dxc5 Bxc5 13.Ne4 Be7}\\
\chessboard[smallboard,showmover=false]%

\mainline{14.Bg5!}

Pertukaran pelindung alami dari petak d6. Sekarang Kuda dapat melanjut-kan ke petak d6, tanpa takut menjadi korban seketika.

\mainline{14... O-O 15.Nd6 Rb8}\\
\variation[invar]{15... Bxg5 16.Nxb7 Qe7 17.Bxd5 exd5 18.Qxd5} kalah sebuah bidak.

\mainline[outvar]{16.Bxd5 exd5 17.Bxe7 Nxe7} \\
\chessboard[smallboard,showmover=false]%

Berbicara tentang nilai relatif perwira: di sini Kuda di d6 itu tentu saja bernilai lebih dari nilai asalnya tiga poin. Para perwira Hitam sangat dibatasi dalam kegiatannya dan Putih menguasai lebih banyak ruang, semua itu terutama karena satu binatang berkaki delapan ini.

\mainline{18.Qd3}

Putih mengarah ke sayap raja. Alternatifnya adalah \variation[invar]{18.Nd4 Nc8 19.Nxb7! Rxb7 20.a5}. Ini mungkin akan mengejutkan Anda: Putih menyerahkan gurita itu hanya untuk Gajah yang buruk. Tetapi yang penting sebenarnya adalah materi yang tersisa di atas pa-pan. Putih hanya mengubah sifat keuntungannya. Contoh serupa yang paling terkenal dari gejala ini mungkin langkah \variation{22.Nxd7} Fischer dalam Fischer-Petrosian, {\em game} pertandingan ke-7, 1971.

\mainline[outvar]{18... Qd7 19.Ng5} \\
\variation[invar]{19.Nd4} masih memungkinkan.

\mainline[outvar]{19... Ng6 20.f4?!} 

Gagasan yang lebih baik untuk memperkuat pos terluar di d6 adalah \variation[invar]{20.Qg3} dan jika \variation{20... f6} maka \variation{21.e6}; dengan demikian juga menghindari komplikasi setelah \variation{20.Ndxf7 Qg4}.

\mainline[outvar]{20... f6} 

Sekarang Hitam sedang berusaha untuk melemahkan dukungan dari Kuda yang kuat itu.\\
\chessboard[smallboard,showmover=false]%

\mainline{21.Nxb7?}
\end{multicols}
\end{minipage}}\hfill

\clearpage%------------halaman 2

\adjustbox{valign=t}{\begin{minipage}{0.66\linewidth}
\begin{multicols}{2}
Di mana Putih tampaknya memiliki keuntungan posisional yang kuat, sekarang tampaknya dia tidak punya pilihan selain melanjutkannya dengan cara yang nyata dan tajam: \variation[invar]{21.Nxh7 Kxh7 22.Rf3}, ketika Hitam harus mengambil c \variation{22... Rh8} (\variation{22... f5 23.Rh3+ Kg8 24.Qf3 Rf6 25.Nxb7 Re6}).

\mainline[outvar]{21... fxg5 22.Nc5 Qc6 23.Nxa6} 

Putih berjalan dengan sangat keliru: ingat posisi yang sangat dibanggakan dari Kuda ini di d6!

\mainline{23... Ra8}\\
Memenangi satu perwira dan pada akhirnya memenangi permainan.

\mainline{24.Nxb4 Qc5+ 25.Kh1 Qxb4 26.Qxd5+ Kh8 27.fxg5 Qxa4}\\
dan setelah itu Hitam menang.

\medskip
{\bfseries Johnny Hector\\
Jens-Ove Fries Nielsen}\\
{\small Ballerup 2012}\\
Berikut ini adalah contoh terbaru lain di mana Putih menukarkan Gajah petak-gelapnya untuk memungkinkan Kudanya menjadi gurita. Kali ini permainan berlangsung lancar sesudahnya.\\
\styleB
\newchessgame[]
\mainline{1.e4 d5 2.exd5 Qxd5 3.Nf3 Nf6 4.d4 Bg4 5.Be2 e6 6.O-O Be7 7.h3 Bh5 8.c4 Qd8 9.Qb3 Qc8 10.Nc3 O-O 11.Bf4 Nbd7 12.Rfe1 Bd6 13.Ne5 Bxe2 14.Rxe2 Nh5 15.Bd2 c6}\\
Aha! Ini logis bahwa Hitam ingin memberikan ruang untuk Menterinya. Tapi sekarang Putih bisa mencoba untuk mendirikan kubu di d6.

\mainline{16.Ne4 Be7} \\
\chessboard[smallboard,showmover=false]%

\mainline{17.Bb4!}\\
Kita mulai!

\mainline{17... Bxb4 18.Qxb4 Nhf6 19.Nd6}\\
dan ini dia: gurita kita! Putih jelas lebih baik.

\mainline{19... Qc7 20.Rd1 a5 21.Qa3 Nb6 22.Rd3}\\
Yang sulit \variation[invar]{22.Rde1} mungkin lebih baik, berniat untuk mengambil f7 setelah \variation{22... Nc8}.

\mainline[outvar]{22... Nc8}\\
Permainan yang logis terhadap pos terdepan yang mengagumkan ini.

\mainline{23.c5 Nd5 24.Rb3 Ra7 25.Rg3 Nce7}\\
Melepaskan Kuda yang menduduki petak d6 (meskipun dengan biaya bidak-d bebas yang berpotensi membahayakan) di sini atau di langkah sebelumnya pasti lebih konsisten. Sekarang Hitam terbenam karena kekurangan ruang yang kronis. Lihatlah perbedaan aktivitas antara Benteng Putih dan Hitam.

\mainline{26.Qf3 Ng6 27.h4 Raa8}\\
\variation[invar]{27... Nxh4 28.Qg4 Ng6 29.Nxg6 hxg6 30.Rh3}.

\mainline[outvar]{28.h5 Nxe5 29.Rxe5 Qe7 30.Reg5 g6 31.hxg6 fxg6 32.Rxg6+ hxg6 33.Rxg6+ Kh7 34.Qh5#}\qquad {\bfseries 1-0}

\medskip
{\bfseries Nafisa Muminova\\
Pham Bich Ngoc}\\
{\small Ho Chi Minh City 2012}
\styleB
\newchessgame[]
\hidemoves{1.e4 c6 2.d4 d5 3.Nd2 dxe4 4.Nxe4 Bf5 5.Ng3 Bg6 6.Nf3 Nd7 7.Bd3 Bxd3 8.Qxd3 e6 9.O-O Ngf6 10.c4 Bd6 11.b3 O-O 12.Bb2 Qb8 13.Rfe1 b5 14.Qc2 a5 15.Ne5 Qb7 16.a3 Rfc8 17.Qe2 Rab8}\\
\chessboard[smallboard]%

Contoh lain di mana Putih memainkan c4-c5, meninggalkan petak kuat d5 untuk Kuda lawannya, tetapi menakluk-kan pos terdepan yang bahkan lebih kuat di d6 untuk Kudanya sendiri.

\mainline{18.c5 Bxe5}\\
\variation[invar]{18... Bc7 19.Nxf7 Bxg3} (\variation{19... Kxf7 20.Qxe6+ Kf8} (\variation{20...Kg6 21.Re4 h6 22.Qf5+ Kf7 23.Nh5} disertai kemunculan langkah seperti d4-d5 dan \symrook e4-g4) \variation{21.Qe7+ Kg8 22.Nf5 Ne8 23.d5}) \variation{20.hxg3 Kxf7 21.Qxe6+ Kf8} (\variation{21... Kg6 22.g4}) \variation{22.Qd6+ Kg8 23.Re7} mengancam d4-d5.

\mainline[outvar]{19.dxe5 Nd5 20.Ne4 Rf8 21.Bd4 Qc7 22.Nd6}\\
Gurita tercinta kita, sangat didukung oleh kedua bidak di c5 dan e5. Putih masih harus menerobos di suatu tempat dalam posisi tertutup ini (tidak ada jalur terbuka lain selain lajur-d) tetapi Hitam jelas kekurangan ruang. Putih menang setelah beberapa petualangan lebih lanjut.

\BackToContents %
\end{multicols}
\end{minipage}}\hfill % End of the main body - second page mini page
\adjustbox{valign=t}{\begin{minipage}{0.3\linewidth}

\begin{mdframed}[style=sidebar,frametitle={}] % Sidebar box
\textbf{Tempat Mengarahkan\\ Penangkapan}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A5,
  setfen=r2qbrk1/1pp1bpp1/2n1pn1p/p2p2N1/2PP1P1P/P1N1P3/1PQBB1P1/2KR3R b - - 3 1,moveid=1b
]
\chessboard[tinyboard]%
\end{minipage}\hfill

%---------------------------------------------

\textbf{Pengamat yang Bukan Tanpa Salah}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A6,
  setfen=r4rk1/1p1b1ppp/1qn1p3/p1b5/P1B1PN2/8/1PPB2PP/R2Q1R1K b - - 6 1
]
\chessboard[tinyboard]%
\end{minipage}\hfill
%-------------------------------------------------------

\textbf{Gajah yang Kalah}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A7,
  setfen=rn1q1rk1/pp2bppp/1n1pp3/4P3/3P4/2NB1b2/PPQ2PPP/R1B1R1K1 b - - 6 1
]
\chessboard[tinyboard]%
\end{minipage}\hfill
%-------------------------------------------------------

\textbf{Senjata Kembar Pembunuh Punya Anand}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A8,
  setfen=2rq1rk1/pb1n1ppp/2pbpn2/1p4N1/3P4/P1NBP3/1PQ2PPP/R4RK1 b - - 6 1,moveid=1b
]
\chessboard[tinyboard]%
\end{minipage}\hfill
%-------------------------------------------------------

\textbf{Muslihat Gajah dari c8}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A9,
  setfen=rnb1k1nr/2p2qpp/1p2p3/p2pPp2/3P1N2/P1Q5/1PP2PPP/R1B1KB1R b - - 6 1,moveid=1b
]
\chessboard[tinyboard]%
\end{minipage}\hfill
%-------------------------------------------------------

\textbf{Gajah yang Kejam}\\
\begin{minipage}[t]{\textwidth}
\centering
\newchessgame[id=A10,
  setfen=r3k2r/p2p1ppp/np1Bpq2/8/2P5/2P1Q1P1/P3PP1P/R3K2R b - - 6 1  
]
\chessboard[tinyboard]%
\end{minipage}\hfill

\BackToContents % Link back to the contents of the newsletter

\end{mdframed}\hfill
\end{minipage}}\hfill

\end{document}



Saturday, November 1, 2014

Animasi Permainan Catur dengan Xskak

Pengantar

Sejurus, tak aneh untuk Anda menyaksikan langkah-langkah permainan catur secara dinamis (bergerak) dari kedua pemain. Dalam jaringan (daring), pada situs tertentu yang melayani keperluan ini, Anda cukup menuliskan semua langkah dari suatu permainan (game) catur dalam notasi aljabar atau menempelkan (paste) Portable Game Notation (PGN) dari permainan tersebut. Kemudian dengan mengklik tombol panah yang tersedia Anda dapat menyaksikan pergerakan dari tiap langkah dalam permainan itu.

Di luar jaringan (luring), pada komputer, lebih dulu Anda harus memiliki file PGN untuk permainan catur yang akan Anda lihat. Untuk hal ini Anda memerlukan software catur semacam Arena, Fritz, atau sebangsanya. Anda juga dapat membuatnya secara daring melalui situs tertentu. Selanjutnya, dengan memuat (load) file PGN tersebut pada software komputer, Anda dapat membuka dan menyaksikan langkah-langkah permainan catur itu.

Sekarang, bagaimana bila Anda ingin melakukan hal-hal tersebut di atas pada file PDF? Mungkinkah Anda dapat menyaksikan langkah-langkah permainan catur secara dinamis dengan animasi pada file PDF? Tentu, Anda bisa! Anda dapat melakukannya dengan menggunakan $\small\LaTeX$.

Animasi Permainan Catur

Menurut Kamus Besar Bahasa Indonesia (KBBI),
animasi /ani·ma·si/ n acara televisi yang berbentuk rangkaian lukisan atau gambar yg digerakkan secara mekanik elektronis sehingga tampak di layar menjadi bergerak
Ketika saya menyusun dokumen terlampir di bawah ini secara daring melalui Online LaTeX Editor ShareLaTeX, muncul pesan berikut ini,
Timed out. Sorry, your compile took too long to run and timed out. This may be due to a large number of high-res images, or complicated diagrams.Learn how to make your document compile more quickly
Oleh karena itu saya alihkan penyusunannya dengan menggunakan TeX Live 2013 dan berjalan lancar.

Untuk membuat animasi permainan catur dengan menggunakan $\small\LaTeX$, Anda memerlukan tiga paket utama, yaitu xskak, chessboard, animate. Dalam pengantar untuk masing-masing paket tersebut dikatakan,
Xskak, sebagaimana fungsi utamanya, menyimpan informasi tentang permainan catur untuk penggunaan selanjutnya (misalnya, melakukan loop melalui suatu permainan (game) untuk menjadikan papan beranimasi). Paket ini juga memperluas masukan (input) sehingga perintah penguraian dapat mengatasi dan menawarkan antarmuka untuk menetapkan dan mengalihkan antartingkat tak terbatas dari corak mode (gaya).
Paket chessboard menyediakan perintah untuk mencetak papan catur. Dapat mencetak sebagian papan, menyembunyikan buah dan bidang, mewarnai papan, dan menempatkan berbagai tanda di atas papan. Paket ini memiliki banyak pilihan untuk menempatkan buah di atas papan. Memungkinkan penggunaan buah dengan corak yang khas (eksotis), misalnya, untuk problem catur.
Paket animate menyediakan sebuah antarmuka untuk menciptakan secara portabel, penggerak JavaScript untuk animasi pada PDF dari rangkaian file grafis atau dari grafis beruntun, seperti environment gambar LaTeX, PSTricks atau PGF/TikZ yang menghasilkan gambar, atau hanya dari susunan teks.
Contoh dokumen terlampir di bawah ini berdasarkan pada dokumentasi paket xskak halaman 35 – 36, tetapi saya gunakan notasi aljabar dalam bahasa Inggris (bukan bahasa Jerman sebagaimana tercantum dalam dokumentasi tersebut). Jika Anda ingin menggunakan penotasiannya dalam bahasa Jerman, Anda memerlukan paket fontenc:
\usepackage[LSBC4,T1]{fontenc}
\setboardfontencoding{LSBC4}%
\newskaklanguage{german}{KDTLSB}
\skaklanguage[german]%
Cara membuatnya cukup sederhana. Pertama, ikuti pengkodean yang tercantum pada dokumentasi paket sebagaimana tersebut di atas. Kedua, Anda harus menyiapkan notasi aljabar (file PGN) dari permainan yang akan Anda buatkan animasinya. Tempelkan (paste) notasi dari langkah-langkah permainan dalam perintah \mainline{...} atau \hidemoves{...}.

Penutup
Setelah dokumen selesai tersusun, ada satu hal yang sangat penting. Animasi dalam dokumen tersebut dapat ditampilkan hanya jika dokumen itu dibuka oleh Adobe Reader, karena penampil file PDF lainnya tidak memiliki pengaya untuk keperluan ini.

Berikut ini contoh pengkodean selengkapnya beserta dokumen yang dihasilkannya. (Anda juga dapat melihat contoh permainan saya lainnya pada tulisan saya di sini.)
Demikian semoga bermanfaat.

Adjie Gumarang Pujakelana 2014

\documentclass{article}
\usepackage[margin=1.5cm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{flowfram}% http://ctan.org/pkg/flowfram
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{gentium}
\usepackage[indonesian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{animate}
\usepackage{chessboard,xskak}
\definecolor{warna1}{HTML}{1E90FF}
\definecolor{warna2}{HTML}{F0E68C}
\definecolor{warna3}{HTML}{2F4F4F}
\usepackage[colorlinks]{hyperref}
\usepackage{tikz}
\usetikzlibrary{fadings,patterns}
% First page setup
\newstaticframe{\textwidth}{0.1\textheight}
  {0pt}{.9\textheight}[headertext]
\newdynamicframe[1]{0.30\textwidth}{0.85\textheight}
  {0pt}{0pt}[leftcolumn1]
\newdynamicframe[2]{0.30\textwidth}{0.85\textheight}
  {0pt}{0pt}[leftcolumn2]
\newdynamicframe[3]{0.30\textwidth}{0.85\textheight}
  {0pt}{0pt}[leftcolumn3]
\newflowframe{0.65\textwidth}{0.85\textheight}
  {0.35\textwidth}{0pt}[rightcolumn]

\begin{document}
\pagenumbering{gobble}

\begin{staticcontents*}{headertext}
Ini adalah contoh perpaduan dari dua paket, yaitu {\tt xskak} dan {\tt animate} yang menghasilkan suatu animasi pada permainan catur langkah demi langkah. 
\end{staticcontents*}

\begin{dynamiccontents*}{leftcolumn1}
  \centering\includegraphics[width=\linewidth]{mataraja}\par\bigskip
\raggedright  {\tt Xskak}, sebagaimana fungsi utamanya, menyimpan informasi tentang permainan catur untuk penggunaan selanjutnya (misalnya, melakukan \emph{loop} melalui suatu permainan ({\it game}) untuk menjadikan papan beranimasi). Paket ini juga memperluas masukan (\emph{input}) sehingga perintah penguraian dapat mengatasi dan menawarkan antarmuka untuk menetapkan dan mengalihkan antartingkat tak terbatas dari corak mode (gaya).

\bigskip
Paket {\tt animate} menyediakan sebuah antarmuka untuk menciptakan secara portabel, penggerak JavaScript untuk animasi pada PDF dari rangkaian {\it file} grafis atau dari grafis beruntun, seperti {\it environment} gambar \LaTeX, {\tt PSTricks} atau {\tt PGF/TikZ} yang menghasilkan gambar, atau hanya dari susunan teks.\par
\end{dynamiccontents*}

\begin{center}
\begin{tikzfadingfrompicture}[name=distress]
\node[text=transparent!0] {\it\Huge\textbf{Animasi pada Xskak}};
\end{tikzfadingfrompicture}
\begin{tikzpicture}
\fill[preaction={fill},pattern color=warna3,pattern=crosshatch dots] (-6,-1) rectangle (6,1);
\fill[pattern color=warna2,
  pattern=crosshatch,
  path fading=distress,
  fit fading=false
] (-5,-1) rectangle (5,1);

\end{tikzpicture}

\medskip
\setchessboard{boardfontsize=0.8cm,shortenend=5pt, margin=false}%
\skaklanguage[english]%
%
\newcommand\getmovestyle[1]{%
\ifthenelse
{\equal{#1}{N}}%knight move
{\def\mymovestyle{[clockwise=false,style=knight]curvemove}}
{\ifthenelse
{\equal{#1}{}}% castling
{\def\mymovestyle{curvemove}}
{\def\mymovestyle{straightmove}}}}%
%
\newchessgame[white=l_goch,black=Pujakelana,result=0--1,
id=anim]%
\hidemoves{1.e4 c6 2.d4 e5 3.dxe5 Qa5+ 4.Nc3 Qxe5 5.Nf3 Qc7 6.Bc4 h6 7.Bxf7+ Kxf7 8.O-O d6 9.Bf4 Bg4 10.e5 dxe5
 11.Nxe5+ Qxe5 12.Qxg4 Qe6 13.Qg3 Nd7 14.Rfe1 Qf5 15.Rad1 Ngf6 16.Be3 Bb4 17.Qc7 Rhc8 18.Qxb7 Bxc3 19.bxc3 Kg8 20.Bxa7 Rf8
 21.Be3 Nd5 22.Qxc6 Nxe3 23.fxe3 Qf2+ 24.Kh1 Rad8 25.Qc4+ Kh8 26.Qe2 Qxe2 27.Rxe2 Nc5 28.Rxd8 Rxd8 29.g4 Rd1+ 30.Kg2 Ra1
 31.e4 Rxa2 32.e5 Ne6 33.Kf3 Ra3 34.Re3 Ra4 35.h3 Kg8}%
%
\unitlength0.8cm\relax

\begin{animateinline}[autoplay,loop,controls]{0.5}%
\begin{picture}(11,11)
\put(1.5,1.5){\chessboard[setfen=\xskakgetgame{initfen}]}%
\end{picture}
\newframe
\xskakloop{%
\getmovestyle{\xskakget{piecechar}}%
\begin{picture}(11,11)
\put(1.5,1.5){%
\chessboard[pgfstyle=\mymovestyle, color=red!50!gray,
pgfshortenend=0.3em,arrow=to,
markmoves=\xskakget{move},
coloremph,piececolor=warna1,
emphfields={\xskakget{moveto}},
setfen=\xskakget{nextfen}]}%
\end{picture}%
\newframe}%
\begin{picture}(11,11)
\put(1.5,1.5){\chessboard[setfen=\xskakgetgame{lastfen}]}%
\end{picture}
\end{animateinline}

\vspace{1cm}
{\Large\it\color{warna3}\textcopyright\ Adjie Gumarang Pujakelana}
\end{center}

Animasi di atas adalah \href{http://www.chess.com/echess/game?id=51690733}{permainan saya} di chess.com dalam {\it team match} antargrup {\it October} melawan {\it Hobby Catur Indonesia} dengan kemenangan Hitam setelah 35 langkah sebagai berikut.

\begin{center}
    \textbf{l\textunderscore goch (2195) -- Pujakelana (1930)} \\
    \textit{From A to Z Big Match! 50+ Players, chess.com} \\
    \textit{25 Maret 2012} \\
    B12 -- Pertahanan Caro-Kann 
\end{center}

\newchessgame
\mainline{%
1.e4 c6 2.d4 e5 3.dxe5 Qa5+ 4.Nc3 Qxe5 5.Nf3 Qc7 6.Bc4 h6 7.Bxf7+ Kxf7 8.O-O d6 9.Bf4 Bg4 10.e5 dxe5
 11.Nxe5+ Qxe5 12.Qxg4 Qe6 13.Qg3 Nd7 14.Rfe1 Qf5 15.Rad1 Ngf6 16.Be3 Bb4 17.Qc7 Rhc8 18.Qxb7 Bxc3 19.bxc3 Kg8 20.Bxa7 Rf8
 21.Be3 Nd5 22.Qxc6 Nxe3 23.fxe3 Qf2+ 24.Kh1 Rad8 25.Qc4+ Kh8 26.Qe2 Qxe2 27.Rxe2 Nc5 28.Rxd8 Rxd8 29.g4 Rd1+ 30.Kg2 Ra1
 31.e4 Rxa2 32.e5 Ne6 33.Kf3 Ra3 34.Re3 Ra4 35.h3 Kg8}\quad  0 -- 1

\end{document}



Related Posts Plugin for WordPress, Blogger...