棋譜を1行に4手と決めてしまえば簡単なのですが、そうすると行数がかかる。
するとページ数が増える。
印刷費が増えて、定価が高くなる。
これは困るので、なるべく詰め込む組版をしています。
でも、途中で改行してしまうのは読みにくいので、それは避けたい……。
12回目のレンダリングでやっとこさ収まりました。
たいていは2~3回でうまくいくのですが、手数が長いとこんなこともあります。
棋譜を1行に4手と決めてしまえば簡単なのですが、そうすると行数がかかる。
するとページ数が増える。
印刷費が増えて、定価が高くなる。
これは困るので、なるべく詰め込む組版をしています。
でも、途中で改行してしまうのは読みにくいので、それは避けたい……。
12回目のレンダリングでやっとこさ収まりました。
たいていは2~3回でうまくいくのですが、手数が長いとこんなこともあります。
LaTeXならば、手順環境を作り、その中で、行頭禁則の指定を行う手もありそうです。
\prebreakpenalty`玉=10000
など。
スカスカになりがちなので、
\xkanjiskip
や
\kanjiskip
の設定で、空白の挿入の抑制も必要ですが、、
「25金」が「25 金」になるのでこの空白を制御したいのです。そうしないと調整につかわれて,場所によっては間抜けな感じになるので。
いずれにしてもTeXの勉強をしなければなりません。
変化手順にも対応したいし,道は遠いです。
\xkanjiskip
が、漢字と英数字(半角)に入るスペースの制御しています。
\xkanjiskip=3pt plus 0pt minusu 3pt
のようにすれば、空白は挿入されません。
\long\def\作意#1{
{\xkanjiskip=1pt plus 0pt minus 1pt
\noautoxspacing
\prebreakpenalty`玉=1000
\prebreakpenalty`飛=1000
\prebreakpenalty`龍=1000
\prebreakpenalty`角=1000
\prebreakpenalty`馬=1000
\prebreakpenalty`金=1000
\prebreakpenalty`銀=1000
\prebreakpenalty`桂=1000
\prebreakpenalty`香=1000
\prebreakpenalty`歩=1000
\prebreakpenalty`と=1000
\prebreakpenalty`成=1000
\prebreakpenalty`不=1000
\prebreakpenalty`で=1000
\prebreakpenalty`手=1000
\prebreakpenalty`詰=1000
\prebreakpenalty`打=1000
#1
}
}
としてみました。
これが設定を入れる前で
これが設定した後、
34飛成の所は変わったのですが……
あとはあまり変わりません。
\prebreakpenalty
の値が 小さいのでは?
私は 10000 にしていました。
前のコメントは、少しずれていましたね。
\noautoxspacing
は、\xkanjiskip を入れない指定なので、
\xkanjiskip が入れられず、指定しても変わらない?と思われます。
パラ 650号の見本で、やってみましたが、
\noautoxspacing
を入れると、同じような漢字と数字の間のスペースがはいりました。
\noautoxspacing は、違った使い方で利用するのでしょう?
いろいろやっているうちに、再現しなくなったので、
書き込んだ、コメントは、無視してください。
もう少し、実験してみます。
どうやら、
\long\def
で 「{」「}」が 多いようなのです。
余計な「{」「}」から抜け出るときに
\xkanjiskip が 元の値に戻るのではないかと思いました。
内側の{}を外すと作意部分だけでなく解説部分とかにも影響が出るんじゃないかなと思いつつ試してみたら、キリッとした組版になりました。
でも、やっぱり作意以外の所も一緒に変わりました。
でもそれで支障ないし、1行6手入るのでこれでいきます。
だったら\作意{}の中で宣言せずとも、最初の方で1回入れておけばいいのかな?
一番最初のコメント書いたように
手順環境を作り、その中で、行頭禁則の指定を行う
ようにするのがいいのかも。面倒ですが、、
実験するとき、コラム幅がわからなかったので
minipage 環境 の中で 試していました。
なので、 minipage を抜けると 元の値に復帰しています。