abenori / jlreq

Other
125 stars 18 forks source link

縦書き時の追出し量について #57

Closed ofk closed 5 years ago

ofk commented 5 years ago

バグ報告というよりは質問寄りです。

縦書き・ぶら下げ有効でutbookと比較して疑問に思う挙動がありました。以下はインデントなし・10文字折返しで比較したものです。

utbook:

スクリーンショット 2019-09-08 11 12 06

jlreq:

スクリーンショット 2019-09-08 11 12 18

(上記はgistにすべてのコード、Dockerfileを置いています)

jlreqは一文字の追出しをしないのですが、これは仕様でしょうか?(日本語組版処理の要件を調べているのですがわからず……) また、もしutbookと同じような見栄えにしたい場合は、どのような変更を入れればいいでしょうか?(できればstyファイルの書き換えではなく何らかの設定で)

ofk commented 5 years ago

ブログのjlreq.clsの(x)kanjiskipの話に示されているkanjiskipの上書きを試したところ解決しました。上書き可能なことに気づいていませんでした。

abenori commented 5 years ago

jlreqは一文字の追出しをしないのですが、これは仕様でしょうか?(日本語組版処理の要件を調べているのですがわからず……)

「日本語組版処理の要件」では3.5.4に記述があります.pTeXでは\jcharwidowpenaltyという値で設定することになります.(大きい方がより追い出しを許さないことになる.)よって,\jcharwidowpenalty=0により,「一文字の追出しを絶対に許す」という設定ができます.

が,今回はお気づきの通りkanjiskipのでかさのせいでしょう.デフォルトでは\jcharwidowpenaltyの値は500です.これはあまり大きい値ではないので,utbookでは一字配置する方がよいと判断されたようです.お気づきの通り,jlreqはkanjiskipの値がかなり伸びやすいので,文字間の空きを増やしてでも一文字のみになることを避けた方が得策であると判断されたようです.