babelの双方向テキストとLuaTeX-ja

babelの双方向テキストとLuaTeX-ja

- ファヴォルスキー ファボン の投稿
返信数: 2

1. babelのbidi=defaultとLuaTeX-jaのエラー

\documentclass{article}
\usepackage{luatexja}
\usepackage[japanese, bidi=default]{babel}
\begin{document}
\footnote{あああ}
\end{document} 

以上のように、BabelでRTL言語を含む日本語文書をLuaLaTeXで書こうとすると、footnoteを使ったときに以下のようなエラーが出ます。
(実際にはjlreqを使っていますが、最小の再現コードにするため省いています)

warning (hpack filter): error: [\directlua]:1: attempt to index a nil value (f
ield 'characters')

.
<to be read again>
\ltj@@reset@badness
l.6 \footnote{
 あああ}


以前は問題なく動いていたのでBabelのバージョンを落として調べたところ、 https://github.com/latex3/babel/commit/0bf72d4a12f8d40d6b2215b9d35cfa0ca641ea4f のコミットで発生するようになったことが分かりました。

2. babelのbidi=basicとemダッシュの合字

上記のエラー自体はbidiオプションをbasicにすることで回避できたのですが、そうするとsourcehanを使ったときのemダッシュの合字が効かなくなってしまいました。

\documentclass{article}
\usepackage[sourcehan-jp]{luatexja-preset}
\usepackage[japanese, bidi=basic]{babel}
\begin{document}
ああ——
\end{document}


LuaTeX-jaとBabelのどちらの問題か分からないので、ここで質問させていただきます。何か解決の糸口を知っている人がいましたら、よろしくお願いします。
(もしどうしようもなかったら、諦めてbidi=basicにしつつ2倍ダッシュは別の方法で出力することになりそうです)
ファヴォルスキー ファボン への返信

Re: babelの双方向テキストとLuaTeX-ja

- Z. R. の投稿
1. babelのbidi=defaultとLuaTeX-jaのエラー

これについては、LuaTeX-jaがなくても全く同じエラーが起こるようです。なので、Babelの側に原因がありそうです。

\documentclass{article}
\usepackage[english,bidi=default]{babel}
\begin{document}
A\footnote{AAA}
\end{document}
Z. R. への返信

Re: babelの双方向テキストとLuaTeX-ja

- ファヴォルスキー ファボン の投稿
確かにそうですね。エラーにLuaTeX-jaのマクロの名前が出ていたので、LuaTeX-jaとの相性問題だと思い込んでいました。

いただいた再現コードでBabel側にissueを立てました。アドバイスありがとうございます。https://github.com/latex3/babel/issues/187