いや、某 Apple 社の某 OS やそこに搭載された某フォントが新しくなってアレ、の話じゃなくて、TeX 自体の話。
LuaTeX が変わった話
[2017-01-13 追記] 以下に書いてあるのは 0.79→0.81 の間に行われた変更点の話である。LuaTeX ではこの後、0.81→0.85 の間でも大規模なプリミティブの体系の変更が行われている。従って、以下の情報は、現状の LuaTeX についてはほとんど参考にならないだろう。
2015-10-07 リリースの 0.81.0 でプリミティブの大幅な整理が行われた。
- 複数の名前(エイリアス)をもつプリミティブ*1について、1 つの名前に統一する。
- omega、aleph カテゴリ((「カテゴリ」はここでの仮の用語で、
tex.extraprimitives()
で分類を表すのに使われる名前(tex
、etex
、pdftex
、…)のこと。))の廃止。 - pdfTeX の拡張プリミティブのうち、PDF 出力と直接関係ないものを pdftex カテゴリから luatex カテゴリに移行。さらに名前を「pdf」の無いものに変更((多くは単に「pdf」を取っただけであるが、かなり異なる名前のもの(
\ignoreligaturesinfont
、\expandglyphsinfont
)もあるので注意。))。
旧 LuaTeX | → | 新 LuaTeX | ||
---|---|---|---|---|
\pdfeachlineheight | pdftex | 廃止 | ||
\pdfeachlinedepth | pdftex | 廃止 | ||
\pdflastlinedepth | pdftex | 廃止 | ||
\pdffirstlineheight | pdftex | 廃止 | ||
\pdfignoreddimen | pdftex | 廃止 | ||
\pdftexversion | pdftex | 廃止 | ||
\pdftexrevision | pdftex | 廃止 | ||
\pdftexbanner | pdftex | 廃止 | ||
\pdfnormaldeviate | pdftex | 改名→ | \normaldeviate | luatex |
\pdfuniformdeviate | pdftex | 改名→ | \uniformdeviate | luatex |
\pdfsetrandomseed | pdftex | 改名→ | \setrandomseed | luatex |
\pdfrandomseed | pdftex | 改名→ | \randomseed | luatex |
\pdfpagewidth | pdftex | 統合→ | \pagewidth | luatex |
\pagewidth | omega | 移行→ | \pagewidth | luatex |
\pdfpageheight | pdftex | 統合→ | \pageheight | luatex |
\pageheight | omega | 移行→ | \pageheight | luatex |
\chardp | omega | 統合→ | \fontchardp | etex |
\charht | omega | 統合→ | \fontcharht | etex |
\charit | omega | 統合→ | \fontcharit | etex |
\charwd | omega | 統合→ | \fontcharwd | etex |
\pagerightoffset | aleph | 移行→ | \pagerightoffset | luatex |
\pagebottomoffset | aleph | 移行→ | \pagebottomoffset | luatex |
\ifincsname | pdftex | 移行→ | \ifincsname | luatex |
\expanded | pdftex | 移行→ | \expanded | luatex |
\quitvmode | pdftex | 移行→ | \quitvmode | luatex |
\ifpdfabsnum | pdftex | 統合→ | \ifabsnum | luatex |
\ifpdfabsdim | pdftex | 統合→ | \ifabsdim | luatex |
\ifpdfprimitive | pdftex | 統合→ | \ifprimitive | luatex |
\pdfprimitive | pdftex | 統合→ | \primitive | luatex |
\pagedir | omega | 移行→ | \pagedir | luatex |
\bodydir | omega | 移行→ | \bodydir | luatex |
\pardir | omega | 移行→ | \pardir | luatex |
\textdir | omega | 移行→ | \textdir | luatex |
\mathdir | omega | 移行→ | \mathdir | luatex |
\boxdir | aleph | 移行→ | \boxdir | luatex |
\lpcode | pdftex | 移行→ | \lpcode | luatex |
\rpcode | pdftex | 移行→ | \rpcode | luatex |
\efcode | pdftex | 移行→ | \efcode | luatex |
\leftmarginkern | pdftex | 移行→ | \leftmarginkern | luatex |
\rightmarginkern | pdftex | 移行→ | \rightmarginkern | luatex |
\tagcode | pdftex | 移行→ | \tagcode | luatex |
\letterspacefont | pdftex | 移行→ | \letterspacefont | luatex |
\pdfprotrudechars | pdftex | 改名→ | \protrudechars | luatex |
\pdfadjustspacing | pdftex | 改名→ | \adjustspacing | luatex |
\pdfnoligatures | pdftex | 改名→ | \ignoreligaturesinfont | luatex |
\pdffontexpand | pdftex | 改名→ | \expandglyphsinfont | pdftex |
\pdfsavepos | pdftex | 改名→ | \savepos | luatex |
\pdflastxpos | pdftex | 改名→ | \lastxpos | luatex |
\pdflastypos | pdftex | 改名→ | \lastypos | luatex |
新設→ | \hyphenationmin | luatex | ||
(以下は NEWS ファイルに記載されていない変更点) | ||||
\leftghost | omega | 移行→ | \leftghost | luatex |
\localbrokenpenalty | omega | 移行→ | \localbrokenpenalty | luatex |
\localinterlinepenalty | omega | 移行→ | \localinterlinepenalty | luatex |
\localleftbox | omega | 移行→ | \localleftbox | luatex |
\localrightbox | omega | 移行→ | \localrightbox | luatex |
\rightghost | omega | 移行→ | \rightghost | luatex |
\luatexbanner | pdftex | 移行→ | \luatexbanner | luatex |
新設→ | \matheqnogapstep | luatex |
情報源は LuaTeX の配布に含まれる NEWS ファイル。
この中で、単なるカテゴリの移行は LuaLaTeX や plain LuaTeX では影響を及ぼさないので、実際に影響があるものの一覧は以下に示すものとなる。(重要そうなものを上に置いた。)
旧 LuaTeX | 新 LuaTeX |
---|---|
\pdftexversion | (廃止) |
\pdftexrevision | (廃止) |
\pdfpagewidth | \pagewidth |
\pdfpageheight | \pageheight |
\ifpdfprimitive | \ifprimitive |
\pdfprimitive | \primitive |
\ifpdfabsnum | \ifabsnum |
\ifpdfabsdim | \ifabsdim |
\pdfsavepos | \savepos |
\pdflastxpos | \lastxpos |
\pdflastypos | \lastypos |
\pdfeachlineheight | (廃止) |
\pdfeachlinedepth | (廃止) |
\pdflastlinedepth | (廃止) |
\pdffirstlineheight | (廃止) |
\pdfignoreddimen | (廃止) |
\pdftexbanner | (廃止) |
\pdfnormaldeviate | \normaldeviate |
\pdfuniformdeviate | \uniformdeviate |
\pdfsetrandomseed | \setrandomseed |
\pdfrandomseed | \randomseed |
\pdfprotrudechars | \protrudechars |
\pdfadjustspacing | \adjustspacing |
\pdfnoligatures | \ignoreligaturesinfont |
\pdffontexpand | \expandglyphsinfont |
このうち、\pdftexversion/revision/banner
については、以前の記事で定義が変更されたことを述べたうえで「将来廃止予定」であるとも述べたが、これらが実際に廃止されたわけである。
なお、TeX Live においては、エンジンなどのバイナリについては年度の途中での更新は行われない。従って、この仕様変更の影響を被るのは TeX Live 2016 がリリースされた時点ということになる。それまでに該当するパッケージの更新が行われればよいのだが……。
※W32TeX に関しては、少なくとも“開発版”の方のアーカイブ luatex-dev-w32.tar.xz の方は v0.81(以降)に更新されている。これについては多くの不具合(例えばコレ*2)が出ることが予想される。