TeX Live 2016 がリリースされて数日経ち,そろそろ世界各地のCTANミラーサイトにも波及してきたようです。
TeX Live 2016 における変更点は数多く,ここで挙げきることは困難(自分もとても全ては把握しきれていません)ですが,自分にとって身近な変更点を挙げておきます。
目次
1. (u)pLaTeX がアスキー版からコミュニティ版に移行
(u)pLaTeX が,本家開発元のアスキー版から,GitHub レポジトリ にて開発されているコミュニティ版に変わり,既知の様々な不具合が積極的に修正されています。ただし,その影響で既存原稿の組版結果が変わることがありますので,注意が必要です。
今現在もまだ改修が進行中です。入稿間際の原稿を抱えている場合など,既存の組版結果が変わってはまずい場合は,TeX Live 2016 へのアップデートはしばらく待った方が無難かもしれません。
TeX Live 2016で新しくなったpTeXについては,いろいろ手直し中のようなので,出版に使う場合は当分の間TeX Live 2015最終版を使うほうがよさそう。美文書第7版が出てからでも遅くない
— Haruhiko Okumura (@h_okumura) June 7, 2016
とりあえず美文書原稿をTeX Live 2016にかけてみる。新しいpTeXは和欧文間に自動で入るスペースの仕組みが若干違う(一部おかしいところは間もなく直る)はずだが,このあたりは注意して書いているので,大きな問題はなさそう
— Haruhiko Okumura (@h_okumura) June 8, 2016
コミュニティ版における変更点一覧は,アセトアミノフェン (id:acetaminophen) さんが詳細にまとめてくださっています。
個人的には,使用頻度の高い boxnote 環境の直前のアキが狭くなることの影響が大きそうです。
2. LuaTeX が劇的に変わった
以前の記事「TeX界の El Capitan 迎撃戦記」で述べたように,TeX Live 2015 の LuaTeX では,El Capitan で導入されたOTC形式の新ヒラギノフォントは使えませんでした。IPAフォントなどであれば問題ありませんでしたが,El Capitan にアップグレードするとせっかくOSに付属している美しいヒラギノフォントを使えなくなるというのは,大変残念な事態でした。
TeX Live 2016 の LuaTeX では,新ヒラギノフォントが使えるようになりました。LuaTeX-ja の場合,
\usepackage[deluxe,hiragino-pron,jis2004]{luatexja-preset}
のようにすることで,OSの新旧にかかわらず,ヒラギノフォントを埋め込んだ和文PDFを作成できるようになりました。
ただし,「El Capitan でヒラギノフォントが使えるようになってよかった」として手放しで喜べるほど事態は簡単ではありません。LuaTeX は,今年に予定されている Ver. 1.0 リリースに向けて,プリミティブの整理など,大幅な改修が進んでおり,過去との互換性はかなり低下しているからです。
この1年間で,\pdf~
というプリミティブ名の大幅変更,\write18
での外部コマンド実行や \write16
でのコンソール出力の廃止,\mag
の廃止など,他のパッケージとの互換性に支障をきたす様々な変更が施されています。そのため,TeX Live 2016 にアップグレードすると,LuaTeX では色々なパッケージがエラーを出して使えなくなったり,既存文書のコンパイルが通らなくなったりといった,トラブルに見舞われる可能性が大です。
具体的な変更点の一覧,考えられる対策については,アセトアミノフェンさんが詳細にまとめてくださっています。
3. (u)pLaTeX + dvipdfmx や XeLaTeX (xdvipdfmx) において \includegraphics
の pagebox=...
オプションが使用可能になった
TeX Live 2016 に含まれる最新の (x)dvipdfmx (extractbb の -B
オプション)および dvipdfmx.def を使うことで,\includegraphics
の pagebox=...
オプションが使えるようになります。
これは,Illustrator CC 2015 で作成した図版を \includegraphics
で貼り込む場合に大きなメリットをもたらすはずです。
実は,Illustrator が生成する AI / PDF ファイルに付属するナントカBoxの情報が,最近のバージョンで変更されたのです。これは,日本のTeXユーザにとって影響の大きな変更ではないかと思います。
3.1 Illustrator CS6 でのナントカBox
以前の記事「dvipdfmx で複数ページPDF/AIファイルを \includegraphics する」で述べたように,Illustrator CS6 では,5つのボックスは次のように規定されていました。
- MediaBox:アートボードの赤枠に明示指定される。
- TrimBox:アートボードの白い部分に明示指定される。
- ArtBox:図版自体を取り囲む外接長方形とアートボードの白い部分の共通部分に明示指定される。
- CropBox:明示指定されず,MediaBox の値から暗黙に決まる。
- BleedBox:AI形式の場合は MediaBox と同じ値に明示指定される。PDF形式の場合は明示指定されず,(かつ CropBox も明示指定されていないので結果的に)MediaBox と同じ値に暗黙に設定される。
デフォルト(pagebox
オプションを指定しない場合)では,dvipdfmx のボックス選択律は次のようになっています。
CropBox→ArtBox→TrimBox→BleedBox→MediaBox の順で明示されている最初のものを使う。
この選択律に従えば,Illustrator CS6 で作成した図版を dvipdfmx で貼り込む際は,ArtBox がバウンディングボックスとして使用されることが分かります。これは,Illustrator によって文書中にクリップアート的に貼り込む図版を作成したいという,多くの用途において適切なバウンディングボックス選択であったのではないかと思われます。
3.2 Illustrator CC 2015 でのナントカBox
最新の Illustrator CC 2015 では,Illustrator が生成する AI / PDF ファイルには,次のように5つのボックスが指定されるよう,仕様が変わりました。
- MediaBox:アートボードの赤枠に明示指定される。
- TrimBox:アートボードの白い部分に明示指定される。
- ArtBox:図版自体を取り囲む外接長方形とアートボードの白い部分の共通部分に明示指定される。
- CropBox:MediaBoxと同じ値に明示指定される。
- BleedBox:MediaBoxと同じ値に明示指定される。
このように,CropBox および BleedBox の付き方が変わっています。
この新しいボックスの付き方は,「Illustrator CS6 で作成した図版を CC 2015 で開いて編集して上書き保存」した場合にも適用されます。
さて,CropBox が MediaBox と同じ値に明示指定されるようになった結果,dvipdfmx のボックス選択律
CropBox→ArtBox→TrimBox→BleedBox→MediaBox の順で明示されている最初のものを使う。
に従えば,CropBox が選択されることになります。
3.3 Illustrator CC 2015 + TeX Live 2015 以下 の環境で発生するトラブル
以上のような Illustrator の仕様変更の結果,
Illustrator CS6 で作成した図版を CC 2015 で編集して保存して,TeX 文書をコンパイルし直すと,図版のまわりに大きな余白が発生するようになってしまった!
というトラブルが頻発することになります。
TeX Live 2015 以下を使っている限り,この問題を根本的に解決する方法はありませんでした。
3.4 TeX Live 2016 での問題解決策
TeX Live 2016 の dvipdfmx(extractbb の -B
オプション)では,\includegraphics
において,バウンディングボックスとして採用するボックスの種類を指定する pagebox=...
のオプションが使用可能になりました。
よって,Illustrator CC 2015 + TeX Live 2016 の環境では,Illustrator CC 2015 で作成した図版を取り込む際には
\includegraphics[pagebox=artbox]{hoge.ai}
のように ArtBox を明示指定することで,従来通り図版を「ギリギリのサイズ」で TeX 文書に取り込むことができるようになります。
【まとめ】
TeX Live 2016 においては,Illustrator で作成した図版を
\includegraphics
する際は,常に[pagebox=artbox]
を付けるようにしておけば確実!
4. その他:「\mathchoice
の闇」が1つ解決
TeX & LaTeX Advent Calendar 2015 の記事「\mathchoice の闇」で言及した,
$\mathchoice{あ}{}{}{}$
で pTeX がクラッシュする問題が,TeX Live 2016 にて解決されています。
echo "\relax$\mathchoice{あ}{}{}{}$\bye" | ptex で TeX Live 2015 の pTeX に Segmentation fault を起こさせることに成功した! pic.twitter.com/ciF8QJkzYd
— Yusuke Terada (@doraTeX) September 9, 2015
5. まだまだあります
アセトアミノフェンさんが,他の変更点について分かりやすくまとめた良記事を執筆してくださいました。こちらも合わせてご覧ください。
こちらの記事に挙げられている項目をタイトルだけ列挙しておきます。