* 古い情報 [#e8f970ff]

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

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

- [[バックアップ一覧:http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?cmd=backup]]
- 各項目の個別ページ上部のバックアップ
- [[TeX Wiki の Internet Archive:http://web.archive.org/web/*/http://oku.edu.mie-u.ac.jp/~okumura/texwiki/]]

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

- 何らかの事情で古い TeX を使っている方
- 古い TeX 環境から新しい環境に乗り換えたい方

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

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

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

- 以前は推奨されていたが,現在の最新の環境では非推奨とされているノウハウと,現行の代替ノウハウの解説
- TeX ディストリの重要な仕様変更

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

// とりあえず試験的に設置しました.(2015-01-10)

----
#contents
----


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

*** ディレクトリ名の変更 [#c4916968]
-2007 年 7 月 31 日以降の [[W32TeX]] では,一旦 $TEXMF/ptex に変更されていたディレクトリ名が $TEXMF/tex に戻りました.
このため,それ以前の W32TeX からアップデートする際には,古いものをアンインストールしてから行うか,少なくとも $TEXMF/ptex ディレクトリを消してください.
-2013 年 4 月 8 日以降配布されている [[W32TeX]] では,それ以前の
 share/texmf
なるディレクトリ名が
 share/texmf-dist
に変更されています.
これは「TeX Live 2013 で,texmf と texmf-dist が texmf-dist に統一されるため,できるだけ近い状態にするため」です.
このため,それ以前の W32TeX から最新にアップデートする場合は注意してください.

*** extractbb の自動実行を許可 [#rf074b4b]

[[TeX Live]] 2014 以前,[[MacTeX>Mac#mactex]]-2014 以前では,(u)pLaTeX + dvipdfmx で画像を挿入するために必要な extractbb というプログラムの実行は自動化されていませんでした((これは,TeX Live 2013 までの extractbb が画像ファイルと同じフォルダに .xbb というファイルを出力する仕様であったため,作業ディレクトリを余分なファイルで汚すことは認めないという方針に反したからです.これは TeX Live 2014 で .xbb ファイルを出力しない仕様に変更されました.)).このため,graphicx パッケージを用いて画像を挿入するためには

-あらかじめ extractbb を実行して .xbb ファイルを作成する
-texmf.cnf を編集して extractbb の自動実行を許可する設定を行う

のいずれかの作業が必要でした.TeX Live 2015 では extractbb の自動実行が許可されましたので,特に設定する必要がなくなりました((従来も [[W32TeX]] をお使いの場合や,[[美文書第6版:http://oku.edu.mie-u.ac.jp/~okumura/bibun6/]]からインストールした場合は,texmf.cnf の shell_escape_commands に extractbb が指定されていましたので,特別な作業は不要でした.)).以下に「自動実行を許可」する方法をアーカイブとして残しておきます.

-Windows の場合は C:\texlive\texmf-local\web2c\texmf.cnf
-OS X, Linux の場合は /usr/local/texlive/texmf-local/web2c/texmf.cnf

というファイルに

 shell_escape_commands = \
 bibtex,bibtex8,bibtexu,upbibtex,biber,\
 kpsewhich,\
 makeindex,mendex,texindy,xindy,\
 mpost,upmpost,\
 repstopdf,epspdf,extractbb

を書き足し,管理者権限で

 mktexlsr

を実行します.これで,extractbb を含むコマンドが自動実行されるようになります.


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

*** 図の挿入:graphicx パッケージのドライバ指定 [#g29113d8]

以前は「ドライバに [[dvipdfmx]] を用いる場合でも dvipdfm と指定します」と説明されていましたが,2015 年現在では
 \usepackage[dvipdfmx]{graphicx}
のように,dvipdfmx と指定するのが推奨です.
((『LaTeX2ε美文書作成入門』シリーズでは,改訂第4版から登場しており,改訂第5版では dvipdfm オプションのほうは([[Beamer]] のところで [[hyperref]] の dvipdfmx オプションが安定していなかったか何かの理由で dvipdfm にしてしまっている以外は)出現していないようです.-- kuroky))

*** 古い形式のコマンド・パッケージ・作法 [#g5e418af]

[[使ってはいけない LaTeX のコマンド・パッケージ・作法:http://ichiro-maruta.blogspot.jp/2013/03/latex.html]]に書かれているものを挙げておきます.
-{\bf ...} や {\it ...} のようなフォントスタイル変更(紛らわしいが,\em は古いコマンドではない)
--\textbf{...} や \bfseries のように書くのが正しい.
-eqnarray 環境,eqnarray* 環境
--amsmath パッケージが提供する align 環境,align* 環境を使う.
-$$...$$ によるディスプレイ数式,displaymath 環境
--\[...\] を用いる.
-figure 環境の中の center 環境
--\centering というコマンドが存在する.
-graphics パッケージ
--graphicx パッケージを用いるべき.
-EPS 形式の図(完全に不可とまではいえないが,最近なら他の画像形式がベスト)
--[[日本人のための LaTeX タブー集 ~画像読込編~:http://qiita.com/zr_tex8r/items/5413a29d5276acac3771]]
---Adobe Acrobat Distiller DC を持っていないのに dvips を使っている人に: dvips を使う理由はなんですか?
---dvipdfmx を使っているのに EPS 画像を使っている人に: EPS 画像を使う理由はなんですか?
---参考 [[1:https://twitter.com/h_okumura/status/235553029003304960]] [[2:https://twitter.com/h_okumura/status/361278182499954688]] [[3:https://twitter.com/h_okumura/status/355652033468039169]] [[4:https://twitter.com/h_okumura/status/142110946217832448]] [[5:https://twitter.com/h_okumura/status/142107817988460544]] [[6:https://twitter.com/h_okumura/status/83659755138195456]]
-subfigure パッケージ,subfig パッケージ
--subcaption パッケージのほうが互換性に優れるらしい.
-appendix 環境
--\appendix というコマンドが存在する.
// ここから先はどのくらい NG なんでしょう?
-\oddsidemargin などの調整,\hoffset, \voffset の変更
-article.cls, report.cls, book.cls, jarticle.cls, jreport.cls, jbook.cls
-enumerate パッケージ,mdwlist パッケージ
-fancynum パッケージ,SIstyle パッケージ,SIunits パッケージ,units パッケージ,unitsdef パッケージ
-mathptm パッケージ,pslatex パッケージ,times パッケージ

*** DVI ファイルでのプレビュー:dviout や xdvi の利用 [#je1d5241]

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

- 挿入した画像が適切に表示されない
- CID に完全対応していない(Adobe-Japan1 の CID 直接参照の機能は無い)
-- 代わりに CID → Unicode の変換を経由した表示機能があるが,不完全
-- このため,[[OTF]] パッケージに完全対応していない
- PDF や PostScript の機能に強く依存するパッケージに未対応
-- 非対応パッケージ例:[[TikZ]], [[PSTricks]], [[media9]]

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

また,最終的には dvipdfmx をもちいて PDF ファイルを出力することが多いと思いますが,この場合「編集中は dviout」「最後は dvipdfmx」という二つの dviware を使わなければならず,トラブルが起こりがちです.

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

-Windows の場合:[[SumatraPDF]], [[TeXworks]], [[TeXstudio]]
-OS X の場合:[[TeXworks]], [[TeXShop]], [[TeXstudio]], [[Skim]]
-Linux の場合:[[Evince]], [[Okular]], [[zathura]], [[qpdfview]], [[TeXworks]], [[TeXstudio]]

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

*** 統合環境:WinShell の利用 [#zc6d6db5]

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

- エンコーディングが UTF-8 の場合に主なTeXプログラムの設定の [LaTeX] と [PDFLaTeX] に設定されているプログラム (初期設定では pLaTeX や pdfLaTeX) を実行すると Runtime Error! が発生する
- エンコーディングが ShiftJIS の場合に,いわゆる「ダメ文字」による文字化けが回避できない
((ダメ文字をファイル名に含む場合に,[[e-pTeX>e-pTeX#p4d23466]] に書かれているように -jobname= で指定してコンパイルする方法がありますが,WinShell でこの方法を用いるとクラッシュします.))

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

% [[TeX 用統合環境・エディタ>TeX用エディタ]] のページでは,UTF-8 対応かどうかに対応するカラムがないのですよね.「ライセンス」のカラムを作った時点で,「ウェア」のカラムを無くして,UTF-8 対応かどうかのカラムを付ければよかったのですが,編集する時間がなくて,アイディアがお蔵入りになってしまっています.-- kuroky

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

全ての TeX エンジンは,オプション --version を付けてコマンドラインで実行すると,
バージョン情報を表示します.例えば,
 tex --version
現在配布されている TeX エンジンの主なものには,次のようなものがあります:
 tex, pdftex, (etex は pdftex と同じもの), aleph, xetex,
 luatex, luajittex, ptex, eptex, uptex, euptex,
 jtex (TeX Live, tlptexlive にはなし), ptex-ng (TeX Live にはなし).
沢山ありますが,主として使用されているものは
 pdftex, xetex, luatex, eptex, euptex
です.なお全ての TeX エンジンはオプション --help を付けてコマンドラインで実行すると,
使用法を表示します.使用法を確認するのは良いことです.例えば,
 tex --help

* コメント [#b385028a]
- 「古い形式のコマンド・パッケージ・作法」の項,リンク先の内容の検証はいかがでしょう?(ほんとうに「古い」と言っていいのかどうか) -- アセトアミノフェン &new{2015-01-17 (土) 19:37:05};

#comment