古い情報

このページは TeX Forum のディスカッショントピック forum:1477 を元に作成されました.

TeX Wiki には大勢の皆様のご尽力により「最新の TeX 情報」が多く掲載されています. ただその反面,古い情報は次々と削除され,あとから参照するには

を参照するほかありません.しかし,

にとっては,重要な変更点を効率よく知りたい場合があるかもしれません.

一方,一般の Web 上の情報は時に古い「バッド・ノウハウ」をあたかも最新であるかのように伝承し続けることがあります.

そこで,一つの案として「古い情報」という本項目を作成し,重要な変更点を削除する代わりにこちらへ情報を移動するというご提案です.

などの情報が集まることを想定しています.



TeX ディストリビューションの重要な仕様変更

W32TeX の仕様変更

extractbb の自動実行を許可

TeX Live 2014 以前,MacTeX-2014 以前では,(u)pLaTeX + dvipdfmx で画像を挿入するために必要な extractbb というプログラムの実行は自動化されていませんでした*1. このため,graphicx パッケージを用いて画像を挿入するためには

のいずれかの作業が必要でした. TeX Live 2015 では extractbb の自動実行が許可されましたので,特に設定する必要がなくなりました.

以前は推奨されていたが,現在の最新の環境では非推奨とされるノウハウ

図の挿入:graphicx パッケージ・color パッケージのドライバ指定

graphicx パッケージや color パッケージを読み込む場合,昔は「DVI ウェアとして dvipdfmx を用いる場合は,ドライバ指定(オプション)は “dvipdfm” を指定します」と説明されていました.

\usepackage[dvipdfm]{graphicx,color}

しかし,現在(2007 年以降)では dvipdfmx 用のドライバファイルが用意されているので,ドライバオプションは “dvipdfmx” とすることが推奨されます.*2

なお,ドライバオプションについては,多くの場合,

\usepackage[dvipdfmx]{graphicx}

のようにパッケージ毎に指定すると説明されています. しかし実際は,文書クラスのオプション(グローバルオプション)として指定することも可能です. (この場合,dvipdfmx オプションをサポートするパッケージの全てについて自動的に適用されます.)

\documentclass[a4paper,dvipdfmx]{jsarticle}

こちらの方がトラブルが起こりにくいため,最近ではこの方法が推奨されています.

画像挿入についてはLaTeX入門/図表に基本事項の解説があります.

図の挿入:mediabb パッケージ

dvipdfmx の前身である古い dvipdfm を使っていた時代には,現在の「extractbb の自動実行」に相当する機構がなかったため,ユーザが手動で ebb(extractbb の前身)を起動する必要があり,この面倒を解決する手段として,mediabb パッケージが用いられていました. これは「TeX プログラムで PDF 文書を簡易解析してそのバウンディングボックス情報を取得する」というものです.

しかし,mediabb パッケージは dvipdfm(あるいはかなり昔の dvipdfmx)での利用を前提としています. 従って,(新しい)dvipdfmx と一緒に使うことは全く考慮されておらず,その場合の動作は未定義です(全般的にかなり不合理な挙動を示します). また,PDF ファイルの構造によっては mediabb パッケージによる簡易解析が失敗することがあり,特に最近のソフトウェアが出力する PDF ファイルではほとんどの場合失敗してしまいます.

mediabb パッケージを使わずに \usepackage[dvipdfmx]{graphicx} とし,extractbb を使ってバウンディングボックスを取得する方法を使ってください. LaTeX入門/図表に基本事項の解説があります.

※比較的新しい(2015年に書かれた)ブログ記事等でも,mediabb パッケージを使って PDF 形式の図を pLaTeX + dvipdfmx で挿入するという方法が解説されていることがありますので,注意してください.

dvipdfm の使用

dvipdfm と dvipdfmx は別のものなので,DVI ウェアとして dvipdfm を利用する場合は graphicx・color パッケージのドライバ指定は dvipdfm にする,というのが TeX Live 2012 以前では正しい方法でした. ところが,TeX Live 2013 以降では,(複雑な経緯があって)dvipdfm のドライバファイルが使えない状態になっています.理由は TeX Live 2013 でドライバファイル dvipdfm.def が削除されたからです.

従って,graphicx・color パッケージを読み込む場合は,dvipdfmx などの dvipdfm 以外の DVI ウェアを利用する必要があります.

W32TeX では $INSTALLDIR\share\texmf-dist\tex\latex\graphics-otherdef\dvipdfm.def に dvipdfm.def が存在します.

古い形式のコマンド・パッケージ・作法

使ってはいけない LaTeX のコマンド・パッケージ・作法に書かれているものを挙げておきます.

DVI ファイルでのプレビュー:dviout や xdvi の利用

TeX 出力をプレビューする場合に,以前は Windows 環境では dviout,Linux 環境では xdvi による DVI ファイルのプレビューがよく用いられていましたが,dviout には

などの問題があります.xdvi には日本語が表示されない不具合が生じる場合があります.

また,最終的には dvipdfmx をもちいて PDF ファイルを出力することが多いと思いますが,この場合「編集中は dviout」「最後は dvipdfmx」という二つのドライバを使わなければならず,トラブルが起こりがちです. たとえば graphicx パッケージによる図の挿入はドライバに依存しますので,複数のドライバを一度に利用しようとすると図がずれる,正しい大きさで表示されないなどのトラブルが起きます.

こうした問題は,DVI ではなく PDF ファイルでプレビューをすれば解決できます. 「Microsoft Edge や Adobe Acrobat Reader ではファイルがロックされてしまって使い物にならなかった」と思われるかもしれませんが,以下に挙げるように Microsoft Edge, Adobe Acrobat Reader 以外の多くの SyncTeX に対応した PDF ビューワではロックされずに快適にプレビューすることができます.

src-specials による相互参照機能についても,同等のことが SyncTeX によって実現できます.

統合環境:WinShell の利用

Windows 環境の統合環境として,以前は WinShell がよく用いられていましたが,WinShell には

という問題があります. このため,Unicode 対応の upTeXLuaTeX が使いにくいですし,日本語版 Windows での使用には適していません. UTF-8 エンコーディングに対応した他の統合環境を利用してください. → TeX 用統合環境・エディタ

現在使用している TeX のバージョンを確かめる方法

全ての TeX エンジンは,オプション --version を付けてコマンドラインで実行すると, バージョン情報を表示します.例えば,

tex --version

現在配布されている TeX エンジンの主なものには,次のようなものがあります:

tex, pdftex, (etex は pdftex と同じもの), aleph, xetex,
luatex, luajittex, ptex, eptex, uptex, euptex,
jtex (TeX Live, tltexjp にはなし), ptex-ng (TeX Live にはなし).

沢山ありますが,主として使用されているものは

pdftex, xetex, luatex, eptex, euptex

です.なお全ての TeX エンジンはオプション --help を付けてコマンドラインで実行すると, 使用法を表示します.使用法を確認するのは良いことです.例えば,

tex --help

W32TeX

過去の W32TeX の仕様変更

を参照。

macOS 10.14 Mojave / macOS 10.13 High Sierra / macOS 10.12 Sierra / OS X 10.11 El Capitan への対応

macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan でのアプリケーションの設定変更

必要に応じて周辺アプリケーションの設定変更を行います。 これは,MacTeX や BasicTeX のユーザが該当します(Homebrew を使って mactex / basictex をインストールした場合は,パッケージ管理システムの下に置かれているため該当しません)。 なお,各アプリケーションは macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan 対応のためにバージョンアップしていることがありますので,macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan へのアップグレード後はアプリケーションも最新版に更新するとよいでしょう。

MacTeX-2014 / BasicTeX-2014 以前では,TeX 関連プログラムへのシンボリックリンクを /usr/texbin 以下に作成していました。 TeXShop などのアプリケーション(の少し古いバージョン)はこの場所にシンボリックリンクが存在することを仮定していましたので,プログラムのパスに /usr/texbin を指定していることがあります。 しかし,/usr/texbin は macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan へのアップグレードにより強制的に /Previous System/usr/texbin 以下に移転されていて,呼び出すことができない状態になってしまいます。

macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan での注意点

OS X El Capitan 以降のバージョンでは,セキュリティ上の理由から /usr への書き込みは出来なくなったため,各種バイナリへのシンボリックリンクが変更となります。 /usr/local 以下には書きこめるので,/usr/local/texlive はこれまでと変わりません。

macOS Mojave / macOS High Sierra / macOS Sierra / OS X El CapitanOS X Yosemite 以前
/Library/TeX/texbin/usr/texbin

MacTeX-2015 および BasicTeX-2015 は,OS X Yosemite までのシステムには両方のシンボリックリンクを作成しますので,MacTeX がインストールする各種アプリケーションはこれまでの設定のままで動作します。 macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan への移行準備として設定変更も可能です。

MacTeX-2015 がインストールする GUI アプリケーション(BibDesk, LaTeXiT, TeX Live Utility, TeXShop)は /usr/texbin がデフォルトとなっているため,macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan での使用においては設定変更が必要です。 (その他のアプリケーションについても同様の変更が必要となるかもしれません。)

MacTeX-2014 および BasicTeX-2014 以前をインストールしている場合,macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan にアップグレードすると /usr/texbin に作成されているシンボリックリンクは /usr/texbin/ から /Previous System/usr/texbin/ に移転されます。

また,macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan では和文フォント周りの構成が大きく変化しており,Ghostscript では macOS Mojave / macOS High Sierra / macOS Sierra / OS X El Capitan 付属のヒラギノフォントを埋め込むことができません。

コメント



*1 これは,TeX Live 2013 までの extractbb が画像ファイルと同じフォルダに .xbb というファイルを出力する仕様であったため,作業ディレクトリでないフォルダを余分なファイルで汚すことは認めないという方針に反したからです.画像ファイルは,作業ディレクトリでないフォルダに存在することもあることに注意して下さい.これは TeX Live 2014 で .xbb ファイルを出力しない仕様に変更されました.
*2 『LaTeX2ε美文書作成入門』では,改訂第4版から dvipdfmx オプションが登場しており,改訂第5版では dvipdfm オプションのほうは原則として出現していないようです.(ただし,Beamer のところでは hyperref の dvipdfmx オプションが安定していなかったか何かの理由で,例外的に dvipdfm が指定されています.)
*3 ダメ文字をファイル名に含む場合に,ptexenc に書かれているように -jobname= で指定してコンパイルする方法がありますが,WinShell でこの方法を用いるとクラッシュします.

Last-modified: 2022-11-04 (金) 08:32:07 (532d)