ブログトップ 記事一覧 ログイン 無料ブログ開設

ミームの死骸を待ちながら このページをアンテナに追加 RSSフィード

We are built as gene machines and cultured as meme machines, but we have the power to turn against our creators.
We, alone on earth, can rebel against the tyranny of the selfish replicators. - Richard Dawkins "Selfish Gene"

Add to Google Subscribe with livedoor Reader はてなRSSに追加

Sep 14(Mon), 2009

初心者がWord代わりにTeXを使うための最低限の設定などをまとめる


「必要性がないけど、ちょっと便利かも」というレベルのものを導入する際の最大の関心事は「今出来ることが新しい環境でも出来るかどうか」で、

もっと細かく言うと「新しいメリット」だけでは人を動かすには十分ではなく、「現状のメリット保証」も必要であると思う。

何の話かというとTeXの話なのだけど、相変わらず大したこと無い話を小難しい話に持って行く奴である。


で。論文を書くのに(今更)本格的にTeXを使い始めてみたんだけどこれがすごい便利で。なんで今までWordを使っていたのか*1。いや導入が面倒くさそうだったからだし、実際面倒くさかったけど、それを補ってあまりある快適環境が出来ている。嬉しい。

改ページや図の挿入位置。自分でいちいち考えたり、追記して全部ごっそりズレたのを一つ一つ直す必要が無く、好き勝手に書いてコンパイルすれば、いい感じの位置に整えてくれる。賢い!加えて本体の.texテキストなので軽いし、ちょっとした処理がやりやすい。ただ、やっぱりクセも問題もあるので、諸手を挙げて万人にオススメはできない。


このエントリ目的「目前に迫った文書作成をWord普通に作るのと遜色なく仕上げられるだけのTeX設定を押さえる」こと。

というわけで、導入メモ感想などを書いておく。無駄画像とか使ってしまうのは凝り性。Hashのくだらないところで詰まるスキルには定評があるため初級的な内容となっております。失敗の方法はほぼ無数にあるので果たして誰かの役に立つかどうかわからないが。

ちなみに環境Mac OS X 10.5.8*2。すの☆れぱに更新したらまた環境をいじる必要があるかもしれない。



こんてんつ


インストール


JIS X0212 for pTeXから落としたりするんだが...「TeX インストール Mac」とかでググればわかりやすい情報がたくさんあるので、省略します。ここはそんなに難しくないとおもう。


とりあえず.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。



ここまでで詰まるとしたら*3


書類のレイアウト


ひととおり方法が分かって本文をちょっと書いてみると、いくつか気になる点が出てくる。たとえば「余白広すぎじゃね?」など。これを調整するには、プリアンブルに*4


\usepackage{geometry}
\geometry{a4paper}

\setlength{\textwidth}{\fullwidth}
\setlength{\textheight}{23.5cm}
\setlength{\voffset}{-2.5cm}

こんな感じで記入する。値を変えたりして好みのレイアウトにしてください。


目次が欲しい!
\begin{document}
\maketitle

この下あたりにでも「\tableofcontents」と、一行追加すればいい。\section, \subsectionの内容を自動で目次にまとめてくれます。


改行したいんですが

改行は「\par」を追加する。そこで段落が区切られる。段落を変えずに改行したい時は「\\」。



jpgとかpngのままTeXに図を埋め込みたい


TeXでは図を使う時epsファイルにするんだけど、作った画像jpgとかのままポコポコ突っ込みたいときちょっと面倒くさい、かもしれない。Wordみたいにドラッグドロップで好きな位置に入れたい。そこまでの手軽さはないものの、graphicxパッケージでラクが出来る。png 画像を埋め込む - とりぷる ぷぅ とか参考に。

まず作業ディレクトリに 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値で引用してやる。画像で例を示す。

http://img.skitch.com/20090914-p4ksamqe5uy7kgj47m3c53u2ee.jpg

ここまでできたら、あとは

platex hoge.tex

dvipdfmx hoge.dvi

して、できたpdfを開いてみる。


http://img.skitch.com/20090914-fg43fhsyuuh6nxxmsh6e9htx7x.jpg


画像が入っていますね。 出て来た順番に図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ファイルにたとえばこんな形式で

http://img.skitch.com/20090914-g8ab8qahcxkrwmxyi44x55b8tm.jpg


論文データを溜めておく。個別に割り振られた赤字の記号をbibtex keyと言って、これを使って文中の好きな位置で\cite{hogehoge}とかやると...

http://img.skitch.com/20090914-d4bt6jrmybidtxrwgyqtxk13tj.jpg


pdfにした時、自動で番号が振られる。

http://img.skitch.com/20090914-ets131kxgcckh1hrbgrggmn6cr.jpg


最後に「参考文献」として文中で引用した文献をリストアップするんだけど、そのためにはdocument最後の方に「\bibliography{nanntoka.bib}」と「\bibliographystyle{plain}」などを埋め込めばOK。

http://img.skitch.com/20090914-g4cj8yfwku6qewh7kcgii66c5p.jpg


ちなみにbibliographystyle{unsrt}にすると文中で引用された順に番号が振られるので、僕はこれを使っている。


BIBINPUTSを設定する

環境変数BIBINPUTSは、読みに行くべき.bibファイルの位置をBibTeXに知らせるもので、ここを設定しないと.bibファイルをちゃんと読んでくれない。研究室Windowsと普段使いのMacbook論文データを同期させるためにDropBoxフォルダに入れている。*8

なので、~/.profile

export BIBINPUTS=/Users/thash/Dropbox/papers/

と記入している。ただTerminal終了させたりOS再起動するとリセットされる。あれれ。.zshrcとかの方がいいのかな。


コンパイル

BibTeXを使ったときはコンパイルが多少面倒になって、

platex filename

bibtex filename

platex filename

platex filename

dvipdfmx filename.dvi

の順となる。理由は良く知らない。



シェルスクリプトで処理をまとめる


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を使えないとどうしようもない。



今後やりたいこと


syou先生とかhayamiz先生の背中を追いかけるなう。いやそもそも背中見えてないけど

*1iWorkを入れてからは、「文書」であれば何でもOKであればWordよりぬるぬる動くPagesを使っていたけど

*2研究が一段落したらSnow Leopardアップグレード予定

*3:僕レベルになるとこの辺で既に詰まるのですよ自慢じゃないけど

*4プリアンブルの意味はググってください

*5:大事なことなのでフォントで強調しました

*6:どうもplatexの段階で.bbファイルの値を元に「これだけの大きさのBoxを空けておけ」と指定してレイアウトを作り、その後のdvipdfmxで対応する画像を埋め込んでいるようだ

*7:このへんとか見るといいかも: LaTeXに関する色々

*8: 参考: Mac/Windows/Linux併用して研究する人は「JabRef+Dropbox」で論文管理するといい - ミームの死骸を待ちながら

next49next49 2009/09/15 12:09 こんにちは、dvipdf, dvipdfm, dvipdfmxの違いについてまとめたことが
ありますのでそのエントリーをご紹介します。
http://d.hatena.ne.jp/next49/20080123/p1

junnya188junnya188 2009/09/15 13:43 タイムリーなエントリーです!
昨日TeXで困ってたことがありまして、コンパイルしてdviで見たら画像が表示されるんですけど、pdf化すると表示されなくなってしまうんですよね。
dvi→pdfにする際に何かトラブルが起きているのではないかと思います。先輩の環境で同じようにpdf化したら、そっちは表示されたんですよね。
でもどこをどう直していいのか、何をインストールし直せばわからない状況です…。
ちなみにEasyTeXを使っています。

spilejamspilejam 2009/09/15 14:32 こんにちは。TeXに関しては、エディタの入力支援機能を使うことをお勧めします。EmacsですとAuCTeXとかyatexと呼ばれているものです。エディタの支援機能を使うことでコマンドをより直観的に使うことができると思います。あと、bibtexを使わないときにもlabelやciteを含む文章をコンパイルするときは、二回platexをする必要があります。一回目は、位置のマーク、二回目で関連付けということになっているので二回コンパイルが必要です。そこらへんは、コンパイル時のメッセージを読むとわかると思います。あと、使用しているパッケージによって使える使えないがあるので、少なくともどのように入れたのか、環境はどういうものかを記入したほうがより親切かと思います。

keijirkeijir 2009/09/15 15:59 latexmk っていう perl のスクリプトが便利です
platex platex とかを判別して必要回数してくれる.

moikaimoikai 2009/09/15 19:52 失礼します。mi や CotEditor で設定しておくと、ファイルのD&Dだけで
\includegraphics[bb=0 0 400 300]{hoge.pdf}
とか入れてくれます。
これだと bbファイルは不要ですので気になる方はお試しください。

untitleduntitled 2009/09/16 00:50 こんにちは。私もJabRef使ってますが、最近、Mendeley(http://www.mendeley.com/)もいいなと思ってます。まだまだ機能に不満がありますが、開発が活発なので今後に期待しております。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Hash/20090914/word2tex
おとなり日記