初心者がWord代わりにTeXを使うための最低限の設定などをまとめる
「必要性がないけど、ちょっと便利かも」というレベルのものを導入する際の最大の関心事は「今出来ることが新しい環境でも出来るかどうか」で、
もっと細かく言うと「新しいメリット」だけでは人を動かすには十分ではなく、「現状のメリットの保証」も必要であると思う。
何の話かというとTeXの話なのだけど、相変わらず大したこと無い話を小難しい話に持って行く奴である。
で。論文を書くのに(今更)本格的にTeXを使い始めてみたんだけどこれがすごい便利で。なんで今までWordを使っていたのか*1。いや導入が面倒くさそうだったからだし、実際面倒くさかったけど、それを補ってあまりある快適環境が出来ている。嬉しい。
改ページや図の挿入位置。自分でいちいち考えたり、追記して全部ごっそりズレたのを一つ一つ直す必要が無く、好き勝手に書いてコンパイルすれば、いい感じの位置に整えてくれる。賢い!加えて本体の.texはテキストなので軽いし、ちょっとした処理がやりやすい。ただ、やっぱりクセも問題もあるので、諸手を挙げて万人にオススメはできない。
このエントリの目的は「目前に迫った文書作成をWordで普通に作るのと遜色なく仕上げられるだけのTeX設定を押さえる」こと。
というわけで、導入メモと感想などを書いておく。無駄に画像とか使ってしまうのは凝り性。Hashのくだらないところで詰まるスキルには定評があるため初級的な内容となっております。失敗の方法はほぼ無数にあるので果たして誰かの役に立つかどうかわからないが。
ちなみに環境はMac OS X 10.5.8*2。すの☆れぱに更新したらまた環境をいじる必要があるかもしれない。
こんてんつ
インストールと環境
「TeX インストール Mac」とかでググればわかりやすい情報がたくさんある。ここはそんなに難しくないとおもう...が、インストール方法によって使えるパッケージや初期設定などが違ってくるようなので、僕の方法を簡単に書いておきます。
のふたつをダウンロード、インストール。それだけ。(MacPortsからでもインストール出来るらしい)
ちなみに使っているエディタはMacVimです。>id:sinxさん
とりあえず.texから.pdf
とりあえず環境が出来たら「.texから.pdfへ」を一通りやってみる。たとえば
\documentclass[11pt]{jsarticle} \title{たいとるです} \author{はっしゅ} \date{\today} \begin{document} \maketitle \section{せくしょんわん} \subsection{さぶせくしょん} 内容 \end{document}
こんな感じで"hoge.tex"というファイルを作成して
platex hoge.tex
というコマンドを実行。すると hoge.aux, hoge.dvi, hoge.log という新しいファイルが出来てくる。 さらに
dvipdfmx hoge.dvi
すれば hoge.pdf というファイルが出来る。これでとりあえず一連の流れはOK。
書類のレイアウト
ひととおり方法が分かって本文をちょっと書いてみると、いくつか気になる点が出てくる。たとえば「余白広すぎじゃね?」など。これを調整するには、プリアンブルに*4
\usepackage{geometry} \geometry{a4paper} \setlength{\textwidth}{\fullwidth} \setlength{\textheight}{23.5cm} \setlength{\voffset}{-2.5cm}
こんな感じで記入する。値を変えたりして好みのレイアウトにしてください。
目次が欲しい!
\begin{document} \maketitle
この下あたりにでも「\tableofcontents」と、一行追加すればいい。\section, \subsectionの内容を自動で目次にまとめてくれます。
改行したいんですが
改行は「\par」を追加する。そこで段落が区切られる。段落を変えずに改行したい時は「\\」。あるいは(.texで)2行以上の空行を空けると、改行として認識される。
その他
- ギリシャ文字を入れたい
- 上付き、下付き文字を書きたい
- 上付き「$x^{2}$」、下付き「$x_n$」「$A_{2,3}$」
jpgとかpngのままTeXに図を埋め込みたい
TeXでは図を使う時epsファイルにするんだけど、作った画像をjpgとかのままポコポコ突っ込みたいときちょっと面倒くさい、かもしれない。Wordみたいにドラッグ&ドロップで好きな位置に入れたい。そこまでの手軽さはないものの、graphicxパッケージでラクが出来る。とりぷる ぷぅ とか参考に。
まず作業ディレクトリに img などの画像ストックフォルダを作って、その中に使うファイルを突っ込んでおくと管理が楽だと思う。例としてnyoro.jpgという画像を埋め込んでみる。ここで忘れがちなポイントなのだが、img 内のnyoro.jpgに対して
ebb nyoro.jpg
という処理をしておく*5。すると同じフォルダにnyoro.bbというファイルが出来るが、これを作っておかないとエラーが出る。どうも画像サイズなどのデータが入っているみたい*6。
フォルダの準備ができたら、プリアンブルに
\usepackage[dvipdfm]{graphicx}
を記述する。 ちなみに[]内の記述はdvipdfmx(xがついてる)ではだめだった。
そして.tex中の図を入れたい箇所に
\begin{figure}[htbp] \centering \includegraphics[width=4cm]{img/nyoro.jpg} \caption{これは孔明の罠だ} \label{nyoro} \end{figure}
このように記入する。文中で「図ほげほげによれば...」とか言いたい時は、label値で引用してやる。画像で例を示す。
ここまでできたら、あとは
platex hoge.tex
dvipdfmx hoge.dvi
して、できたpdfを開いてみる。
画像が入っていますね。 出て来た順番に図1, 2...と番号を振ったり、画像が大きすぎるから改ページしてから図を入れようとか、そういった処理はTeXさんがよしなにやってくれます。
さらに進んで「図2(a)(b)」と複数の画像を一つの図として扱いたい場合、subfigureパッケージを使うといい。それぞれのsubfigureがlabel値を持つので、図2(a)とか(b)に対して個別に引用出来る*7。ここでは省略。
BibTeXによる参考文献の処理
そもそも今回TeXを使おうと思った一番の理由がこれ。
今までは参考文献は十数報かそこらだったけど、本格的に論文的なものを書き始めると軽く50を超える。それを逐一、整合性とって、重複も無くして、本文の順番に合わせて整列して...と手動でやるのは気が遠くなる。Word 2007にはReference機能が追加されたらしく、またEndnoteなどWordとの連繋をサポートしているソフトもあるのだけど、
まぁ話の流れ的にここでBibTeXですよ。
僕は前々から論文管理はBibtex形式でやってきたので(iBook時代はBibDesk、Windows時代はJabref、Macbookに戻って来た今もJabref)、ようやくメリットを最大限に生かせた感じだ。
- 参考:
BibTeXの何がおいしいかと言うと、.bibファイルにたとえばこんな形式で
論文データを溜めておく。個別に割り振られた赤字の記号をbibtex keyと言って、これを使って文中の好きな位置で\cite{hogehoge}とかやると...
最後に「参考文献」として文中で引用した文献をリストアップするんだけど、そのためにはdocument最後の方に「\bibliography{nanntoka.bib}」と「\bibliographystyle{plain}」などを埋め込めばOK。
ちなみにbibliographystyle{unsrt}にすると文中で引用された順に番号が振られるので、僕はこれを使っている。
シェルスクリプトで処理をまとめる
platexとかdvipdfmxとかややこしいし、BibTeXを使いだすとさらにめんどくさい。シェルスクリプトを書いてまとめる。僕は、いままで見て来た一連の流れに中間ファイルの削除やopen filename.pdfコマンドを加えて、次のようにしている。
#!/bin/sh platex filename((拡張子はなくてもいい)) bibtex filename platex filename platex filename dvipdfmx filename.dvi rm -rf filename.aux rm -rf filename.dvi rm -rf filename.blg rm -rf filename.bbl rm -rf filename.log rm -rf filename.toc open filename.pdf # もしくは open -a Skim.app filename.pdf など
これに適当にa.shとか名前をつけて保存し、chmod +x a.sh して実行権限を付けておいて、pdfを作りたい時実行するようにする。OMakeで自動コンパイルするようにするとさらに楽そうなんだけど、それはまた今度気が向いたら。
いじょ。
このへんの設定がわかりさえすれば、とりあえず1日くらいがんばれば最低限の文書作成はできるようになるんじゃないかと思うんだが、どうだろ。抜けがあったり、「ちょっとWordで出来るアレやりたいんだけどどうやるの」という突っ込みがあればよろしくお願いします(勉強にもなるので)(あまりマニアックな使い方は想定外)。
TeXのわるいところ
実際に使ってみて悪い所とか。
導入がめんどくさく、慣れるまで大変
有志によってpTeXなどのワンクリック型パッケージが用意されているとは言っても、そもそも導入から面倒くさい。仮に導入が終わっても、直感的に使えるドキュメントソフトと違って、ある程度文法の理解が必要になる。ググればいいんだけど、勝手が分かるまではストレス溜まると思う。
僕はどちらかというと出来ない人の側に近いと思うので、これは面倒くさいなぁとしみじみ思った。最初に行った通り、その分のメリットはあったんだけどね。
互換性が悪い
世の中のデファクトスタンダードはやはりMS Word。文書がWordで送られてくるのもザラだし、会社に入ったりするとまず使う機会はなさそうだ。役に立たないだろうと思う。
別に将来的な話に限らず、アカデミックな環境でも上司(教授やら助教)がTeXを使えないとどうしようもない。
今後やりたいこと
- プレゼン資料を作る時、Keynote/PPTの代わりにBeamerを使う
- OMakeでTeX自動コンパイル
syou先生とかhayamiz先生の背中を追いかけるなう。いやそもそも背中見えてないけど
*1:iWorkを入れてからは、「文書」であれば何でもOKであればWordよりぬるぬる動くPagesを使っていたけど
*2:研究が一段落したらSnow Leopardにアップグレード予定
*3:僕レベルになるとこの辺で既に詰まるのですよ自慢じゃないけど
*4:プリアンブルの意味はググってください
*5:大事なことなのでフォントで強調しました
*6:どうもplatexの段階で.bbファイルの値を元に「これだけの大きさのBoxを空けておけ」と指定してレイアウトを作り、その後のdvipdfmxで対応する画像を埋め込んでいるようだ
*7:このへんとか見るといいかも: [http://nlab.ee.tokushima-u.ac.jp/nlab/haruna/memo/TeX/TeXtips.html:title]
*8: 参考: [http://d.hatena.ne.jp/Hash/20090521/1242937683:title]