\(\LaTeX\)による詰棋書の組版(3) 将棋盤を描く

第3回です。
前回、文章を\(\TeX\)で出力する方法を学びました。
今回はいよいよ将棋盤を描きます。

\(\TeX\)で絵はpiture環境で描きます。

\begin{document}

\end{document}

の間に次の命令を入力してください。

\unitlength 3mm
\begin{picture}(21,24)
\end{picture}

これは横(\(x\))21、縦(\(y\))24の座標平面を用意したことになります。
なんで\((0,0)\)~\((21,24)\)かというと、次のような設計図を描いたからです。

この設計図の座標を頼りに、コマンドを書いていきます。
(この設計図はexcelに描いたもので、TeXのプレビュー画面には何も現れません)

例えば横線を引く命令は次のように書きます。

\put(1,22){\line(1,0){18}}

\put(1,22)は座標\((1,22)\)にペン先を置けということです。
\line(1,0){18}はそこから(1,0)の方向(真横)に長さ18の線を引けということです。

コンパイルすると上の図のように1本の横線が引けたはずです。

この命令を10回書いてもよいのですが、実際には便利な\mulitiputという命令を使います。

\multiput(1,22)(0,-2){10}{\line(1,0){18}}

これは見れば想像つくように、
座標座標\((1,22)\)からまず\line(1,0){18}で線を引いたら、
(0,-2)すなわち\(x\)座標は変化なし、\(y\)座標は\(-2\)してまた\line(1,0){18}をせよ。
それを10回繰り返せという意味です。

試してみれば上の図のように横線が10本引けたはずです。

縦線も同じように\muiltiput命令で描いてしまいましょう。

\multiput(1,22)(2,0){10}{\line(0,-1){18}}

という命令を加えます。

次は星を描きます。
円を描く命令は\circleです。

\put(7,10){\circle*{0.5}}
\put(7,16){\circle*{0.5}}
\put(13,10){\circle*{0.5}}
\put(13,16){\circle*{0.5}}

上のコマンド、\circle*{0.5}を\circle*(0.5)と間違えていました。
指摘されてやっと気づきました。ごめんなさい。
あと、\circle{}は円周(circle)ですが\circle*{}は円盤(disk)になります。

わずか4行なので単純に書いてしまいましたが、もちろん\multiputを使って2行で書くこともできます。
やってみてください。

さて、次は座標の番号と「持駒」を入れます。

図の中に文字を入れる定跡は
\makebox(0,0){文字}
です。

\put(18,23){\makebox(0,0){1}}
\put(16,23){\makebox(0,0){2}}
\put(14,23){\makebox(0,0){3}}
\put(12,23){\makebox(0,0){4}}
\put(10,23){\makebox(0,0){5}}
\put(8,23){\makebox(0,0){6}}
\put(6,23){\makebox(0,0){7}}
\put(4,23){\makebox(0,0){8}}
\put(2,23){\makebox(0,0){9}}
\put(20,21){\makebox(0,0){一}}
\put(20,19){\makebox(0,0){二}}
\put(20,17){\makebox(0,0){三}}
\put(20,15){\makebox(0,0){四}}
\put(20,13){\makebox(0,0){五}}
\put(20,11){\makebox(0,0){六}}
\put(20,9){\makebox(0,0){七}}
\put(20,7){\makebox(0,0){八}}
\put(20,5){\makebox(0,0){九}}
\put(3,2){\makebox(0,0){持 駒}}

さて、これで将棋盤は用意できました。
同じように\makebox(0,0){文字}を使えば、駒の配置もできそうだとおわかりですね。

しかし、もうちょいっと駒を配置するのは我慢してください。
作品集やアンソロジーを組むのですから将棋盤が一つでは足りません。

次回は、この将棋盤をたくさん簡単に描く方法について説明します。


さて、ここからはオマケです。

今日はたくさんコマンドを書きましたが、これは覚える必要はありません。
なぜなら1回書けばOKだからです。
私も、色々試しながら、この文章を書きました。
『怒濤』と同じ物を組版することを目標にこの連載は進行しますが、実は全部新たに整理していこうと思っています。

もし、エラーが出て上手くいかない場合はとりあえず今日の分のテキストをコピペしてみてください。
1バイト文字と2バイト文字(日本語)の使い分けが失敗していることが多いです。
また機種依存文字も使えません。いただいた原稿に半角の「、」や「…」などが混じっていると、エラーになってしますので、見つけ出して撲滅する必要があります。

最初の

\unitlength 3mm

は座標の1目盛りの長さを指定しています。

つまりこの将棋盤は
\(横=3\times 21=63\)mm
\(縦=3\times 24=72\)mm
の大きさだということです。

この3mmを変更してコンパイルしてみてください。
将棋盤の大きさが色々と変わります。

でも、文字の大きさは変わりませんね。
文字の大きさは別に指定する必要があります。
それはまた必要になったときに。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください