研究室でTeXを使う人が増えてきたので、少し書いてみる。
この文章は、TeXの文法や、具体的に使う方法を解説するものではない。その ような情報は、web上でいくらでも入手できる。
ここで解説するのは、戦略と、いくつかのTipsである。これを読めば、真の TeXnicianになれるわけではないにしても、そこへ到る道標を得ることができ るだろう。
分からない言葉があっても雰囲気だけ捉えてくれればよい。TeXを書くための 最低限の知識さえあれば、理解出来るように書いているつもりである。
なお、ここでは、TeXの中でも、主にLaTeXについて語る。今どき、plain TeX を使う人は、なかなかいないだろうし、使う必要が出てくるのは、真の TeXnicianに近づいてからのことであるから。
TeX初心者が陥りやすい罠のひとつは、自分の好みのレイアウトにしようとす る努力である。もちろん、TeXの表現能力はかなり高く、大抵のレイアウトは 実現可能である。しかし、好みのレイアウトにしようと思うと、かなりの努力 が必要になることが少なくない。何故か?
そもそもTeXは、写植の自動化を目指して作られたシステムである。そのため に、細かいレイアウトを考える必要性をできるだけ軽減するように作られてい る。ワードプロセッサとは、根本的な設計思想が異るのである。
TeXでは、レイアウトを可能な限りTeX任せにするのが正しい。その方が、自分 の好みよりも標準的な仕様に近くなる。レイアウトではなく、内容で勝負する 文章になるのである。
では、何に気をつけて書けばよいのだろうか?
LaTeXが開発された最も大きな動機はTeXの可読性を高めることである。そのた めに、LaTeXは、論理構造による記述を重視している。そういった面では、 SGML (Standard Generalized Markup Language) の思想に近い。レイアウトや 字体や字の大きさを指定するのではなく、その言葉がその文章の中でどのよう な役割を示しているかを指定するのである。
例えば、「字を大きくして太字にして節番号をつける」という指定をするより も、\sectionコマンドを使うのが、LaTeX的には正しい。「変数は斜体にして 数字は立体にする」と指定するよりも、数式モード (文中なら`$'で囲む。別 行ならequation等の数式環境) で書くのが正しい。数式番号を直接書くのでは なく、\ref (AMS-LaTeXでは\eqref) で参照すべきである。文献番号は\citeか \citenで引用するのが正しい。
要は、「どう表示するか」ではなく「何を書くか」に集中すればよいのである。
もちろん、字体の指定が必要な場合もある。「et al.」を斜体にしたり、論文 雑誌の巻番号を太字にしたりするのは、人間が指定しなければならない。数式 中の添字を立体にする必要があるときは、\mathrmなどのコマンドを使う。
そういった、少数の例外を除けば、表示ではなく内容に集中すべきである。
そうは言っても、レイアウト等にこだわりたいときはある。そういったときは、 どうしたらよいのであろうか?
論文雑誌に投稿するときは、中途半端なこだわりを捨てることを勧める。雑誌 によっては規格外のマクロを嫌がる場合もあるし、自分なりにこだわったとこ ろで編集するのは先方である。標準的に出来る範囲内で工夫するしかない。
しかし、自分用のメモや、卒論のようの場合は、そのような制限はない。好き に工夫すればよい。
そういったときには、まず、書籍や知人の知識やネット上の情報に頼るのがよ い。「車輪の再発明」は避けるべきである。あなたが悩むことの大部分は、誰 かが悩み、解決したことである。大抵は、標準的なクラスでカタがつき、そう でなくても、CTANなどの標準的なサイトから導入できる。あるいは、個人的に 作った、その場限りのマクロに出会うときもある。
調べても見つからないとき、あるいは見つかった情報に満足できないときは、 自分でマクロを作るのがよい。TeXは、潜在的には、無限の表現力を持ってい る。印刷可能なことでTeXに表現できないことは無いと言ってよい。ただ、場 合によって面倒なだけである。
自分なりのマクロを定義するのは、\newcommandというマクロである。既存の マクロを再定義するのは、\renewcommandである。細かい設定をするときは、 plain TeXの知識が必要になることもあるが、他人のマクロを参考にすれば大抵 は解決できる。
全体的な余白等を調整するには、プリアンブルで、\setlengthや\addtolength で、種々の長さを調整するとよい。よく調整する長さは、\topmargin、 \textheight、\textwidth、\oddsidemargin、\evensidemarginなどである。意 味は、名前から明らかではあるが、分からなければ、調べるか、少し大袈裟に 設定してみるとよい。
もちろん、それだけの労力を費す価値があるかどうかの判断はすべきである。 無駄な努力をしても、疲れるだけである。
ライティング・スタイルは、好みによる部分があるから、参考程度に読んで欲 しい。
数式には、基本的に、数式番号をつけておくべきである。後で参照しない式で も、番号をつけておいた方が、読む人の助けになる。
節や式、図、表にはラベルをつけておくとよい。当初は参照しない予定であっ ても、後で参照したくなるかもしれない。また、適切なラベルをつけることは、 その項目の意義をちゃんと考えることにもつながる。数式における\labelコマ ンドは、先頭につけておくのが筆者の好みであるが、最後につける人も多い。 いずれにしても、一つの文書の中では、書き方を統一するべきである。
式のラベルの先頭にeq:をつけたり、節のラベルの先頭にsec:をつけたりする 流儀がある。それほど一般的ではないかもしれないが、文中で統一しておけば 便利かもしれない。この流儀でいけば、図のラベルにはfig:、表のラベルには tab:をつけることになる。
長さの設定は、相対的な単位にする方がよい。フォントの大きさに依存する、 emやexのような単位や、\textwidthや\baselineskipのような文書スタイルに 依存する長さで指定するのである。例えば、0.5\textwidthのような書き方が できる。そうしておけば、フォントの大きさを変えたり、文書スタイルを変え たりした場合にも、自動的に適応できる。
数式中の+や-は、符号として使う場合と加減算として使う場合では、空白の取 り方が違う。行の先頭が+や-のときは、その前に、{}や\quadなどを入れると 加減算として扱ってくれる。({}と\quadでは出力結果は違う。何故か?)
添字は、一文字でも{}でブロック化しておくとよい。そうすれば、添字を二文 字以上にしたときにミスしないで済む。
文中の数式や、分数の中、配列の中などで、積分記号等が小さくなったり、和 の記号の上下限の位置が変になるときがある。それがいやなら、該当部分を \displaystyleにするとよい。
AMS-LaTeXは アメリカ数学会 (American Mathematical Society) によって開 発されたパッケージおよびクラスファイルである。数式を使うときは、便利で ある。プリアンブルに、
\usepackage{amsmath}
\usepackage{amssymb}
の二行を書くのが標準的である。JPSJのクラスでは、自動的に読み込んでいる。
AMS-LaTeXを使っているときは、複数の数式をまとめて書くときに、eqnarray 環境の代わりにalign環境を使うとよい。空白のバランスがよいし、いろいろ 小細工がやりやすい。複数行の数式で一つの数式番号をつける場合は、split 環境を併用する。
また、amssymbを使うと、記号の表現力が大きく上がる。
その他、AMS-LaTeXの便利な使い方は、ネット上にいくらでもころがっている。
ベクトルを表わす記号は斜体の太字が標準であるが、標準的なLaTeXで書こう とすると、何故かややこしい。
JPSJのクラスを使うときは、\mibというコマンドを使える。
そうでないときは、\usepackage{bm}でbmパッケージを読み込めば、\bmで実現 できる。ついでに、プリアンブルで\newcommand{\mib}[1]{\bm{#1}}とでもし ておくと、\mibに統一できるので、JPSJ投稿用と、ソースの使い回しができる。 (他の雑誌の場合は知らない)
TeXで図を使うときは、eps形式が標準であるが、他の多くの形式も使える。他 の形式では、多少の工夫が必要な場合もある。
(TeXに限らず) 論文用の図は、ビットマップよりも、スケーラブルな形式がよ い、ということがよく言われている。それは一体、どういう意味だろうか?
描画ソフトには、ペイント系とドロー系がある。前者は、図の情報を一点ごと の色の情報としてストックする。後者は、図の情報を、座標と形で覚えている。
同様に、保存形式にも、ビットマップ形式とスケーラブルな形式がある。例え ば、jpgやgifは、前者である。一方、ps、eps、pdfなどは、どちらの形式も可 能である。
区別をするには、拡大表示してみればよい。ビットマップだと、斜めの線がガ タガタになり、スケーラブルだと、どれだけ拡大しても滑らかさが保たれる。 まさにそのような性質が、刷り上がりの大きさが原稿とは違うような論文原稿 に向いているのである。
描画ソフトは、psもしくはepsに直接対応しているものを使うとよい。そうで ない場合は、一度ビットマップ形式になっていれば、その後どんな変換をして もビットマップ形式のままである。
やむをえずビットマップ形式を使う場合は、原図を充分に大きく書くとよい。 半分以下に縮小するのなら、ビットマップでも滑らかになる。
自分用の資料を書くときは、文中にその文書のファイル名を入れておくと便利 である。TeXでは、\jobnameというコマンドで、ファイル名から拡張子を除い た文字列が得られる。例えば、\newcommand{\filename}{{\tt \jobname.tex}} とでもしておけば、容易にファイル名を入れられる。
パワーポイントでプレゼンする代わりに、TeXで書いたものを使うことができ る。例えば、\documentclass[landscape]{slides}のように、A4用紙横置で大 きな字で書いておいて、結果をpdfに変換するのである。Acrobat Readerの全 画面表示を使えば、見かけはパワーポイントとあまり変わらない。
アニメーションを除けば、パワーポイントとほぼ同等のことができる上に、数 式は圧倒的に美しい。工夫次第では、擬似アニメーション程度のことはできる。
TeXで論文等を書く際の一般的な注意といくつかのTipsを述べてきた。
ここで述べたことは、全て私見である。このような考え方があるということを 知った上で、自分なりの工夫をして欲しい。