bm.sty と LuaLaTeX 0.95.0

bm.sty と LuaLaTeX 0.95.0

- konn の投稿
返信数: 8
どうも。

MacTeX 2016 同梱の LuaLaTeX 0.95.0 を使っているのですが、bm.sty が英小文字に対してしっかり動作しないという不具合に出喰わしました。
\RequirePackage{luatex85}
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{bm}

\begin{document}
\[
 \pmb{x}_n \to \bm{z} \bm{\Sigma}
\]
\end{document}
上のソースをタイプセットすると、\pmb{x} と \bm{\Sigma}は期待通りに出力されるのですが、\bm{z}の部分が空白になってしまいます。
コンパイルログも以下のように特にエラーなく終了しているように見えます。
This is LuajitTeX, Version 0.95.0 (TeX Live 2016)
 system commands enabled.
(./bmtest.tex
LaTeX2e <2016/03/31>
Babel <3.9r> and hyphenation patterns for 1 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/generic/luatex85/luatex85.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/bm.sty) (./bmtest.aux)
[1{/usr/local/texlive/2016/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./bmtest.aux))
(see the transcript file for additional information)
 426 words of node memory still in use:
   5 hlist, 2 vlist, 2 rule, 10 glue, 1 kern, 41 glue_spec, 1 write nodes
   avail lists: 2:17,3:22,4:2,5:26,6:13,7:33,8:20,9:15
<
/usr/local/texlive/2016/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb>Output written on bmtest.pdf (1 page, 36849 bytes).
環境は以下の通りです:
  • OS X El Capitan 10.11.5
  • MacTeX 2016, TeX Live (http://tug.org/texlive) version 2016
  • tlmgr revision 41258 (2016-05-19 17:23:37 +0200)
  • LuajitTeX, Version 0.95.0 (TeX Live 2016)
  • bm.sty: 2016/02/27 v1.2a Bold Symbol Support (DPC/FMi)
どなたか対処法に心当たりのある方がいらっしゃいましたら、ご教示頂ければ幸いです。宜しく御願い致します。
konn への返信

Re: bm.sty と LuaLaTeX 0.95.0

- 前田 一貴 の投稿
よくわかりませんが,pdflatex と lualatex で \tracingmacros=1 のログの結果を diff -u してみると(添付),

-\bm@command ->\mathchar 30074
-
-\makeatletter ->\catcode `\@11\relax
+\bm@command ->\mathchar 31458426
+Missing character: There is no Ѻ (U+047A) in font cmmi10!

というのが見つかるので,lualatex の仕様変更で bm.sty の処理の何かがおかしくなっているのでしょうか.
amsmath のみを読み込んで,\boldsymbol を使えば正しく出ているように見えます.

luatex ML に投げた方が早いかもしれないです.
前田 一貴 への返信

Re: bm.sty と LuaLaTeX 0.95.0

- 上田 完 の投稿
上田 完 への返信

Re: bm.sty と LuaLaTeX 0.95.0

- aminophen の投稿
ググってもあまり出てきませんね。
http://org-technology.com/posts/lualatex-unicode-math.html
とか
http://d.hatena.ne.jp/zrbabbler/20120509/1336584479
とか…(後者は上田さんのと同じ?)
bm.sty は LaTeX teams のものですが、単に現象に気づいていないかもしれませんね。
aminophen への返信

Re: bm.sty と LuaLaTeX 0.95.0

- 前田 一貴 の投稿
実は,私がその当時バグ報告をしたのです.最初は LaTeX team に報告したのですが,David さんが頑張ってくれました.
http://tug.org/pipermail/luatex/2012-May/003611.html
それで,このときにちゃんと動くように修正されたはずで,今回のはまた別の問題だと思われます.
前田 一貴 への返信

Re: bm.sty と LuaLaTeX 0.95.0

- konn の投稿
みなさま、ありがとうございます。

どうやら今回の問題は比較的新しい問題だという事のようですので、後ほど LuaTeX MLに投げてみようかと思います。

前田貴一さま:

> よくわかりませんが,pdflatex と lualatex で \tracingmacros=1 のログの結果を diff -u してみると(添付),
> (中略)
> というのが見つかるので,lualatex の仕様変更で bm.sty の処理の何かがおかしくなっているのでしょうか.
> amsmath のみを読み込んで,\boldsymbol を使えば正しく出ているように見えます.

ありがとうございます。このようなデバッグの方法もあるのですね。知りませんでした。
読み込む順番を試行錯誤してみた所、bm → amsmathの順で\usepackageすると、\boldsymbol が生き返り、逆にすると \bm も \boldsymbol も消えるという現象があるようです。

上田完さま、アセトアミノフェンさま:

色々と手掛かりになりそうなリンクを頂きましてありがとうございます。
過去にも似たような(別の?)問題があったのですね。
\boldsymbol以外にもunicode-mathを使うという手もありましたね。
MLに報告して修正されるまでのあいだに色々と試してみようと思います。ありがとうございます。
前田 一貴 への返信

Re: bm.sty と LuaLaTeX 0.95.0

- Z. R. の投稿

\mathcode プリミティブの動作が予想外のものになっているようです。

\mathcode`a=300
\showthe\mathcode`a %==>16777260
(つまり \Umathcodenum の値が返ってきている。)

問題は「これが意図的な仕様変更なのかバグなのか」ですが。「LuaTeX Reference」の「Unicode math characters」の節(TL2016 の版だと p.72)をみる限りは、この挙動は意図されたものでない(つまりバグ)ように思えます。

konn への返信

Re: bm.sty と LuaLaTeX 0.95.0

- aminophen の投稿
TeX.SX に関連質問が先日出たようです。
まだ解決には至っていない模様。
http://tex.stackexchange.com/questions/314863/lualatex-and-bm-package
aminophen への返信

Re: bm.sty と LuaLaTeX 0.95.0

- aminophen の投稿
LaTeX2e の public svn r1209 を見に行くと
bm.sty 2016/07/07 v1.2b で修正されたようです。
http://tex.stackexchange.com/questions/318341/bm-package-doesnt-work

一応、strip した bm.sty v1.2b をここに添付します。