段々と Fairy の深みに嵌まってゆく、、

xskak で chess の駒を回転させることは出来ていたのだが、盤面にはめ込む方法はわからなかった。で、フォントのエンコードを指定して、書くことにしたのだが、面倒くさい。
サンプルは Problemist の古いやつから。まず残念な画像は、、20220404_01.jpg
のような具合である。歪みと駒の薄さが気になり、考えるどころではない。
入力した図は
20220404_02.jpg
と行った具合だ。でも駒の翳が薄い所は心配なのだった。

No. 77 の 答えを見てみたら、

1.Pe6 ch, with 8 interference variations from the Black S.

とあり、まだあっているか理解できていない、、。

ちなみに、 LaTeX のソースは以下の通り。もっと上手いやり方があるとは思うのだが。
座標をうまく指定すれば、整数値で済みそうだ。

\begin{center}
\begin{tikzpicture}
\fontencoding{LSB}
\fontsize{15pt}{15pt}\selectfont
\draw(0,0) rectangle(120pt,120pt);
\draw(60pt,112.5pt ) node {BlrZ0M0A}; 
\draw(60pt, 97.5pt ) node {Z0Z0ZrZ0};
\draw(60pt, 82.5pt ) node {RZ000Z00}; % d6=0 h6=0
\draw(60pt, 67.5pt ) node {J0jnO0Z0}; 
\draw(60pt, 52.5pt ) node {0Z0ZPZ0Z};
\draw(60pt, 37.5pt ) node {Z0ZPZ0Z0};
\draw(60pt, 22.5pt ) node {0O0M0Z0Z};
\draw(60pt,  7.5pt ) node {L0Z0Z0a0};
\draw(52.5pt, 82.5pt ) node {\rotatebox[origin=c]{180}{L}}; %white d6
\draw(82.5pt, 67.5pt ) node {\rotatebox[origin=c]{180}{Q}}; %white f5
\draw(22.5pt, 37.5pt ) node {\rotatebox[origin=c]{180}{q}}; %black b3
\draw(97.5pt,112.5pt ) node {\rotatebox[origin=c]{180}{q}}; %black g8
\draw(112.5pt, 82.5pt ) node {\rotatebox[origin=c]{180}{l}}; %black h6
\end{tikzpicture}
\end{center}


スポンサーサイト



LaTeX で Chess Problem の図を作る 続続

前にやったみた時は、A4 横に4つ並べてみたが、如何にも窮屈。どうせ画面でみるだけならページ数は気にせずゆったりとした方がいいかなーと思った。
\begin{multicols*}{3}
ということにすると、最終ページの配分が気にならなくなるので、これを使おうか。それとも、、
まあ、FIDE ALBUM の図を入力して試してみる。
20220326.jpg20220326_2.jpg

FIDE ALBUM は図数が多いので、配置はもう少し練ってみよう。それと、キリル文字をどうしようか、出典まで入力するか、Solutions はどうしようか、などなど。
こちらは、選りすぐりのものなので、なかなか解けないのも悩みのタネだ。

LaTeX で The Huddersfield College Magazine 続続続

Solution のソースは、以下のように簡単にできる。図を間違えようも無い。

\resumechessgame[id=pro1]
\Diagram
\mainline{1. Nc6} and mates in two moves.

\resumechessgame[id=pro2]
\Diagram
\mainline{1. Qf5+ Kh8 2.Ng6+ Kh7 3.Nf8+ Kh8 4.Qh7+ Nxh7 5.Ng6\mate} 

HCM1_7.jpgHCM1_8.jpg

今回の \Diagram のマクロは以下の通り。保存したデータの取り出し方が一寸面倒だが、マクロにしてしまえばいいことだ。

\newcommand{\Diagram}{%
\begin{center}
\begin{tabular}{c}
\textbf{\xskakgetgame{diagramlabel}}\\
\xskakgetgame{composer}\\
\xskakgetgame{date}\\
\chessboard
\\
\xskakgetgame{stipulation} \hfill \ 
\end{tabular}
\end{center}
}%

diagramlabel が長いと、stipulation が、盤面の幅より左に行ってしまうが、御愛嬌ということにしておこうか。
PDF は、そのうちに、 Home page にアップします。(追記: 2022-03-26 HCMvol.1 を up) 


LaTeX で The Huddersfield College Magazine 続続

最後には、旅行記が載っていて、新聞などに載っている Problem の紹介がある。OCR の不調なところもあって、手入力したところが多いので誤植がかなりありそうだ。
HCM1_4.jpg
駒の配置は

White.---K at KKt7; R at KB8; B at KB5; Kt at K6 ; Pawns at KKt6 and QB5.
Black.---K at K2; B's at QR4 and 5; Kt's at KR7 and QB3; Pawns at Q4, QB2, and QKt5.

といった具合に記述されていて、図面は無い。ソースは

\newchessgame[id=proGWH,
diagramlabel={Glasgow Weekly Herald},
composer={J. Pierce},
date={1973},
stipulation={\#4},
setwhite={kg7,rf8,bf5,ne6,pg6,pc5},
addblack={ke7,ba5,ba4,Nh2,nc6,pd5,pc7,pb4}]
\chessboard

のように、setwhite と addblack で指定出来るのだった。
HCM1_5.jpgHCM1_6.jpg
game の記事は省略していたが、この記事だけは入れてみた。図面は原図には無かったが、指手を入れれば表示するのは簡単だ。

LaTeX で The Huddersfield College Magazine 続

Solution は次の号に載っているのだが、遅れることもある。図は載っていなくて手順のみ。どう編集するか、迷ったが、後部にまとめることとした。そして、図も再掲した方がいいと考えた。出題号でのデータを保存しておくには id を使えば簡単にできる。そして、保存するデータ名も定義できる。
HCM1_2.jpg
データの定義は、
\xskaknewpgninfo{diagramlabel}
\xskaknewpgninfo{composer}
\xskaknewpgninfo[\#3]{stipulation}
といった具合。出題部分のソースは以下の通りである。データの重複がみられるが、まあ、試行錯誤の名残である。

\section{February, 1873} % p93/pdf104-p96/pdf107 HCM 1873-02
\subsubsection*{PROBLEM V}
By Mr. \textsc{P.T. Duffy}, London.

\newchessgame[id=pro5,
diagramlabel={PROBLEM V},
composer={P. T. Duffy},
date={February, 1873},
stipulation={\#3},
setfen=8/3K1p1r/8/2bk3r/3NR2p/4P3/2Q5/8]
\chessboard

White to move and mate in three moves.
HCM1_3.jpg