「LaTeX」タグアーカイブ

「Limit7」制作備忘録(4)

今日は索引と参照の話。

LaTeXには索引を作るmendexというツールがある。
そこで棋譜ファイルからデータを読み込み次のように作者名にindex{}をつけておいた。

\def\作者#1{%
\def\sakusya{#1}
\index{#1}
}

ところが、mendexはうまく動作しなかった。
おそらく\index{伊藤看寿}では駄目で、\index{いとうかんじゅ@伊藤看寿}とする必要があるのだろう。もしまたアンソロジーを編むことがあったときには試みたい。

しかし次のようなidxファイルは出力してくれる。

\indexentry{岡田秋葭}{6}
\indexentry{伊藤看寿}{6}
\indexentry{岸本雅美・三枝文夫・三木正道}{7}
\indexentry{詰鬼人}{7}
\indexentry{岸本雅美}{7}
\indexentry{牧野隆一}{8}
\indexentry{角寿雄}{9}

このファイルを手作業で編集して索引を作ったので、労力はさほどでもない。
にも関わらず最後の最後に、たいした変更はないからと手作業で索引を手直しした結果、1カ所の校正ミスが発生してしまった。今後の教訓としたい。

面倒なのは相互参照である。
例えば第209番の解説に
「この作品は第92番を4手逆算したものである。」
と書いたとする。
しかし、その後の編集作業で第92番の番号が変わってしまうことは幾度もある。
その度に、このような作品番号が書かれているところを見つけ出し、修正するという作業が必要になった。

LaTeXにも\ref{}や\pageref{}という機能は用意されているが、これは節や頁を参照するもので、今回の用途には使えない。

しかし、あるカウンターの番号を参照したいという要望はかなりあるはずだから、誰かが使えるツールを作ってくれているかもしれない。
ここに書いておけば、親切な人が教えてくれるかもしれないと期待している。

探してもなければ、自前でなんとかするしかない。
カウンターの値をラベルに書き込むようなスクリプトを書けば良いのだから、なんとかなるだろう。


追記

さっそく、浦壁さんからご教授いただいた。
\refstepcounter というマクロ、全然知りませんでした。。
これで助かりました。
ありがとうございます。

LaTeXの自前のカウンターの参照について (via.golden tumekster)
つみき書店に、LaTeXの自前のカウンターの参照についての記事があったが、

あっているか解らないが、以下のようにしてみた。

\documentclass[11pt,a4j,openany]{jsbook}

\newcounter{TanCon}

\newcommand{\TanCon}{%

\refstepcounter{TanCon}%

第\the\value{TanCon}番%

}

\begin{document}

\setcounter{TanCon}{90}

%\TanCon 追加

\TanCon 浅野博

\TanCon いほり閑子

\label{ihori}

\TanCon 今井敬吾

\TanCon 岩本一郎

\TanCon 伊藤明治

作品第\ref{ihori}番のいほり閑子作を、、

\end{document}

「Limit7」制作備忘録(3)

つみき書店の本の作り方を公開しておこう。

一番はじめはこんな感じ。

\section{盤面5枚}
\作品 b5_0027.ki2
\作品 b5_0036.ki2

KIFUファイル名と同名のb5_0027.txtとb5_0036.txtにそれぞれの解説とその筆者名が入っている。
そこからデータを抽出して次のようになる。

\section{盤面5枚}
\ファイル名{b5 0027.ki2}
\作者{江口伸治}
\発表媒体{近代将棋 P129}
\発表年月{200302}
\図面
\先手{56飛}{飛}{8}{4}
\先手{57飛}{飛}{8}{3}
\先手{48角}{角}{9}{2}
\先手{38角}{角}{10}{2}
\後手{19玉}{玉}{12}{1}
\持駒{なし}
\作意{ 37角, 18玉, 27角, 17玉, 26角, 28玉, 17角, 同玉, 63角成, 28玉, 27馬, 29玉, 59飛, 39銀, 同飛, 同玉, 28銀, 48玉, 37馬, 49玉, 59飛まで21手詰}
\解説{
3手目27角が一寸した好手。同玉は73角成で早いので17玉とするが次は37角が26~17と動く。27角の時点で邪魔駒になってしまったわけ。以下は破綻のないまとめだが39の合駒が角合では別詰があるとはいえ限定でないのは少々残念。
\筆者{飯尾}
}
%—————————–

\ファイル名{b5 0036.ki2}
\作者{長谷繁蔵}
\発表媒体{詰パラ P42}
\発表年月{1963年10月}
\図面
\先手{55龍}{龍}{8}{5}
\先手{36馬}{馬}{10}{4}
\先手{47馬}{馬}{9}{3}
\後手{28飛}{飛}{11}{2}
\後手{19玉}{玉}{12}{1}
\持駒{なし}
\作意{ 59龍, 29銀, 同馬, 同飛成, 37馬, 28金, 29龍, 同玉, 38銀, 18玉, 27銀, 29玉, 28馬, 同玉, 38金, 19玉, 13飛, 29玉, 18飛成まで19手詰}
\解説{
初形の面白さから引用されることが多かった作だが、勿論内容も伴っている。2手目6手目の合駒選択は難しくないが、38に打った銀を続けて動かす27銀が小気味よい。そして詰上りは菱形になっている。本作は立体曲詰だったのだ。
\筆者{飯尾}
}
%—————————–

コンパイルすると次のようになる。

作業初期のため、まだファイル名も出力している。
また、T-Baseから変換した棋譜ファイルのため、発表媒体の名称や年月の表記も統一されてなく、編集作業はこれから延々と続く。
だが、図面とその情報がKIFUファイルにきちんと登録してあれば、あっという間に図面を組むことができるということだ。

ちょっと手間をかけたのは、タイトルがある場合の処理。

\ファイル名{b2 0086.ki2}
\タイトル{二つで1個}
\作者{天六辰年}
\発表媒体{詰将棋パラダイス}
\発表年月{2001年2月}
\番号

\図面
\後手{97玉}{玉}{4}{3}
\先手{69飛}{飛}{7}{1}
\持駒{金三 桂 香 }

KIFUファイルにタイトルの記入があると、上記のように\タイトル{}が抽出される。

\def\タイトル#1{
\def\tytle{「#1」}
\表題true
}

\def\図面{%
\hspace{\fill}{\small\media~\ymd}
\if表題 \\[-1mm]{\bf\tytle}\fi
\表題false
 ……

すると\表題trueとなり\図面 の中で、発表年月と図面の間にタイトル行が出力される。

浦壁さんのように左側に縦書きにする技術力があれば、その方向も追求したかもしれませんが、縦書きフォントも使えないしあっさり諦めました。

「Limit7」制作備忘録(2)

まず、下の写真を見ていただきたい。

「こんな駒の持ち方はできない」とおっしゃる向きもいるようだが、論より証拠オイラの駒の持ち方はこうなのである。
特に初めての道場で指すときに、相手に「なんだこの駒の持ち方は、まるっきりの素人だな」と油断させるときに有効である。

ともあれ、「Limit7」の表紙はいままでの詰将棋作品集とは違う印象にしたかった。
何かの間違いで、本屋に平積みにされたとき、女性がうっかり手に取ってしまうような表紙。
そこで将棋についてはまったく何も知らない女性のデザイナーにお願いした。
だから、見てすぐに気づいたが直しは要求しなかった。

さて今日は棋譜の話。

棋譜は最終段階近くまで、このような形だった。

完成品ではこのようにした。

上のソースは下記のようにただ一塊のテキストを流しただけ。

\作意{ 85飛, 46玉, 45角成, 47玉, 87飛, 57歩, 同飛, 同玉, 87飛成, 58玉, 36馬, 59玉, 57龍, 49玉, 58馬, 38玉, 48馬, 28玉, 37龍, 18玉, 19歩, 同玉, 17龍, 18金, 37馬, 29玉, 18龍, 同玉, 28金, 19玉, 27金, 29玉, 28馬まで33手詰}

完成品では下記のように、一つ一つの差し手を\mbox{}で包んで、途中で改行をしないようにした。

\作意{ \mbox{85飛}, \mbox{46玉}, \mbox{45角成}, \mbox{47玉}, \mbox{87飛}, \mbox{57歩}, \mbox{同飛}, \mbox{同玉}, \mbox{87飛成}, \mbox{58玉}, \mbox{36馬}, \mbox{59玉}, \mbox{57龍}, \mbox{49玉}, \mbox{58馬}, \mbox{38玉}, \mbox{48馬}, \mbox{28玉}, \mbox{37龍}, \mbox{18玉}, \mbox{19歩}, \mbox{同玉}, \mbox{17龍}, \mbox{18金}, \mbox{37馬}, \mbox{29玉}, \mbox{18龍}, \mbox{同玉}, \mbox{28金}, \mbox{19玉}, \mbox{27金}, \mbox{29玉}, \mbox{28馬}まで33手詰}

後から手作業で包んでいくのは大変な作業だった。sedを使えって?不思議なもので、この例ではすべて包んでいるけれど、場合によっては包まない方が短い行数に収まってくれたりもするのです。そこで、少しずつ確認しながら進めていった。結局、この例のように全部包むという結果になることも多かった。

それだったらなんで最初にki2ファイルから作意を抽出する際にしなかったかというと、400カ所でどのように隙間を空けるかの試行錯誤が始まり、コンパイルに時間がかかることが予想されたからだ。
実際、それまで一瞬だったコンパイルがイライラするほど時間がかかるようになった。
そして、うまく調整ができず、指し手の途中での改行を禁止することによって棋譜の行数が増えたら……(1)で書いたように、その影響はその章の終わりまで及んでしまう。

なんで棋譜を詰め込んでしまうのか、それは「この詰」のように1行4手に統一すると右側に隙間ができてなんとなくさみしいということと、(1)にも書いたが、行数が増えるとページ数が増えて、定価が高くなるからだ。

そこでメモしておこう。

  • ki2から作意を抽出する際には、裸のままと\mbox{}で包んだものと、両方出力しておく。
    そして、編集作業のどこかのタイミングで切り替えて使う。
  • または読みやすさのことも考えて、1行4手に統一する。

「Limit7」制作備忘録(1)

主に自分のために、「Limit7」制作のメモを残しておこうと思う。

その前に、正誤表を更新したことをお伝えしなければならない。
指摘してくださった皆さんに感謝したい。

あれだけ校正を繰り返して修正を重ねてきたのに、こんなにミスが残っていたとは痛恨である。
反省すると、解説文の棋譜の読みが甘かったと言うことだ。

詰将棋の本は図面が大きな位置を占める。
ところが図面の途中で改ページはできないため、そのまま版を組むと隙間だらけの間延びした書面になってしまう。
それはかまわないという行き方もあるが、その結果ページ数が増えると印刷・製本料金が高くなり、つまりは定価が高くなる。

そういう事態を避ける方法が1作あたりのスペースを固定し、解説文をそのスペースに合わせるという方法だ。
しかし「Limit7」はその性質上、この方法はとれない。解説の必要もない初心向きの作品から、合駒連発の難解作までバラエティに富んだ選題だからだ。
解説者が書きたいだけ、自由に解説は書いてもらうという方針だ。
もっとも編集作業中は「解説が1行短く収まってくれたら」と思うことしきりだった。逆に「このページすかすかだから、もうちょっと詳しく書いてくれないかな」と思うことも。

今回は次のような対応をした。

通常は番号・作者名→図面→作意→解説という順序だが、場合によっては番号・作者名→作意→図面→解説という順序も使うことにした。
ただし、その変更は奇数ページの右段では行わないことにした。図面を見るためにページをめくらなければならないからだ。

あとは各ブロック間の空白の微調整だ。

さて、この作業で1カ所を修正するとそこから章の終わりまで影響が及ぶ。
途中で、作品の差し替えがあったり、駒数の数え間違えから作品配列の変更も最終段階であったのだが、その度に1章まるごと調整のやり直しである。
(索引ページ等も作り直しである……)

文字の方に意識を集中させると番号・作者名→作意→図面→解説の必要がなくなったのにそのままの順で戻し忘れた部分が見えなくなる。
その結果、逆に解説部分は意識から薄れていってしまったんだと思う。
文章のバグを完全に取り去ってから組版作業に進むというのが理想だが、それは現実的に可能なのだろうか。

今回はこの図面と作意の位置交換はすべて手作業で行った。
ブロック間の空白の調整も1mm単位で動かしながら毎回コンパイルして確認しながらの作業だった。
これは大変なので、次回は位置交換も組み込んだ設計にする必要がある。

例えば
\作品{001.ki2}{}{} と書けば、図面→作意で空白も標準。
\作品{001.ki2}{R}{T} と書いたら、作意→図面になり、空白はタイト。