* 古い情報 [#e8f970ff] このページは TeX Forum のディスカッショントピック [[forum:1477]] を元に作成されました. TeX Wiki には大勢の皆様のご尽力により「最新の TeX 情報」が多く掲載されています. ただその反面,古い情報は次々と削除され,あとから参照するには - [[バックアップ一覧:https://texwiki.texjp.org/?cmd=backup]] - 各項目の個別ページ上部のバックアップ - TeX Wiki の Internet Archive --http://web.archive.org/web/*/https://texwiki.texjp.org/ --http://web.archive.org/web/*/http://oku.edu.mie-u.ac.jp/~okumura/texwiki/ を参照するほかありません.しかし, - 何らかの事情で古い TeX を使っている方 - 古い TeX 環境から新しい環境に乗り換えたい方 にとっては,重要な変更点を効率よく知りたい場合があるかもしれません. 一方,一般の Web 上の情報は時に古い「バッド・ノウハウ」をあたかも最新であるかのように伝承し続けることがあります. そこで,一つの案として「古い情報」という本項目を作成し,重要な変更点を削除する代わりにこちらへ情報を移動するというご提案です. - 以前は推奨されていたが,現在の最新の環境では非推奨とされているノウハウと,現行の代替ノウハウの解説 - TeX ディストリの重要な仕様変更 などの情報が集まることを想定しています. // とりあえず試験的に設置しました.(2015-01-10) ---- #contents ---- ** TeX ディストリビューションの重要な仕様変更 [#u592b4c3] *** [[W32TeX]] の仕様変更 [#c4916968] -2007 年 7 月 31 日以降の W32TeX では,一旦 $TEXMF/ptex に変更されていたディレクトリ名が $TEXMF/tex に戻りました. それ以前の W32TeX からアップデートする際には,古いものをアンインストールするか,少なくとも $TEXMF/ptex ディレクトリを消してください. -2013 年 4 月 8 日以降配布されている W32TeX では,それ以前の share/texmf なるディレクトリ名が share/texmf-dist に変更されています. それ以前の W32TeX からアップデートする際には,古いものをアンインストールするか,少なくとも share/texmf ディレクトリを消してください. -その他のプログラム名の変更,エンジンの仕様変更については,[[過去の W32TeX の仕様変更>古い情報#w32tex-changelog-old]]を参照してください. *** extractbb の自動実行を許可 [#rf074b4b] [[TeX Live]] 2014 以前,[[MacTeX]]-2014 以前では,(u)pLaTeX + dvipdfmx で画像を挿入するために必要な extractbb というプログラムの実行は自動化されていませんでした((これは,TeX Live 2013 までの extractbb が画像ファイルと同じフォルダに .xbb というファイルを出力する仕様であったため,作業ディレクトリでないフォルダを余分なファイルで汚すことは認めないという方針に反したからです.画像ファイルは,作業ディレクトリでないフォルダに存在することもあることに注意して下さい.これは TeX Live 2014 で .xbb ファイルを出力しない仕様に変更されました.)). このため,[[graphicx]] パッケージを用いて画像を挿入するためには -あらかじめ extractbb を実行して .xbb ファイルを作成する -extractbb の自動実行を許可する設定を行う → [[その手順>extractbb の自動実行許可の設定]] のいずれかの作業が必要でした. TeX Live 2015 では extractbb の自動実行が許可されましたので,特に設定する必要がなくなりました. ** 以前は推奨されていたが,現在の最新の環境では非推奨とされるノウハウ [#nc0a5e50] *** 図の挿入:graphicx パッケージ・color パッケージのドライバ指定 [#g29113d8] [[graphicx]] パッケージや color パッケージを読み込む場合,昔は「DVI ウェアとして [[dvipdfmx]] を用いる場合は,ドライバ指定(オプション)は “dvipdfm” を指定します」と説明されていました. \usepackage[dvipdfm]{graphicx,color} しかし,現在(2007 年以降)では dvipdfmx 用のドライバファイルが用意されているので,ドライバオプションは “dvipdfmx” とすることが推奨されます.((『LaTeX2ε美文書作成入門』では,改訂第4版から dvipdfmx オプションが登場しており,改訂第5版では dvipdfm オプションのほうは原則として出現していないようです.(ただし,[[Beamer]] のところでは [[hyperref]] の dvipdfmx オプションが安定していなかったか何かの理由で,例外的に dvipdfm が指定されています.))) なお,ドライバオプションについては,多くの場合, \usepackage[dvipdfmx]{graphicx} のようにパッケージ毎に指定すると説明されています. しかし実際は,文書クラスのオプション(グローバルオプション)として指定することも可能です. (この場合,dvipdfmx オプションをサポートするパッケージの全てについて自動的に適用されます.) \documentclass[a4paper,dvipdfmx]{jsarticle} こちらの方がトラブルが起こりにくいため,最近ではこの方法が推奨されています. 画像挿入については[[LaTeX入門/図表]]に基本事項の解説があります. -参考:[[graphicx と color の危険な関係:http://qiita.com/zr_tex8r/items/442b75b452b11bee8049]] *** 図の挿入:mediabb パッケージ [#m31e6ff8] [[dvipdfmx]] の前身である古い dvipdfm を使っていた時代には,現在の「extractbb の自動実行」に相当する機構がなかったため,ユーザが手動で ebb(extractbb の前身)を起動する必要があり,この面倒を解決する手段として,[[mediabb パッケージ>https://www.ma.ns.tcu.ac.jp/Pages/TeX/mediabb.sty.html]]が用いられていました. これは「TeX プログラムで PDF 文書を簡易解析してそのバウンディングボックス情報を取得する」というものです. しかし,mediabb パッケージは dvipdfm(あるいはかなり昔の dvipdfmx)での利用を前提としています. 従って,(新しい)dvipdfmx と一緒に使うことは全く考慮されておらず,その場合の動作は未定義です(全般的にかなり不合理な挙動を示します). また,PDF ファイルの構造によっては mediabb パッケージによる簡易解析が失敗することがあり,特に最近のソフトウェアが出力する PDF ファイルではほとんどの場合失敗してしまいます. -mediabb.styはW32TeXで使えますか [[forum:1354]] -[[mediabb パッケージが(あまり)役に立たない話:http://d.hatena.ne.jp/zrbabbler/20140530/1401462549]] -[[dvipdfmx で mediabb できない件(1):http://d.hatena.ne.jp/zrbabbler/20140803/1407089421]],[[(2):http://d.hatena.ne.jp/zrbabbler/20140804/1407167938]] mediabb パッケージを使わずに \usepackage[dvipdfmx]{graphicx} とし,extractbb を使ってバウンディングボックスを取得する方法を使ってください. [[LaTeX入門/図表]]に基本事項の解説があります. ※比較的新しい(2015年に書かれた)ブログ記事等でも,mediabb パッケージを使って PDF 形式の図を pLaTeX + dvipdfmx で挿入するという方法が解説されていることがありますので,注意してください. *** dvipdfm の使用 [#pe307fc6] dvipdfm と dvipdfmx は別のものなので,DVI ウェアとして dvipdfm を利用する場合は graphicx・color パッケージのドライバ指定は dvipdfm にする,というのが正しい方法でした. ところが,現在(2013 年以降)の TeX Live / W32TeX では,(複雑な経緯があって)dvipdfm のドライバファイルが事実上使えない状態になっています. (TeX Live では実際にドライバファイル dvipdfm.def が削除されています.) -[[dvipdfm 終了のお知らせ(ただし2年前):http://d.hatena.ne.jp/zrbabbler/20150916/1442413624]] 従って,graphicx・color パッケージを読み込む場合は,dvipdfm 以外の DVI ウェア(dvipdfmx など)を利用する必要があります. *** 古い形式のコマンド・パッケージ・作法 [#g5e418af] [[使ってはいけない LaTeX のコマンド・パッケージ・作法:http://ichiro-maruta.blogspot.jp/2013/03/latex.html]]に書かれているものを挙げておきます. -{\bf ...} や {\it ...} のようなフォントスタイル変更(紛らわしいが,\em は古いコマンドではない) --\textbf{...} や {\bfseries ...} のように書くのが正しい. --なお,\bf と \bfseries は等価ではない. 「Microsoft Word の [B] ボタン」に相当するのは後者のほう. -eqnarray 環境,eqnarray* 環境 --amsmath パッケージが提供する align 環境,align* 環境を使う. -$$...$$ によるディスプレイ数式,displaymath 環境 --\[...\] を用いる.$$...$$ は「古い」ではなく,そもそも LaTeX では間違い. --参考 [[1:https://twitter.com/zr_tex8r/status/597749305164759041]] [[2:https://twitter.com/zr_tex8r/status/597766041196867586]] -figure 環境の中の center 環境 --\centering というコマンドが存在する. -graphics パッケージ --[[graphicx]] パッケージのほうが高機能. //↑Maruta 氏の記事も l2tabu も「graphics がタブー」とは言っていないのだが? -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]] [[7:https://twitter.com/h_okumura/status/612792211730608128]] [[8:https://twitter.com/h_okumura/status/612868673523441665]] [[9:https://twitter.com/h_okumura/status/613129201596542976]] -subfigure パッケージ,subfig パッケージ --subcaption パッケージのほうが互換性に優れるらしい. -appendix 環境 --\appendix というコマンドが存在する. -\oddsidemargin などの調整,\hoffset, \voffset の変更 --よほど理解している人しかいじってはいけないパラメータ.[[geometry]] などを推奨. -article.cls, report.cls, book.cls, jarticle.cls, jreport.cls, jbook.cls --「古い」わけではないが,余白が広いと感じるなら,ほかのクラスファイルを使う. --jarticle.cls, jreport.cls, jbook.cls は JIS 組版規則に合わないので,jsarticle.cls や jsbook.cls のほうが好まれる. // ここから先はどのくらい NG なんでしょう? -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」という二つのドライバを使わなければならず,トラブルが起こりがちです. たとえば [[graphicx]] パッケージによる図の挿入はドライバに依存しますので,複数のドライバを一度に利用しようとすると図がずれる,正しい大きさで表示されないなどのトラブルが起きます. こうした問題は,DVI ではなく PDF ファイルでプレビューをすれば解決できます. 「Adobe Acrobat Reader DC ではファイルがロックされてしまって使い物にならなかった」と思われるかもしれませんが,以下に挙げるように Adobe Acrobat Reader DC 以外の多くの PDF ビューワではロックされずに快適にプレビューすることができます. -Windows の場合:[[SumatraPDF]], [[Evince]], [[TeXworks]], [[TeXstudio]] -macOS の場合:[[TeXworks]], [[TeXShop]], [[TeXstudio]], [[Skim]] -Linux の場合:[[Evince]], [[Okular]], [[zathura]], [[qpdfview]], [[TeXworks]], [[TeXstudio]] [[src-specials>special 命令#src-specials]] による相互参照機能についても,同等のことが [[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, tltexjp にはなし), ptex-ng (TeX Live にはなし). 沢山ありますが,主として使用されているものは pdftex, xetex, luatex, eptex, euptex です.なお全ての TeX エンジンはオプション --help を付けてコマンドラインで実行すると, 使用法を表示します.使用法を確認するのは良いことです.例えば, tex --help * W32TeX &aname(w32tex); [#d7e546c6] **過去の W32TeX の仕様変更 &aname(w32tex-changelog-old); [#r48285ee] -[2013/04/08] --4月8日付の W32TeX から share/texmf なるディレクトリ名が share/texmf-dist に変更されています。これは,TeX Live 2013 で texmf と texmf-dist が texmf-dist に統一されたことにあわせたものです。 -[2012/11/25] --XeTeX が再び Windows 2000 でも動くようになりました。 -[2012/10/26] --XeTeX は Windows 2000 以前の OS ではサポートされなくなりました。 -[2012/10/15] --Adobe Reader XI で pdfdde, pdfopen, pdfclose を使用する場合は 2012/10/15 以降の W32TeX にしてください。 -[2012/08/21] --2012/08/20 までの dvipdfmx, xdvipdfmx は SEAC bug が存在するので 2012/08/21 以降の W32TeX にしてください。 -[2011/12/24] --upovf2ovp.exe と upovp2ovf.exe は無くなりました。更新された wovf2ovp.exe と wovp2ovf.exe が upTeX もサポートするようになっています。 -[2011/11/23] --updvi2tty.exe は無くなりました。更新された dvi2tty.exe が upTeX の dvi もサポートするようになっています。 -[2011/11/06] --updvipdfmx が無くなりました。(e-)upTeX でも dvipdfmx を使うようにしてください。hyperref でしおりを作成する場合は \AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}} または \AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UTF16}} が必要になりました。PXjahyper パッケージ を使用しても OK です。詳細は[[しおり(bookmark)つきのpdf文書作成>hyperref#fe7cad10]]を参照してください。 -[2011/10/22] --euplatex が無くなりました。uplatex は uptex ではなくて euptex の上で動くようになりました。 -[2011/05/25] --eplatex が無くなりました。platex は ptex ではなくて eptex の上で動くようになりました。 -[2011/03/21] --ptex 関係において [[ptexenc:http://tutimura.ath.cx/ptexlive/?ptexenc%2F%CA%B8%BB%FA%A5%B3%A1%BC%A5%C9%C8%BD%C4%EA]] を用いて自動判別するようになりました。デフォルトで自動判別します。自動判別せずに手動で直接文字コードを指定する場合は platex -no-guess-input-enc -kanji=utf8 hoge.tex euplatex -no-guess-input-enc -kanji=utf8 hoge.tex のように指定します。 -[2011/03/06] --ptex 関係において nkf を用いて自動判別する機能が追加されました。デフォルトで自動判別します。 -[2010/08/14] --pmpost.exe は pmetapost.exe に変更されました。 → 2011/12/23 に pmetapost.exe は元の名前 pmpost.exe に戻されました。 --upmpost.exe は upmetapost.exe に変更されました。 → 2011/12/23 に upmetapost.exe は元の名前 upmpost.exe に戻されました。 -[2010/05/06] --dvipsk.exe は dvips.exe に統合されました。 -[2009/07/20] --jbibtex.exe は pbibtex.exe に変更されました。([[qa:53349]])(2010/04/29 以降のものを使用してください → pbibtexの異常終了 ([[forum:442]])) --upjbibtex.exe は upbibtex.exe に変更されました。 --jmpost.exe は pmpost.exe に変更されました。 --upjmpost.exe は upmpost.exe に変更されました。 -[2007/08/01] --7月31日付の W32TeX から $TEXMF/ptex/ ディレクトリが無くなったので pLaTeX のスタイルファイルは $TEXMFLOCAL/tex/platex/ 下のフォルダ(ディレクトリ)に移動するか,新規に入れると良いでしょう。 -[2004/05/10] --バージョンが 7.5.3 になって fmt ファイルの置き場所が変わったようです。上書きインストールする場合は $TEXMF/web2c// フォルダ(ディレクトリ)以下を削除してから行ってください。 -[2004/02/11] --新しい [[TDS>TeX のディレクトリ構成]] (''T''eX ''D''irectory ''S''tructure) に準拠した W32TeX がそろそろミラーサイトに出始めているようです。ディレクトリ構造が変わっていますので,古い $TEXMF/ を削除あるいは名前変更してからインストールしてください。 * コメント [#b385028a] - 「古い形式のコマンド・パッケージ・作法」の項,リンク先の内容の検証はいかがでしょう?(ほんとうに「古い」と言っていいのかどうか) -- アセトアミノフェン &new{2015-01-17 (土) 19:37:05}; #comment