激闘TeX:utbook vs. jlreq - 白屋書房Blog https://hakuoku.hatenablog.com/entry/2018/12/03/122947 自分も微妙な隙間が気になっていたので。
0
斎藤漁火(isari) @isaribi_saitoh

#texconf2018 でちょろっと話題にした、jlreqの字間空きすぎ問題です。 はてなブログに投稿しました 激闘TeX:utbook vs. jlreq - 白屋書房Blog hakuoku.hatenablog.com/entry/2018/12/… #はてなブログ

2018-12-03 12:37:29
斎藤漁火(isari) @isaribi_saitoh

もしかしたら問題でもなんでもないかもしれない。

2018-12-03 12:52:37
某ZR(ざんねん🙃) @zr_tex8r

(第一感としては) 一番大きな要因は 「utbook は追い込みを許すのに対し、jlreq は追い出ししか許さない」 だと思う。 [\normalsize での \kanjiskip の値] ・jlreq:0.0pt plus 2.5pt ・utbook:0.0pt plus 0.4pt minus 0.5pt ・jsbook:0.0pt plus 0.92473pt minus 0.0924pt #TeX #pTeX twitter.com/isaribi_saitoh…

2018-12-03 13:49:16
abenori @abenori

なんで最後kanjiskipを全部0にしているんだ?(utbookでは0.0pt plus 0.4pt minus 0.5pt) twitter.com/isaribi_saitoh…

2018-12-03 13:52:12
abenori @abenori

ちなみにkanjiskipの値は(JLReqに記述があるので)変えられないのですが,ソース見るとわかるように\providecommandで定義しているので\documentclassの前に \makeatletter \newcommand*{\jlreq@kanjiskip}{0pt plus 0.4pt minus 0.5pt} \makeatother とか書いていると変更可能なはず(これは意図的)

2018-12-03 13:53:45
斎藤漁火(isari) @isaribi_saitoh

utbookのkanjiskipを調べるという概念が欠落していた… twitter.com/abenori/status…

2018-12-03 14:29:18
斎藤漁火(isari) @isaribi_saitoh

やっぱり私の試行がザルすぎただけで問題でもなんでもなかったらしい(kanjiskipの値はJLreqに則って定められている)

2018-12-03 14:33:13
某ZR(ざんねん🙃) @zr_tex8r

@abenori このkanjiskipのplusの値の「0.25zw」って、JLReqの何に基づくのでしょうか?

2018-12-03 14:00:47
abenori @abenori

@zr_tex8r 附属書E 表6の漢字等(cl-19)と漢字等の間(など)の開けられる量です.

2018-12-03 14:05:38
某ZR(ざんねん🙃) @zr_tex8r

@abenori 表6の値は「優先順位付き」の字間調節をすることを前提にしたものだから、「優先順位付き」の処理をしない(できない)(u)pTeX系においては、単にその値に合わせるのはJLReqの意図と合っているとはいえない気がする……。 #TeX #jlreq

2018-12-03 14:33:22
某ZR(ざんねん🙃) @zr_tex8r

@abenori 感覚的には0.25zwというのは、xkanjiskipで使う値としてもかなり大きいわけで、そうすると字間がかなり空きやすくなる。JLReqとしては字間は極力空けたくない(字間の最大量よりもその原則の方が明らかに重要)わけだから、結局JLReqの意図する結果からも大きく外れてしまう。

2018-12-03 14:39:12
abenori @abenori

@zr_tex8r JLReqには字間を空けないという原則は非常に大事だという記述はないと思っています.書かれていないことは原則として推測しないということにしているので(だからいつも苦しむ)そうすると書かれている「plus 0.25zw」を優先してしまう……

2018-12-03 14:51:36

abenori @abenori

そういえば大分前に hakuoku.hatenablog.com/entry/2018/12/… に書いてみたけど特に反応ないな.実は特に困っていなかったのかな?単にdisられただけな気分にちょっとなった.

2019-04-26 08:27:45
Haruhiko Okumura @h_okumura

@abenori jlreqの(x)kanjiskip等をjsbookと同じにして縦組に挑戦していますが,今のところうまくいっています(最終的には組み直されるそうなので意味ないのですが)

2019-04-26 09:36:08
abenori @abenori

@h_okumura LuaTeX-ja(ですよね?)でもそのままの(x)kanjiskipだといまいちですか?

2019-04-26 21:41:04
Haruhiko Okumura @h_okumura

@abenori はい。いまいちというほどではないですけれども,比べてみるとやはりjs*の値のほうがタイトなので私好みです

2019-04-26 22:13:10
abenori @abenori

@h_okumura LuaTeX-jaならばJLREQの表通りのはず&(ご存じと思いますが)「 日本語組版処理の要件(JLREQ)改版に関するご意見募集のお願い」とのことなので densyodamasii.com/?p=3720

2019-04-26 22:31:12
某ZR(ざんねん🙃) @zr_tex8r

@abenori @h_okumura LuaTeX-jaの「優先度付き調整」は >優先度付き行長調整は,段落を行分割した後に個々の行について行われるものである.そのため,行分割の位置は変化することはない. という点でJLReqの方式と異なるわけだけど、実はこの違いが大きな影響を与えているかもしれないですね。

2019-04-26 22:58:23
某ZR(ざんねん🙃) @zr_tex8r

@abenori @h_okumura (JLReqは「全体最適でなく局所最適」とは明示的に規定していないかも知れないけど、4051は確か「局所最適」だったはず。)

2019-04-26 23:09:21
Haruhiko Okumura @h_okumura

@zr_tex8r @abenori なるほど。アルゴリズムが違うのでLuaTeX-jaでの値をJLReqに提案しても意味なさそうということですね。なおxkanji...のほうは自信なし \renewcommand*{\jlreqkanjiskip}{0pt plus 0.1\zw minus 0.01\zw} \renewcommand*{\jlreqxkanjiskip}{0.25em plus 0.15em minus 0.06em}

2019-04-27 07:12:12
某ZR(ざんねん🙃) @zr_tex8r

@h_okumura @abenori 少し整理を試みてみると…… ・TeXのグルーのplus/minus部は“限界値”である(ただしplus側は“緩い限界値”)とともに“相対的な伸縮し易さ”をも表している。 ・JLReqの伸縮量の規定は“限界値”でしかない。“相対的な伸縮し易さ”は優先順位のみで決まる。 #TeX #jlreq

2019-04-27 08:43:12
某ZR(ざんねん🙃) @zr_tex8r

@h_okumura @abenori 特に一般の(分割禁止でない)文字間の追出しが優先順位で最下位であることを考慮すると、「kanjiskipのplus/minus部」に相当するパラメタはJLReqのモデルの方には存在しない、といえるような気がします。 #TeX #jlreq

2019-04-27 08:53:40
某ZR(ざんねん🙃) @zr_tex8r

@h_okumura @abenori JLReqのモデルに従う(つまりパラメタ値がそのまま適用できる)ような全体最適化のアルゴリズムは構築できると思いますが、残念ながら、今のLuaTeX-jaのものは「異なる順位の間でも伸縮値が伸縮しやすさを表す」という点で大きな齟齬があるのでしょう。 #TeX #jlreq

2019-04-27 08:54:37
abenori @abenori

@zr_tex8r @h_okumura 確かに仰るとおりで.JLReqは詰める方を優先せよと書いてあるけど,そうはなっていないわけですね.

2019-04-27 09:37:09