【練習】luatexja-rubyのバグ?

【練習】luatexja-rubyのバグ?

- Lemures Lemniscati の投稿
返信数: 0

Cygwin + Tex Live 2023 を使用しています. This is LuaHBTeX, Version 1.16.0 (TeX Live 2023/Cygwin) Document Class: jlreq 2023/03/05 jlreq Package: luatexja-ruby 2023-01-21 v0.61

下記の test-luatexja-ruby-jlreq.texlualatex で処理すると,以下のようなメッセージがでて終了してしまいます.

warning  (node filter): error: /usr/share/texmf-dist/tex/luatex/luatexja/ltj-rub
y.lua:390: attempt to compare two nil values

過去の質問【luatexja-rubyのバグ? 2021年 05月 4日(火曜日) 19:34 - tosyo taro の投稿】にも同様のエラーメッセージの報告がありましたが,状況が異なるようなので投稿させていただきました. なかなかテストケースを最小化できず,やや長めになってしまいました. ご容赦ください.

前のページの柱にルビがあり,ページの切り代わりのちょっと後の本文の段階開始時にルビがあるような状況で起きるようです. しかし,\clearpage や \newpage をいれると回避できるようです.

--- test-luatexja-ruby-jlreq.tex ---

\documentclass[
 %tate,% 縦書きでも同様
 number_of_lines=10, % 行数
]{jlreq}
\usepackage{luatexja-ruby}
\DeclarePageStyle{xyz}{odd_running_head=_section}
\pagestyle{xyz}% ← これをやめると Fatal error にならない.
\begin{document}
% \section はデフォルトで3行分の行取り
\section{\ruby あい}% ルビが入っていると Fatal error!
%「\section{\ruby あい}」の代わりに「\section{あい}」とすると Fatal error にならない.
え\par お\par
か\par き\par く\par け\par こ\par
% ここまで,1ページ目
%\clearpage% 「\clearpage」を入れると Fatal error は,でなくなる.
%\newpage% 「\newpage」を入れると Fatal error は,でなくなる.
% ここから,2ページ目
さ\par% 一行削ると Fatal error にならない.
\ruby たち%「\ruby たち」の代わりに「たち」や「あ\ruby たち」とすると Fatal error にならない.
\end{document}