Ticket #36534

luatexja-adjust 関連

Open Date: 2016-08-11 08:09 Last Update: 2017-05-05 21:54

Reporter:
Owner:
(None)
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

チケット #24893 の議論が長くなってきたので,luatexja-adjust 関連はこちらで議論しましょう.

Ticket History (3/8 Histories)

2016-08-11 08:09 Updated by: h7k
  • New Ticket "luatexja-adjust 関連" created
2016-08-19 12:09 Updated by: h7k
Comment

commit 9580b55d7 で,

luatexja.adjust.make_priority_table (glue_sign, xkanjiskip, kanjiskip, others)
を実行することで kanjiskip, xkanjiskip, 「和文処理以外のグルー」の優先度を空け/詰めごとに変更できるようにしました.

  • 第1引数は 1 なら伸び (stretch),2 なら縮み (shrink) を示します.
  • 残る引数については,JFM によるグルーの優先度 (-2〜+2) に対応して,各種グルーの優先度を相対的に指定します.値が大きいほど「先に空け/詰める」ことを意味します.
    • 例えば,「優先度 -1 と 0 の JFM グルーの間」にしたければ,両者の間,-0.5 あたりを指定することになります.

デフォルトで,従来と同じ結果になるように

luatexja.adjust.make_priority_table(1, -3, -4, 5)
luatexja.adjust.make_priority_table(2, -3, -4, 5)
が実行されます.

2016-08-20 00:03 Updated by: abenori
Comment

# おかげさまでJLREQの表が実現できた気がします.(20以降は別にして.)

これはクラスファイル内で\directluaとかで指定するのがよいんでしょうか?

第1引数は 1 なら伸び (stretch),2 なら縮み (shrink) を示します.

欲をいうとJFMグルーも伸びと縮みで独立に優先順位をつけたくなりますね.(といっても実際にそういうことに需要があるのかは知りませんが……JLREQは伸びと縮みは独立に記述されていますが,結果的には独立な優先順位でなくても対処できるっぽいです.)

2016-08-20 13:03 Updated by: h7k
Comment

これはクラスファイル内で\directluaとかで指定するのがよいんでしょうか?

39d164c で,

\ltjsetparameter{stretch_priority={kanjiski=-30, xkanjiskip=-35,others=25}}
のような設定を可能にしました(伸び:stretch_priority, 縮み:shrink_priority,「優先度 i の JFM グルー」が 10i に対応する,整数値を指定).

欲をいうとJFMグルーも伸びと縮みで独立に優先順位をつけたくなりますね.(といっても実際にそういうことに需要があるのかは知りませんが……JLREQは伸びと縮みは独立に記述されていますが,結果的には独立な優先順位でなくても対処できるっぽいです.)

確かに,どこまで需要があるか,ですよね.実装自体にあまり手間はかからないと踏んでいます.

2016-08-20 17:05 Updated by: abenori
Comment

39d164c で,

ありがとうございます.後で試してみます.

確かに,どこまで需要があるか,ですよね.

需要もないのに実装しても面倒になるだけですしね…….といっても僕には需要があるか判定はできませんが. 素人考えですが,縮みやすい部分はむしろ伸びにくくさせたかったりはしないんですかね.JLREQの表の場合は,縮みと伸びが同時にできる場所は全て同一の優先順位を持っているようので,今でも対処できています.なお,同時にできる場所は縮みが6段階,伸びが2段階です.

それと,もっと単純にluatexja.adjust.make_priority_tableは伸び縮みを区別するのにJFMは区別できなくて気持ち悪い,とも少し思っています.

2016-08-22 05:08 Updated by: None
Comment

また小さくない例で申し訳ないですが,前と同様 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{
               脚注}󿿿

2016-08-22 05:42 Updated by: h7k
Comment

92a4ab11 で直しました.

2017-05-05 21:54 Updated by: h7k
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2017-05-05 21:54
Comment

一回完了にします.なにかまたあれば開きましょう.

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login