Wednesday, April 2, 2014

Diagram dan Teks Terpisah dalam Kolom Berbeda

Saya tertarik oleh buku catur yang saya anggap baik untuk dipelajari, seperti tampak jilidnya di samping ini. Selain karena muatan materi di dalamnya, yang menarik juga adalah teknis penulisannya yang memisahkan antara kolom teks dan kolom diagram. Bagaimana cara menuliskannya?

Lebih dulu saya memilih paket untuk catur yang relatif sudah dipahami, yaitu xskak dan chessboard. Berikutnya, untuk membuat dua kolom dengan tulisan di dalamnya merapat ke atas, saya gunakan paket adjustbox dengan environment minipage.

\adjustbox{valign=t}{\begin{minipage}{0.4\textwidth}
 <...kolom kiri...>
\end{minipage}}%
\hfill
\adjustbox{valign=t}{\begin{minipage}[t]{0.6\textwidth}
 <...kolom kanan...>
\end{minipage}}%
\hfill

Pada buku tersebut, untuk halaman bernomor genap, kolom kiri memuat diagram. Demikian sebaliknya untuk halaman bernomor ganjil. Karena penampilan diagram tanpa disertai penampilan langkah-langkah permainan, maka saya gunakan perintah 

\newchessgame
\hidemoves{<langkah-langkah permainan>}
\chessboard

Berikut ini contoh pengkodean selengkapnya, yang saya susun (compile) melalui ShareLaTeX, untuk halaman bernomor genap pada buku tersebut beserta dokumen yang dihasilkannya.
\documentclass[12pt]{article}
\title{101 Winning}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage[explicit]{titlesec}
\usetikzlibrary{shapes.misc,arrows}

\usepackage{xskak,chessboard}

\usepackage[lmargin=2cm,rmargin=2cm,tmargin=2cm,bmargin=2cm]{geometry}
\usepackage{adjustbox}
\usepackage{graphicx}
\usepackage[math]{anttor}
\usepackage[T1]{fontenc}

\definecolor{paper}{RGB}{239,227,157}
\definecolor{biru}{cmyk}{1,.60,0,.40}
\definecolor{bgblue}{RGB}{245,243,253}
\definecolor{RoyalBlue}{cmyk}{1, 0.50, 0, 0}
\definecolor{wine-stain}{rgb}{0.5,0,0}
\definecolor{Teal}{RGB}{0 128 128}
\newcommand\titlebar{%
\tikz[baseline,trim left=0.5cm,trim right=2.5cm] {%
    \node [
        text = red!70!green,
        anchor= base east,
        minimum height=3.5ex] (a) at (2.5cm,0.6ex) {%
    };
   \path[fill=red!70!blue] (a.east) circle (.5ex);
   \draw[color=red!70!blue, thick,rounded corners=1ex] (a.east) |- (\textwidth+3cm,-0.75ex);
}
}

\newcommand\subtitlebar{%
\tikz[baseline,trim left=1cm,trim right=3.05cm] {%
    \node[
        text = red!70!green,
        anchor= base east,
        minimum height=3.5ex] (b) at (3.05cm,0.6ex) {%
    };
   \path[fill=red!70!blue] (b.east) circle (.5ex);
   \draw[color=red!70!blue, thick,rounded corners=1ex] (b.east) |- (\textwidth+2cm,-0.75ex);
}%
}

\newcommand\titledot{%
\tikz[baseline=-0.65ex] {%
\path[fill=red!70!blue] (0,0) circle (.5ex);
  }
}

\titleformat{\section}{\Large\sffamily}{\llap{\titledot}}{0cm}{\textcolor{blue!60!green}{#1}}
\titlespacing*{\section}{0cm}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
\titlespacing*{name=\section,numberless}{0cm}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
\renewcommand*{\thesection}{\arabic{section}}
\setlength{\parindent}{0pt}

\begin{document}
\pagenumbering{gobble}

\adjustbox{valign=t}{\begin{minipage}{0.4\textwidth}
\setchessboard{boardfontsize=17pt,showmover=false}
\newchessgame
\hidemoves{1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Nf3 e5 7. O-O Nc6 8. d5  Ne7 9. b4 Nh5 10. g3 f5 11. Ng5 Nf6 12. f3 a5 13. bxa5 Rxa5 14. Qb3 f4 15. Ba3  fxg3 16. hxg3 Nh5 17. Kg2}
\chessboard\\

\setlength{\leftskip}{0.5cm}
Setelah langkah 17 Putih

\setlength{\leftskip}{0cm}
\newchessgame
\hidemoves{1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Nf3 e5 7. O-O Nc6 8. d5  Ne7 9. b4 Nh5 10. g3 f5 11. Ng5 Nf6 12. f3 a5 13. bxa5 Rxa5 14. Qb3 f4 15. Ba3  fxg3 16. hxg3 Nh5 17. Kg2 Nxg3 18. Kxg3 Nf5+ 19. exf5 Qxg5+ 20. Kf2 Qh4+ 21. Kg2 Rxf5 22. Ne4 Rg5+ 23. Nxg5 Qxg5+ 24. Kf2 Qh4+ 25. Kg1 Qg3+ 26. Kh1 Rxa3}
\chessboard\\

\setlength{\leftskip}{1.6cm}
Setelah 26.\symking h1

\setlength{\leftskip}{0cm}
\newchessgame
\hidemoves{1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Nf3 e5 7. O-O Nc6 8. d5  Ne7 9. b4 Nh5 10. g3 f5 11. Ng5 Nf6 12. f3 a5 13. bxa5 Rxa5 14. Qb3 f4 15. Ba3  fxg3 16. hxg3 Nh5 17. Kg2 Nxg3 18. Kxg3 Nf5+ 19. exf5 Qxg5+ 20. Kf2 Qh4+ 21. Kg2 Rxf5 22. Ne4 Rg5+ 23. Nxg5 Qxg5+ 24. Kf2 Qh4+ 25. Kg1 Qg3+ 26. Kh1 Rxa3 27. Qxa3 Bh6 28. Qa8 Qh3+ 29. Kg1 Be3+ 30. Rf2 Kg7! 31. Rf1 Qg3+ 32. Kh1 Bh3 33. Qd8 Bxf2 34. Qe7+ Kh6 35. Qf8+ Kh5 36. f4+}
\chessboard\\

\setlength{\leftskip}{0.6cm}
Setelah 36. f4+ (analisis)

    \end{minipage}}%
\hfill
\adjustbox{valign=t}{\begin{minipage}[t]{0.6\textwidth}
\section{Strategi 21 - Sirami Api dengan Bahan Bakar}
Steffensen-Hamilton, Canberra 1994. \\
Bidak-bidak sayap raja yang mengalami kerusakan ringan dan letak Menteri dan Gajah petak gelap Putih memacu Hitam untuk menyerang. Kunci dari strategi sukses Hitam adalah kemauannya untuk berinvestasi materi. 

\newchessgame[id=A,result=0--1]
\hidemoves{1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Nf3 e5 7. O-O Nc6 8. d5  Ne7 9. b4 Nh5 10. g3 f5 11. Ng5 Nf6 12. f3 a5 13. bxa5 Rxa5 14. Qb3 f4 15. Ba3  fxg3 16. hxg3 Nh5 17. Kg2}
\mainline{17... Nxg3!!}\\
Menghilangkan bidak yang setia.

\mainline{18. Kxg3 Nf5+ 19. exf5 Qxg5+ 20. Kf2 Qh4+ 21. Kg2}

\variation[invar]{21. Ke3? Qd4#}
menegaskan kesulitan pada Putih.

\mainline[outvar]{21... Rxf5 22. Ne4 Rg5+!}

Pengorbanan yang sangat baik ini adalah langkah kunci dari strategi, karena dengan Kuda di e4 Putih mampu bertahan. Materi hanyalah salah satu faktor dalam catur, dan di sini penguasaan Hitam terhadap petak gelap diprioritaskan.

\mainline{23. Nxg5 Qxg5+ 24. Kf2 Qh4+ 25. Kg1 Qg3+ 26. Kh1}

Hitam kehilangan Benteng, tetapi Menterinya telah memerangkap Raja Putih. Tahap berikutnya peran Gajah yang kuat dari sayap raja, tetapi lebih dulu Hitam menumpahkan lebih banyak bahan bakar di atas api.

\mainline{26... Rxa3!!}

Hitam menyerahkan benteng lainnya, berguna untuk menyingkirkan perwira potensial yang menyelamatkan permainan, demi kesiapan untuk pukulan mematikan di petak gelap.

\mainline{27. Qxa3 Bh6 28. Bd1}

Mengosongkan baris kedua. Setelah \variation[invar]{28. Qa8 Qh3+ 29. Kg1 Be3+ 30. Rf2 Kg7! 31. Rf1 Qg3+ 32. Kh1 Bh3! 33. Qd8 Bxf2 34. Qe7+ Kh6 35. Qf8+ Kh5! 36. f4+ Bg4 37. Bxg4+ Kxg4 38. Qh6 Kf3! 39. Qh2 Qxh2+ 40. Kxh2 e4}
Gajah tunggal memenanginya.

\mainline[outvar]{28... Bf4 29. Qb2 Qh4+ 30. Kg1 Be3+ 31.  Rf2 Bh3 32. Kh2 Bf5+ 33. Kg1 Qg3+ 34. Kh1}

\variation[invar]{34. Kf1 Bd3+}

\mainline[outvar]{34...Bxf2 35. Be2 Qh3#}
\mbox{\XskakAresult}

    \end{minipage}}%
\hfill


\end{document}


-->

2 comments:

Unknown said...

Untuk sastra jontal bisa pakai ini pak.

Eman Sulaeman said...

Harus ada yang bisa buat paket hurufnya dulu.

Related Posts Plugin for WordPress, Blogger...