lua-ul で作成した波線マクロが上手く機能しない

lua-ul で作成した波線マクロが上手く機能しない

- 上山 英二 の投稿
返信数: 1

失礼致します.上山と申します.

luatexja+jlreq で lua-ul パッケージを用いて,とりあえずマニュアルに従いながら以下のような波線マクロを定義しました:

\newunderlinetype\beginUnderWaby{\cleaders\hbox{%
    \begin{tikzpicture}[xscale=1.3,baseline=4pt,x=1pt,y=0.75pt]%
        \clip (1,1+1pt) rectangle (5,-1-1pt);
        \draw[semithick] (0,0) sin (1,1) cos (2,0) sin (3,-1) cos (4,0) sin (5,1) cos (6,0);
    \end{tikzpicture}%
    }}
\NewDocumentCommand{\underWaby}{+m}{{\beginUnderWaby#1}}
 
しかし,このマクロは様々な所でうまく機能しません.
場面によっては改行するところで波線がページの端まで伸びてしまったり,引数に指定した文字の長さよりも長く波線が伸びてしまったり,さらには一部の文字にだけ波線が二重に引かれてしまったりします.
組版の際に各文字間に挿入される kanjiskip や xkanjiskip が伸縮することによってこのような不具合が起きているのではないかとも考えましたが,正直なところよく分かりません.
投げやりな質問になってしまい大変恐縮ではございますが,この問題を根本的に解決する手段はありますでしょうか.
 
一応,このマクロを使用したことによって生じた問題(の一部)をまとめた tex ファイルをここに添付いたしますので,参考にしていただけますと幸いです.
 
上山 英二 への返信

Re: lua-ul で作成した波線マクロが上手く機能しない

- 北川 弘典 の投稿
LuaTeX-ja のところにチケットを立てました( https://github.com/luatexja/luatexja/issues/30 ).

LuaTeX-ja + jlreq では自動的に luatexja-adjust を読み込み,「優先度付きの行長調整」 (priority=true) を有効にしますが,こいつが何らかの理由で悪さをしているようです.
---- jlreq.cls ----
%.. JFMとluatexjaのロード
\ifx l\jlreq@engine
  ...
  \RequirePackage{luatexja-adjust}
  \ltjenableadjust[lineend=extended,priority=true]
  ...
----

手っ取り早い解決策としては,\ltjenableadjust[priority=false] をプリアンブルに記述することでしょうか.