力あるインフラエンジニアを目指して

IT初心者が人前にインフラエンジニアですと言っても恥ずかしくないようになる日を目指します。

研究室で使われてた古いTeXパッケージに物申す

LaTeXを使ってガシガシ資料を書いてた頃、所属していた研究室の先輩方が書かれた.texファイルを見てぐちゃぐちゃだったことに憤りを覚え環境を新しくしよう!という推進活動の一つとして資料を作っていたのを発見したのでそこから何個かピックアップしてここに書いてみます。 古いパッケージとか使ってもない意味のないパッケージを読み込むんじゃねぇ!ってスタンスです。 この資料作ったのそこそこ前なので下の資料書いてた時点では新しかったものも今では古くなってしまってるパッケージもありますが・・・
私はこんなことが冒頭に書かれたtexファイルに対して待ったをかけようとしていたそうです。

\documentclass[epsf,here,a4jsme,epic,eepic,9pt]{jsarticle}
\usepackage[dvips]{graphicx}
\usepackage{amsmath,amssymb,bm}
\usepackage{epsfig}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{overpic}
\usepackage{multirow}
\usepackage{tabularx}

私自身が書いた資料から引用したコメントをブログ用に整形しました↓

\usepackage[dvips]{graphicx}に物申す

 当研究室では基本的に前者のdviを出力した後,PDFに変換する形を取っている. つまり,用いるパッケージはdvipdfmxに準したものを用いるべきである. よく見受けられるのが下のように冒頭のパッケージ記載の箇所で \usepackage[dvips]{graphicx} としていることである.dvipsはdviファイルをPSファイルに出力する ドライバである.今,PDFに出力するのだから \usepackage[dvipdfmx]{graphicx} と記述するのが正しい.

\usepackage{epsfig}に物申す

 2行目については先に挙げたように[dvips]を[dvipdfmx]に書き換える. これはいいとして,graphicxは画像読み込みパッケージとして用いられるが, 一行目にもepsfパッケージが読み込まれている. これはLaTeX2.09という古い時代に用いられたものであり, 現在では普通用いない.そのため,このepsfの記載があれば削除を推奨する. さらに言うと4行目のepsfigパッケージももepsファイルを読み込むための ものである. もちろんこれも必要がなければ存在理由もない. epsファイルのみを読みこませると決め込むのなら残しておいてもいいかもしれ ないが, 推奨はしない.

hereパッケージとfloatパッケージの混在

 そして,このまま一行目に着目すると,次はhereというパッケージを呼び出している. そして,6行目にはfloatというパッケージを呼び出している. 両者は同じパッケージであり,どちらか一方だけを呼び出せばよい. 個人的にfloat.styを用いているが,here.styの方が 新しいパッケージらしい(好みの問題).

epiパッケージとeepiパッケージについて

 ひとつ飛んで,epiそしてeepiパッケージについてだが, これはtexにおいて図を描画するためのものである. 正直texは自らで図を描写するのをあまり得意としておらず, 座標を数値入力によって指定し,コンパイルをして結果を確認する 作業を要する. epicとeepicパッケージは作図の自由度を向上させたが, 余計な空白(10\%程度らしい)を作ってしまうバグ等を有している. それならばはじめからInkscape等のドローツールで作図 したほうが簡単で早く複雑な図も直感的に綺麗に描けると私は思う. どうしても\TeX で図を描きたいならばpict2eパッケージを読み込み, さらにそれをdvipdfmxに対応させるために BXpict2eパッケージを読み込むとよいだろう (ただし,pict2eは古いVer.では dvipdfmxに対応していないバグ持ちなので 必ずVer.の確認を).

bmパッケージについて

 最後に順番が前後してしまうが, 3行目の最後のbmパッケージも個人的に推奨しない. bmパッケージは数式モード内で\bm{x} と記述するだけで, $\bm x$を出力してくれる便利なパッケージだが, これを記述するとフォントが強制的にcmmitex標準フォント) となり,フォント指定が課される学会の論文において困ることになる. そこで,\verb|\usepackage{bm}|の記述を消去して冒頭に \newcommand{\bm}[1]{\mbox{\boldmath $#1$}} と記述しておくと,bmパッケージと同様にして太字のベクトル表記を行えるよう になる. 私見だが,日本人は中高生時代の教科書を通じてそれに似通ったフォントである, cmmiを好む傾向にある気がするが, 海外ではあまり好まれないのか基本的にTimes系フォントが主流に思われる. 海外論文へ投稿を行う方は設定の見直しを行う必要があるかもしれない. なお,上記のやり方でも一部のフォントでは何故か太字設定が適応出来ないらし く, 注意が必要である.

結構LaTeXに関しては勉強しようとしてたみたいですが、肝心な研究はそこまで熱心に取り組めてなかったように思えます笑