luatexja-adjust 関連
commit 9580b55d7 で,
luatexja.adjust.make_priority_table (glue_sign, xkanjiskip, kanjiskip, others)を実行することで kanjiskip, xkanjiskip, 「和文処理以外のグルー」の優先度を空け/詰めごとに変更できるようにしました.
デフォルトで,従来と同じ結果になるように
luatexja.adjust.make_priority_table(1, -3, -4, 5) luatexja.adjust.make_priority_table(2, -3, -4, 5)が実行されます.
# おかげさまでJLREQの表が実現できた気がします.(20以降は別にして.)
これはクラスファイル内で\directluaとかで指定するのがよいんでしょうか?
第1引数は 1 なら伸び (stretch),2 なら縮み (shrink) を示します.
欲をいうとJFMグルーも伸びと縮みで独立に優先順位をつけたくなりますね.(といっても実際にそういうことに需要があるのかは知りませんが……JLREQは伸びと縮みは独立に記述されていますが,結果的には独立な優先順位でなくても対処できるっぽいです.)
これはクラスファイル内で\directluaとかで指定するのがよいんでしょうか?
39d164c で,
\ltjsetparameter{stretch_priority={kanjiski=-30, xkanjiskip=-35,others=25}}のような設定を可能にしました(伸び:stretch_priority, 縮み:shrink_priority,「優先度 i の JFM グルー」が 10i に対応する,整数値を指定).
欲をいうとJFMグルーも伸びと縮みで独立に優先順位をつけたくなりますね.(といっても実際にそういうことに需要があるのかは知りませんが……JLREQは伸びと縮みは独立に記述されていますが,結果的には独立な優先順位でなくても対処できるっぽいです.)
確かに,どこまで需要があるか,ですよね.実装自体にあまり手間はかからないと踏んでいます.
39d164c で,
ありがとうございます.後で試してみます.
確かに,どこまで需要があるか,ですよね.
需要もないのに実装しても面倒になるだけですしね…….といっても僕には需要があるか判定はできませんが. 素人考えですが,縮みやすい部分はむしろ伸びにくくさせたかったりはしないんですかね.JLREQの表の場合は,縮みと伸びが同時にできる場所は全て同一の優先順位を持っているようので,今でも対処できています.なお,同時にできる場所は縮みが6段階,伸びが2段階です.
それと,もっと単純にluatexja.adjust.make_priority_tableは伸び縮みを区別するのにJFMは区別できなくて気持ち悪い,とも少し思っています.
また小さくない例で申し訳ないですが,前と同様 https://github.com/abenori/jlreq のtjlreq.clsとjfm-jlreqv.luaと以下のソースでエラーが出てしまいます.
\documentclass{tjlreq} \begin{document} あ\footnote{脚注} \end{document}エラーは次の通りです.
error: ...e_Noriyuki/texmf/tex/luatex/luatexja/src/ltj-jfmglue.lua:137: attempt to perform arithmetic on local 'e' (a nil value) . <to be read again> \ltj@@reset@badness l.6 あ\footnote{ 脚注}
92a4ab11 で直しました.
一回完了にします.なにかまたあれば開きましょう.
チケット #24893 の議論が長くなってきたので,luatexja-adjust 関連はこちらで議論しましょう.