2022/03/09
xskak(skak)は内部ではchessboard という package を使っているのだったが、chessboard は更に chessfss というpackage を使っているようだった。3週間位かかって、ようやく 3 層目のダンジョンまで潜ったのだった。chessfss はフォントがインストールされていれば、使わなくても済むようだが、LaTeX のフォントのホントに「深い沼」がある。理解するのは、諦めた。
xskak、chessboard、chessfss で定義されている駒のフォントは 2 種類あって、文章内で使うもの(figurine font)と、盤面用のもの(board font)。
board font は真四角で、 \Huge \Large などの影響を受けないで、大きさは一定。
左の盤面は figurine font を使ったもの。データ的には K Q B N R P を使っているのと同じだ。白駒しか定義されていない。
右の盤面は board fontを使ったもの。大きさを変えるには
\setboardfontsize{5mm}
という命令を使う。データは 黒地黒駒 黒地白駒 白地黒駒 白地地白駒 の別とその他に黑地無駒 白地無駒 がそれぞれ、英字 に割り当てられている。
ソースは将棋世界の図面擬を作った時のモノの使い回し。プレアンブルの頭は、、
%% Typeset LuaLaTeX 文字コード UTF-8 ltjsarticle で日本語
\documentclass{ltjsarticle}
\usepackage{chessfss}
\usepackage{tikz}
とシンプル。 ソースの主要部分は
\Huge \BlackKingOnWhite \BlackEmptySquare \king 王 \queen 后 \bishop 僧 \knight 騎 \rook 城
\Large \BlackQueenOnWhite \BlackEmptySquare \king 王 \queen 后 \bishop 僧 \knight 騎 \rook 城
\large \WhiteQueenOnWhite \BlackEmptySquare \king 王 \queen 后 \bishop 僧 \knight 騎 \rook 城
\normalsize \WhiteKingOnWhite \BlackEmptySquare \king 王 \queen 后 \bishop 僧 \knight 騎 \rook 城
\setboardfontsize{5mm}
\begin{図面}
\後手{1}{1}{香}
\後手{2}{1}{\knight}
\後手{3}{1}{銀}
\後手{4}{1}{金}
\後手{5}{1}{\king}
\後手{6}{1}{\queen}
\後手{2}{2}{\bishop}
\後手{8}{2}{\rook}
\後手{5}{3}{\pawn}
\先手{1}{9}{香}
\先手{2}{9}{\knight}
\先手{3}{9}{銀}
\先手{4}{9}{金}
\先手{5}{9}{\king}
\先手{6}{9}{\queen}
\先手{8}{8}{\bishop}
\先手{2}{8}{\rook}
\先手{5}{7}{\pawn}
\持駒Chess{\pawn}
\end{図面}
\begin{図面}
\後手{1}{1}{香}
\後手{2}{1}{\BlackKnightOnWhite}
\後手{3}{1}{銀}
\後手{4}{1}{金}
\後手{5}{1}{\BlackKingOnWhite}
\後手{6}{1}{\BlackQueenOnWhite}
\後手{2}{2}{\BlackBishopOnWhite}
\後手{8}{2}{\BlackRookOnWhite}
\後手{5}{3}{\BlackPawnOnWhite}
\先手{1}{9}{香}
\先手{2}{9}{\WhiteKnightOnWhite}
\先手{3}{9}{銀}
\先手{4}{9}{金}
\先手{5}{9}{\WhiteKingOnWhite}
\先手{6}{9}{\WhiteQueenOnWhite}
\先手{8}{8}{\WhiteBishopOnWhite}
\先手{2}{8}{\WhiteRookOnWhite}
\先手{5}{7}{\WhitePawnOnWhite}
\持駒Chess{\WhitePawnOnWhite}
\end{図面}