texjporg / platex

pLaTeX community edition
BSD 3-Clause "New" or "Revised" License
49 stars 8 forks source link

\verb+>+ の周囲の和欧文間スペース #87

Closed h-kitagawa closed 4 years ago

h-kitagawa commented 4 years ago

元々は Slack で p_typo さんがLuaTeX-ja について

\ltjsetparameter{alxspmode={`>,3}}したときに,\verb|>|と\texttt{>}で挙動が違うのは既知? 和文で挟んだとき,verbの方は後ろだけアキができますが,textttでは前後にアキができます(前後でアキがあるのを期待).

と話されていたことですが,pLaTeX でも同様の現象がみられるので issue を立てました.


Slack にも書きましたが,原因は \do@noligs 内で > をアクティブ化し

  \leavevmode\kern\z@\char‘\>

に展開されるようにすること(<など,他にも対象文字あり)です.◆\verb+>+ というコードをタイプセットしたときには,上の定義による \kern\z@ のおかげで > の間に xkanjiskip が挿入されなくなってしまいます.

単純に \do@noligs の定義から \kern\z@ を除いただけでは LuaTeX で合字抑制が効かなくなるので,\vadjust{} に変えてみると良さそうです(合字処理を抑止するが xkanjiskip 挿入に関連しないノード,#49).テストを verb.txt(.tex にリネームして下さい)に載せました.

aminophen commented 4 years ago

遅くなりましたがとりあえず dev-j ブランチで exppl2e.sty に入れてみました。

aminophen commented 4 years ago

2020-04-12 を出したので close します。