大信田 丈志
作成: 2001-11-09 / 更新: 2002-01-30 / 微更新: 2005-07-16
以下の内容は、間違っているかもしれません。 自己責任で利用してください。 また、マクロや「おまじない」については、 基本的にpLaTeXを想定しています(昔のLaTeXだと動かないかもしれません)。
[「大工道具」のページへ] [ホームページに戻る]
もともとの TeX (あるいは plain TeX)と 今のLaTeXとでは、 設計思想に非常に大きな違いがある。 そもそも、最初にTeXを作ったのが 「GOTO擁護論」で知られる D. Knuth であることから分かるように、 plain TeX というのは、少なくとも
FORTRAN77みたいな旧式言語でも 「きれいなプログラム」を書ける能力のある人すなわち「弘法、筆を選ばず」の境地に達した人にしか 使えない代物なのだ。 これではあんまりだ、ということで、その後で登場したLaTeXには、 きれいに構造化されたコードを書くための仕組みが いろいろと備わっている。 それにもかかわらず、 それらの仕組みを全く無視したTeXコードが 先輩から後輩へと伝授され続けているのは、非常になげかわしい。
LaTeXには、
\begin{なんとか}
.. \end{なんとか}
という構文があって、
これを「環境」という。
一例を挙げると、
たとえば
\begin{equation}
.. \end{equation}
という
「数式(equation)環境」を利用することで、
数式の前後は自動的に改行され、字下げが自動的におこなわれ、
さらに式番号まで自動でつく。 これは大変便利な機構である。
このような便利な機構があるのに、
すべての数式を $
と
\\
と \hspace
で
入力しようとする学生がいたりする。
まあ、TeXの本を見て独学する人は、往々にして、
こういうへんな技のほうを先におぼえてしまったりするのだが、
これは過去の遺物なので、やめたほうがいい。
環境(\begin{なんとか}
.. \end{なんとか}
)で
処理できる部分は、環境を使うべきだ。
\section
コマンド見出しを書くのに次のようなことをする人をよく見かけるが、 こういう書き方も、はっきり言って、過去の遺物である:
\par \smallskip \par \leftline{{\bf 3. 結果と考察}} \par
こんなことはせずに、\section
コマンドを使おう:
\section{結果と考察}
番号はLaTeXが自動的につけてくれる。
また、\section
コマンドを使うと、
\tableofcontents
コマンドと連携して目次を自動生成したり、
ちょっとしたマクロを書いて数式番号を章番号に連動させたりできるという
ご利益がある。
しかし、このようなご利益があるにもかかわらず、
「\section
コマンドを使うと 字の大きさや行間の空きが
大きくなりすぎるからいやだ」という不満をもつ人がいる。
このような場合の対処法は、LaTeXファイルの冒頭(ふつうは
\begin{document}
の直前)に、
以下のような「おまじない」を書いて
\section
コマンドを再定義することだ:
\makeatletter % --- 「おまじないモード」に入る \renewcommand{\section}{% \@startsection{section}{1}{\z@}% {0.8\Cvs \@plus.0\Cdp \@minus.2\Cdp}% 上の空き {0.5\Cvs \@plus.1\Cdp \@minus.3\Cdp}% 下の空き {\reset@font\large\bfseries}}% 字の大きさ \makeatother % --- 「おまじないモード」から抜ける
ここの数字や文字サイズを適当に変えることにより、
すべての見出しのデザインが連動していっせいに変わる。
このことからも\section
コマンドを使うことの利点が分かるだろう。
さて、ここで「おまじない」と言っているのは
@
のついたマクロ(コマンド)
のことである。
上記の例では \@startsection
という「おまじない」を呼び出して
\section
コマンドの再定義をおこなっている。
この「おまじない」に関する説明は、
私のマシンだと(他の人の場合でもきっと同じだと思う)、
/.../texmf/tex/platex/base/jclasses.dtx
に用意されている。
LaTeXコンパイル時のメッセージをよく見ると、
「なんとか.cls
」「なんとか.sty
」というファイルを
読み込んでいるのが分かるだろう。
前者を「クラスファイル」、後者を「スタイルファイル」と言って、
いずれも「おまじない」の固まりである。
これらのファイルを読みこなすことにより、
しだいに自分で「おまじない」が使いこなせるようになっていく(はずだ)。
で、大切なことは、本文中 (\begin{document}
から下) には、
原則として \section
コマンドのような
標準的なコマンドだけを利用し、
字の大きさとか行間の空きとかいった詳細を
本文中に直接書くことは避ける、という点である。
こういう詳細をいじりたいときには --- 特に「見出し」とか
「箇条書き」のように何度も繰り返して現われるものについては ---
本文に書いたり plain TeX 的な手法に走ったりせず、
「おまじない」に任せるべきなのだ。
「おまじない」の使い手となることを志す人には、ぜひ
『pLaTeX初級リファレンス』 暗黒通信団という本を入手されることを勧める。 非常に役に立つこと うけあいである。 他方、自力で「おまじない」を使いこなせなくても、 誰かが開発した「おまじない」の数々が マクロ集やスタイルファイル(
ISBN4-87310-080-1 (1500円)
なんとか.sty
)としてまとめられ、
世の中のあちこちに出回っているので、
必要に応じてそれらを入手して利用するのも良いだろう。
[ページ冒頭に戻る] [「大工道具」のページへ] [ホームページに戻る]
最も単純には \baselineskip
を変更するだけでよい:
\begin{document} \addtolength{\baselineskip}{0.5cm} ... \end{document}
注意: \begin{document}
よりも前に
\baselineskip
を変更しても 無効となる。
上記の方法だと、文書全体の \baselineskip
が変わってしまい、
表組みや図などに悪影響が出ることがある。
そのような場合は、環境を利用するのがよい:
\newenvironment{添削用}{\addtolength{\baselineskip}{0.5cm}}{\relax} \begin{添削用} ... \end{添削用}
これで、
\begin{添削用}
〜 \end{添削用}
の部分だけ
行間が広くなる。
ついでながら、REVTeXの場合は こんな小細工をせず、 所定のスタイル指定を利用するほうが良い。
[ページ冒頭に戻る] [「大工道具」のページへ] [ホームページに戻る]
自己責任でお使いください。 また、pLaTeXを想定しています(昔のLaTeXだと動かないかもしれません)。
Mule(+YaTeX)でLaTeXソースを編集するときに役立つLispプログラムも 作ってみました。
M-x load-file
[Enter]
を用いて読み込む(ファイル名はTab補完で入力できる)。
すると、YaTeXモードにアウトラインモード(outline-minor-mode)が
プラスされ、さらに
見出し以外のテキストがすべて畳まれた状態になる。
%[ ]*===*
」も見出しの一種として認識するので、
\begin{document}
の直後や
\end{document}
の直前に
% ============================
のような行を入れておいたり、
書きかけの行の直後に
% === 2001-12-25: ここまで ===
などと入れておくと便利かもしれない。
[ページ冒頭に戻る] [「大工道具」のページへ] [ホームページに戻る]