LaTeX で「ゲームの遊び方」!

はじめに

囲碁や将棋などのゲームををやっていると、棋譜を書いたり遊び方を書いたり したくなるものです。LaTeX では、こうした遊びのためのパッケージを使うことが 出来ます。ここでは、囲碁・将棋・チェス・クロスワードパズルのパッケージ を紹介します。これ以上詳しいことは、「LaTeX グラフィックコンパニオン」 (アスキー)をご覧下さい。ただし、5000円以上する本ですので、近くの図書 館に入れてもらうという形をとるといいでしょう。(無料のパッケージを使う ために5000円以上払うのも気が引けますからね。)

なお、私はゲームのルールそのものには極めて疎いので、ゲームの用語の使 い方が間違っている可能性が高いです。

将棋

最初は将棋のパッケージです。これは残念ながら「LaTeX グラフィックコンパニ オン」には載っていません。しかし、最近将棋のパッケージの開発版が登場しま した。

配布元は、以下のサイトです。

http://psitau.tripod.co.jp/index.html

また、将棋の駒を書きたい場合は、以下のサイトから無料のTrue Typeフォン トをダウンロードします。Mac OS版もあります。

http://www.ladybird.net/down.html

ダウンロードしたファイルを解凍すると、中にguide.pdfが入っています。そ こでインストール方法と使い方が解説されています。

インストール方法ですが、guide.pdf を参考にしつつ、tfmファイルやstyファイルといったものは、 LaTeXでいろいろやる前に --- パッケージの導入法 を参考にしながらインストールしてみてください。これで、たとえば次のよ うなものが書けるようになります。(guide.pdf の中にあるTeX ソースもこれで 書けます。)

文字による将棋の棋譜

さらに、将棋の駒を書きたい場合は、先ほどダウンロードした将棋用True Typeフォントをインストールします。まず、「コントロールパネル」に「フォント」の アイコンがありますので、それをダブルクリックします。そこで出てきたウィン ドウで、[ファイル (F)] -> [新しいフォントのインストール (I)]の順に選び、 将棋用フォントのファイルを選択してください。(もしくは、将棋用フォントの ファイルを、「フォント」のウィンドウの中にコピーしてもインストールできま す。)

また、dviout for Windows をお使いの場合は、同梱されている ttfonts.map (私のサイトやTeX Forumを参考にインストールした場合は C:\dvioutの中にある)をメモ帳等で開き、一番最後に次を付け加えます。

Ohshou "Ohshou"

他のdviwareの設定方法については分かりません。

以上の設定で、dviout for Windows で、将棋用フォントが次のように使えま す。

駒の絵つき棋譜

使い方は、guide.pdfを参考にしてください。(10月14日現在開発版ですので、 使い方は今の段階では説明しないことにします。)ポイントとしては、将棋の手を 命令で書いていき、あとで一つの命令で出力している、ということです。なお、 文字の駒の棋譜であれば、特に設定の必要もなくdvipdfmでPDFに変換できます が、将棋用フォントを使っている場合は、設定が必要のようです。私自身も、どう すればよいのか、わかりません。

囲碁

CTAN に go というパッケージがあります。このパッケージを使って、碁の棋 譜などを書くことができます。パッケージのダウンロードは、 次のサイトから可能です。

ftp://ftp.dante.de/tex-archive/fonts/go.zip

展開後、 LaTeXでいろいろやる前に --- パッケージの導入法 を参照しながら、ファイルを適切な場所にインストールします。gomaps.ltx がマニュアルです。拡張子がtexでないので分かりにくいかもしれませんが、れっ きとしたLaTeXソースなので、latexコマンドで処理してください。(ddrp-latex にドラッグ&ドロップしてもいいでしょう。)

使い方は「LaTeX グラフィックコンパニオン」に詳しく書かれていますが、 文法の例と出力例を示しておきます。なお、他のスタイルファイ ルと一緒に使った場合、うまく働かないこともあります。その点についても同書 に書かれています。

\documentclass[12pt]{jarticle}
\usepackage{go}
\begin{document}
碁石を文中で出力させて見ましょう。

石に文字や記号をを付けたい場合は、たとえば白石に3を付けたい場合は
\textwhite{3} 、黒石に5を付けたい場合は\textblack{5} のようにします。さ
らに白石に△記号を付けたい場合は\textwhite{\triangle} 、黒石に□記号を付
けたい場合は\textblack{\square} のようにします。
\end{document}

すると、次のように出力されます。

文中で石を出力

次に、碁盤の上の石を、碁盤と一緒に出力させてみます。

\documentclass[12pt]{jarticle}
\usepackage{go}
\begin{document}
日本には、碁というゲームがあります。最近人気を取り戻しました。

% 碁の石の大きさを 20pt とします。これを省略すると、10pt となります。
\gofontsize{20}

% 碁の石を碁盤上から無くします。(ここでは特に必要ないかもしれませんが、
%形式上このように書いています。
\inifulldiagram

% \pos 命令で石をおきます。置くだけで、出力はしません。
%イコールの前の{}の中が石の座標(位置)、イコー
%ルの後ろには石のタイプを書きます。後ろに.がきたら何のマークもない石、
% \triangle や \square がきたら△や□、\letter

% 横に、右方向に1ずつ増やして、石を置いていきます。
\pos{a}{1}=\white{\triangle}
\pos{a}{2}=\black{\square}
\pos{a}{3}=\white.
\pos{a}{4}=\black.
\pos{a}{5}=\white.
\pos{a}{6}=\black.
\pos{a}{7}=\white.
\pos{a}{8}=\black.
\pos{a}{9}=\white.
\pos{a}{10}=\letter{a}
\pos{a}{11}=\letter{1}
\pos{a}{12}=\white{1}
\pos{a}{13}=\black{2}
\pos{a}{14}=\white{10}
\pos{a}{15}=\black{20}
\pos{a}{16}=\white{100}
\pos{a}{17}=\black{200}
\pos{a}{18}=\white.
\pos{a}{19}=\black.

% 縦に、a,b,c... の順で石を置いていきます。
% なお、j がないことに注意してください。

% 最初の部分は先ほど書きました。
% \pos{a}{1}=\white{\triangle}

\pos{b}{1}=\white{\square}
\pos{c}{1}=\black.
\pos{d}{1}=\white.
\pos{e}{1}=\black.
\pos{f}{1}=\white.
\pos{g}{1}=\black.
\pos{h}{1}=\white.
\pos{i}{1}=\black.
\pos{k}{1}=\letter{a} % j は省略、でした。
\pos{l}{1}=\letter{1}
\pos{m}{1}=\white{1}
\pos{n}{1}=\black{2}
\pos{o}{1}=\white{10}
\pos{p}{1}=\black{20}
\pos{q}{1}=\white{100}
\pos{r}{1}=\black{200}
\pos{s}{1}=\white.
\pos{t}{1}=\black.

% これで石の位置が決まりました。しかし、実はまだ出力の命令を
% 出してません。ここで、碁盤と石の出力命令を書く事にしましょう。
\showfulldiagram
\end{document}

% の行に簡単な解説をつけました。テキストの部分を除いた出力例を以下に示します。

碁盤上に石を出力

横方向が若干ずれていますが、それほど緊密に並べなければ、大丈夫だと思 います。石の大きさも20ptにしておいたほうがいいでしょう。

なお、こうして作った碁盤と石の配置図は、dvipdfmでPDFに変換可能です。

チェス

METAFONT で書かれたチェス用フォントを使ったパッケージにchessパッケー ジがあります。このパッケージを使って、チェスの注釈などを書くことができます。パッケージのダウンロードは、 次のサイトから可能です。

ftp://ftp.dante.de/tex-archive/fonts/chess.zip

展開後、 LaTeXでいろいろやる前に --- パッケージの導入法 を参照しながら、ファイルを適切な場所にインストールします。

さらに、このままではエラーが出ますので、同じバージョンながらも少し更 新されているchess.sty 等を、次の場所からダウンロードします。

http://ftp.ktug.or.kr/TeXLive6/texmf/tex/latex/chess/

先ほどインストールしたchess.styを、たった今ダウンロードした新しい chess.styと取り替えます。

使い方として、次のようなソースと出力例を示します。詳細は「LaTeX グラ フィックコンパニオン」をご覧下さい。

\documentclass[12pt]{jarticle}
\usepackage{chess}
\begin{document}
下はchessのサンプルである。

% \board でチェス盤と、その上の駒を並べます。
% 1行目と2行目で、白の床に各駒を置いています。
% 大文字は、黒色の駒です。
\board{p*n*b*r*}
{*q*k* * }
% 3行目〜6行目は、何も駒を置いていません。何も置いていない白の床はスペース、黒の床はアス
% タリスク(*)で表します。
{ * * * *}
{* * * * }
{ * * * *}
{* * * * }
% 7行目と8行目は、黒い床に白色の駒を置いています。
{ P N B R }
{Q K * * }
% チェス盤と、その上の駒を出力します。
\[
\showboard
\]
\end{document}

テキストの部分を除いた出力例は、次の通りです。

チェス盤

dvipdfmでPDFに変換した場合は、一応通ってくれるのですが、PDFファイルを 開くと「Type 3 フォントが無効です。」とエラーが出てしまいます。

麻雀

麻雀用METAFONTと、それを使うためのパッケージ pie.sty が配布されていま す。「LaTeX グラフィックコンパニオン」には、どういうわけか書かれていま せん。(私は麻雀を全く知りませんので、どうでもいい話ですが。)

使い方は、pie.sty にコメントの形で書かれています。 例えば次のように書いてみましょう。

\documentclass[12pt]{jarticle}

\usepackage{pie}
\begin{document}
麻雀はマナーを守って(?)やりましょう。

% 1つのコマンドに1つの牌が対応します。
% 漢字なので、分かる人にはわかりやすいかもしれません。
\一索 \二索 \三索 \四索 \五索 \六索 \七索 \八索 \九索 \赤五索

\一筒 \二筒 \三筒 \四筒 \五筒 \六筒 \七筒 \八筒 \九筒 \赤五筒

\一萬 \二萬 \三萬 \四萬 \五萬 \六萬 \七萬 \八萬 \九萬 \赤五萬

\東 \南 \西 \北 \白 \発 \中

% 裏地の出力です。
\ura

% 牌の組み合わせです。
% 同じ牌を3個並べます。
\刻子{\一索}

% 同じ牌を4個並べます。
\明槓{\一筒}

% 同じ牌を2個並べ、それらを牌の裏地を表す牌ではさみます。
\暗槓{\一萬}

% 同じ牌を2個並べます。
\対子{\東}

\雀頭{\南}

% 90度回転させます。\r(牌名) のように使います。
\r西

\end{document}

コメント部分が、説明になっています。出力は次の通りです。

麻雀牌の出力例

dvipdfm からPDFに変換することも可能です。

クロスワードパズル

crosswrd というパッケージを使って、クロスワードパズルを作ることが可能 です。例えば、以下のサイトから入手できます。

ftp://ftp.dante.de/tex-archive/macros/latex/contrib/other/crosswrd.zip

展開後、 LaTeXでいろいろやる前に --- パッケージの導入法 を参照しながら、ファイルを適切な場所にインストールします。

使い方として、次のようなソースと出力例を示します。詳細は「LaTeX グラ フィックコンパニオン」をご覧下さい。

\documentclass{jarticle}
\usepackage{crosswrd}

\begin{document}

% crossword 環境に、次々と項目を書いていきます。3行3列(3)の正方形(この環境
%は、正方形のクロスワードのみ)のクロスワードで、答えは見せません(N)。
\begin{crossword}{3}{N}
% 縦(D, Down)の、1番目のキーワードで、1行1列目にあります。答えは「バイオ」で、
% ヒントは「生命工学、--- テクノロジー」で、3文字分あることを示しています。
\clue{1}{D}{1}{1}{バイオ}{生命工学、--- テクノロジー}{3}

% 横(A, Across)の、2番目のキーワードで、2行1列目にあります。答えは
% 「イデン」で、ヒントは「形質が、親から子へ伝達されること」で、
% 3文字分あることを示しています。
\clue{2}{A}{1}{2}{イデン}{形質が、親から子へ伝達されること}{3}

% 縦(D, Down)の、3番目のキーワードで、1行3列目にあります。答えは
% 「シンカ」で、ヒントは「ダーウィンの --- 論」で、
% 3文字分あることを示しています。
\clue{3}{D}{3}{1}{シンカ}{ダーウィンの--- 論}{3}

\end{crossword}

% 1.0cmのタテの空白をあける命令
\vspace{1.0cm}

% ACROSS とDOWNという英文を「ヨコ」と「タテ」に変える。(日本語クロスワー
% ドなら、プリアンブルに以下を書くことで指定しよう!)
\renewcommand\ACROSStext{ヨコ}
\renewcommand\DOWNtext{タテ}

% crossword 環境に、次々と項目を書いていきます。3行3列(3)の正方形(この環境
%は、正方形のクロスワードのみ)のクロスワードで、答えは見せます(Y)。
% 先ほどと全く同じクロスワードです。
\begin{crossword}{3}{Y}

\clue{1}{D}{1}{1}{バイオ}{生命工学、--- テクノロジー }{3}
\clue{2}{A}{1}{2}{イデン}{形質が、親から子へ伝達されること}{3}
\clue{3}{D}{3}{1}{シンカ}{ダーウィンの--- 論}{3}

\end{crossword}
\end{document}

出力は次の通りです。

クロスワードパズルの出力例

これで手軽に(?)自作クロスワードパズルを公開できますね。

前へ   次へ   目次に戻る


This document is dedicated to the Public Domain! --- この著作権を放棄した文書は「みなさんのもの」です!
This web page is written by Yasuhiro Otomo.
If you have any question about this page, send e-mail to me --- ご質問は大友まで。
You can link to this web page freely! --- リンクはご自由にどうぞ!
This web page typed on Meadow/1.15 (SHOUBU)