Ticket #36013

ltjsclasses の LuaTeX 0.87.0 対応

Open Date: 2016-02-10 07:41 Last Update: 2016-03-31 14:26

Reporter:
Owner:
(None)
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

ZR さんの「マクロツイーター」中の記事 LuaTeX がますます新しくなってますますアレ にもありましたが,LuaTeX 0.87.0 以降の PDF 出力時に \mag が効かなくなったそうです. LuaTeX の NEWS にも,

(incomplete) \mag support removed from pdf backend (this functionality is kept in dvi mode)

とあります. ZR さんの記事にもありますが,ltjsclasses では(元となった jsclasses でもそうだったので) \mag が使われているので,[11pt] など文字サイズの指定で確実に出力がおかしくなります. \mag を使わないように書き直すことが必要です.

Ticket History (3/16 Histories)

2016-02-10 07:41 Updated by: h7k
  • New Ticket "ltjsclasses の LuaTeX 0.87.0 対応" created
2016-02-10 10:40 Updated by: kmaeda
Comment
  • bxjscls の magstyle=real の場合を真似る
  • いっそのこと ltjsclasses は廃止して,bxjscls を magstyle=real で使うように誘導する (移行措置でしばらく warning を出すなど検討)

のどちらかでどうでしょうか(いずれにせよZRさん頼み……).

2016-03-19 23:18 Updated by: abenori
Comment

付属のクラスファイルはあった方がよいかなと思ったので

bxjscls の magstyle=real の場合を真似る

かなぁと思ったのですが,bxjsclsがある以上同じようなのを作ってメンテナンスするのも馬鹿らしく思えても来ました. ltjsclassesはそのままキープすることにして,中身は単にbxjsclsに丸投げってのはどうですか?

2016-03-20 21:33 Updated by: h7k
Comment

abenori への返信

ltjsclassesはそのままキープすることにして,中身は単にbxjsclsに丸投げってのはどうですか?

bxjscls では

\documentclass{bxjsarticle}
\usepackage[textwidth=30\zw]{geometry}
のように後から geometry パッケージを読めないので, 単純に丸投げするのは混乱を招くのではないか,と思えてきました. 個人的には

bxjscls の magstyle=real の場合を真似る

に +1 です.

あと,1行もコードを書いていないので妄想ですが, Lua 側で define_font callback をいじくれば,「[La]TeX 側では cmr10 at 10pt を指定しても,実際に読み込まれるのは cmr10 at 10.95pt」のような指定ができる気がします.(NFSS にパッチを当てる magstyle=xreal とどっちが良いかは調べないといけませんが.)

2016-03-21 01:11 Updated by: abenori
Comment

後から geometry パッケージを読めない

そういえばそうでした.確かにこれはあまりよくなさそうです.僕もbxjsclsのmagstyle=realを真似るのが良いかなと思えてきたので,とりあえずやってみました(ltjscls_magブランチ).

2016-03-21 19:25 Updated by: h7k
Comment

僕もbxjsclsのmagstyle=realを真似るのが良いかなと思えてきたので,とりあえずやってみました(ltjscls_magブランチ).

ありがとうございます.kitagawa_test ブランチでもやってみました(commit da4346c4). magstyle=xreal に相当する補正はまだ書いていません.

2016-03-22 11:22 Updated by: kmaeda
Comment

試してみましたが,da4346c4 の ltjsarticle は脚注で入る線が妙に太くなります.なぜでしょう.

  1. \documentclass{ltjsarticle}
  2. \begin{document}
  3. \footnote{あ}
  4. \end{document}

LuaTeX 0.80.0 (rev 5238) で確認しています.

2016-03-22 13:45 Updated by: h7k
Comment

試してみましたが,da4346c4 の ltjsarticle は脚注で入る線が妙に太くなります.なぜでしょう.

\footnoterule の定義で height \ltjs@mpt としていました(0.4忘れ). 9270c66 で直しました.

2016-03-25 14:22 Updated by: h7k
Comment

TeX Live 2015 のフリーズが 4/4 になっていることにいまさら気づきました:

4apr: tlnet (and TL'15) frozen, tlpretest starts, CTAN updates continue there.

そのため,明日にでも ltjsclasses の更新を入れた新バージョンをリリースしようと思っています.

2016-03-26 19:00 Updated by: h7k
Comment

そのため,明日にでも ltjsclasses の更新を入れた新バージョンをリリースしようと思っています.

magstyle=xreal 相当の処理を入れるべきか否か(そして,入れた場合は既定で有効にすべきか)が気になり始めました. 申し訳ないですが今日はリリースを見送り,1週間程度考えることにします.

2016-03-28 10:00 Updated by: kmaeda
Comment

aaee6f5 で入った xreal を試してみたのですが,次のエラーが出ます.

! LuaTeX error [\directlua]:1: attempt to call field 'print_scaled' (a nil value
)
stack traceback:
	[\directlua]:1: in function 'round_pt'
	[\directlua]:1: in main chunk.
get@external@font ..._pt(f@size /ltjs@magscale ))}
                                                  }ltjs@orig@get@external@fo...
l.378 \mcfamily
             \selectfont\normalsize

luatexja.lua の print_scaled() が local なためのように思います.

luatexja.print_scaled = print_scaled
のようなコードが必要でしょうか.

2016-03-29 13:22 Updated by: h7k
Comment

aaee6f5 で入った xreal を試してみたのですが,次のエラーが出ます.

ああああ,そうでした,すみません.acb074699 だとどうでしょう(しばらくインターネットにアクセスできない環境にいました).

2016-03-29 18:48 Updated by: kmaeda
Comment

acb074699 だとどうでしょう

通るようになりました.ありがとうございました.

2016-03-29 19:06 Updated by: h7k
Comment

動いているようでよかったです.今度こそ,3/31 にリリースするつもりです.

xreal 指定時だと拡大・縮小でどうしても計算に若干の誤差がでるので, 「\normalsizecmr9 at ***pt」のような状態になっていないか確認しておきます.

2016-03-31 08:13 Updated by: h7k
Comment

xreal 指定時だと拡大・縮小でどうしても計算に若干の誤差がでるので, 「\normalsize が cmr9 at ***pt」のような状態になっていないか確認しておきます.

2b7d8891 でテストを入れました (test22-ltjs-mag.sh).現在の ltjsclasses のフォントサイズオプションの範囲ではオプティカルサイズが間違って選択されることはないようです. bxjscls が LuaTeX-0.87.0 以降で magstyle=xreal を標準にしたのに合わせて,こちらも xreal オプションを標準としておきました.

なお,拡大・縮小計算による誤差は,調べた限りでは 1 sp に収まっているようです.最悪でも 5 sp には収まると思います.

2016-03-31 14:26 Updated by: h7k
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2016-03-31 14:26
Comment

20160331.0 を出しましたので,ひとまず完了とします.

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login