texjporg / platex

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

\removejfmglue 命令の追加 #65

Closed aminophen closed 6 years ago

aminophen commented 6 years ago

texjporg/tex-jp-build#52 で追加予定の \lastnodesubtype プリミティブを用いた「最後のノードが JFM グルーの場合にそれを消す」命令 = \removejfmglue を pLaTeX カーネルに追加しようと思います。実装例は texjporg/tex-jp-build@de5f867 にあります。

実際に,これを pLaTeX カーネルや拙作 plarray パッケージの tabular 環境で活用したいと考えています。

aminophen commented 6 years ago

74502bc で追加し, \@tabclassz の定義に使ってみました。

aminophen commented 6 years ago

abenori/jlreq#32 を考えていて気付いたのですが,もしかして:

\removejfmglue の定義には \lastnodesubtype を使わなくても

\protected\def\removejfmglue{\ifnum\lastnodechar=-1\else\unskip\fi}

でよかったりするでしょうか?(\lastnodesubtype 自体は「禁則ペナルティの検出」にも有用そうなので無駄にはなりませんが,\removejfmglue の定義は簡潔にできるかもと思っているところ)

[追記 2018-09-02] …と思ったけど,\removejfmglue は「既に挿入されたグルー」だけを削除するものなので,この定義変更をすると

あ)\removejfmglue

のように「これから挿入されようとするグルー」も消してしまうので違いますね。