連載 / てくてく rIbX 32 持されていますから、数式番号を出力するコマンドは \theequation ということになります。 標準の article スタイルでの \theequation コマ ンドの定義は、次のようになっています。 \def\theequation{\arabic{equation}} 節番号を出力するコマンド \thesection を使って、 次のように \theequation コマンドを定義すれば、数 式番号に節番号も出力できます。 \def\theequation {\thesection. \arabic{equation}} でも、これだけだと equation カウンタの値は節番 号に関係なく 1 つずっ増えてしまいます。ですから、節 ごとに equation カウンタがリセットされるようにし なければなりません。 、、あるカウンタの値が増えると、別のカウンタがリセ ットされる " という状況は、以前にも出てきました。そ う、新しいカウンタを作成する \newcounter コマン ドを紹介したときです。 \nevcounter コマンドにオプ ション引数を指定すると、そのカウンタを親カウンタと して設定できるのでしたね。ところが、この場合はすで にカウンタが存在しているので、 \newcounter コマン ドは使用できません。 そんなときには、 latex. tex ファイルを覗き、 \new- c 。 te てコマンドの定義を見てみましよう。すると、カ ウンタの親子関係を設定するには、 \@addtoreset とい うコマンドを使えばよいということが分かります。 \@addtoreset コマンドは、次のように指定します。 \@addtoreset{child}{parent} こうしておけば、 2 佖れ t カウンタが増えたとき、同 時に c んカウンタの値もリセットされるようになりま す。 ただし、このコマンドは @( アットマーク ) を含む I ÉX の内部コマンドであることに注意してください。 つまり、このコマンドはスタイルファイルのなかでしか 使用できません。次のような内容のスタイルファイル を作成し、そのファイル名を入力ファイルの \docu- UNIX MAGAZINE 1992.8 mentstyle コマンドのオプション引数に指定するよう にしてください。 \@addtoreset{equation}{section} \def\theequation {\thesection. \arabic{equation}} 次のように、 \makeatletter と \makeatother コ マンドを使って入力ファイルのなかで設定することもで きますが、なるべくならスタイルファイルにしておくは うがよいでしよう。 \makeatletter \@addtoreset{equation}{section} \def\theequation {\thesection. \arabic{equation}} \makeatother \ secti 。 n { 最初のセクション } 数式番号のなかに、節番号が含まれるように なります。 \begin{equation} Z = X 十 y \end{equation} 1. 最初のセクション 数式番号のなかに、節番号が含まれるようになりま す。 2 = 十リ 2. ふたつめのセクション ( 1 ・ 1 ) 節が変わると、 equation カウンタがリセットされる ようになっています。 2 ( 2 ・ 1 ) Q6 : いのマニュアルのように、ヘッダ部分に下 線を引きたいのですか、どうすればよいでしようか ? A : の標準のスタイルファイルでは、 empty 、 plain 、 headings 、 myheadings という 4 つのページ スタイルが用意されています。しかし、これらのページ スタイルだけでは不十分ですし、 INIV;X のマニュアルで 使用しているべージスタイルがこのなかに含まれていな いのは、ちょっと不思議な気もします。 145
連載 / てくてく 32 や supertabular. sty など、表の途中で改ページがで きるマクロがいくつかあります。 こでは、 TabuIa て . sty を紹介しましよう。スタイ ルオプションとして Tabu1ar を指定すると、 Tabu1ar 環境が使えるようになります。この環境の使い方は簡単 で、 tabular 環境と同しです。ただし、べースラインを 指定するオプション引数はなく、かならす環境の前で改 行され、表全体をセンタリングして出力するようになっ \end{TabuIar} \begin{Tabu1ar}{ ... } たとえば、 ています。 とすると、次のように指定したのと同し意味になりま \end{center} \end{tabular} \begin{tabular}{ ・ .. } \begin{center} す。 144 段組も自由に組み合わせて使用することができます。 かから生まれた便利なスタイルファイルで、 2 段組も 3 れています。 multicol ・ sty は、この new い kX のな 進められている new には、この機能力繖り込ま ドイツの Frank MitteIbach 氏を中心に作成作業が と思う人は多いでしよう。 しかし、ページの途中でも 2 段抜きができないものか 列は新しいページの先頭に 2 段抜きで組版されます。 はオプション引数が 1 つあって、そこに指定された文字 で始めるコマンドです。この \twocolumn コマンドに が指定された箇所で改ページし、新しいページを 2 段組 A : いの \ t ocolum Ⅱコマンドは、このコマンド にすることはできませんか ? Q4 : 2 段組の文書を書くとき、見出しだけを 2 段抜き てください。 Tabu1ar. sty を WEnet から手に入れて、試してみ multicol. sty ファイルを WEnet などから手に入 れ、スタイルオプションとして指定してください。これ で multicols 環境が使用できるようになります。 mul- ticols 環境の引数には、何段に分割するかを指定し ます。 \begin{mu1tic01s}{2} ページの先頭が 2 段組になっている場合でも、 ページの途中で 1 段にすることがてきます。 \end{multicols} こからは、 1 段組になっています。 \begin{mu1tic01sH3} [\section{3 段抜き } ] また、オプション引数を利用すれば、 2 段抜き、あるいは 3 段抜きのタイトルなど が出力できます。 \end{multicols} ページの先頭が 2 段 組になっている場合で も、ページの途中で 1 段 にすることができます。 こからは、 1 段組になっています。 1 3 段抜き また、オプ ション引数を利 用すれは、 2 段 抜き、あるいはカできます。 3 段抜きのタイ トルなどが出 multicol . sty には、カラム間のスペースやそこに 線を引いたりするためのパラメータも用意されていま す。 multicol. sty の使用方法については、 multi- col. doc というファイルに詳しく説明されています。 おもしろいことに、 mult i C01. t ex ファイルに対して IMbX を実行すると、 multicol. doc のコメント部分 がドキュメントとして出力されるようになっています。 Q5 : article ドキュメントスタイルを使っています が、数式番号に節番号を組み入れるにはどうしたらよい のでしようか ? A : article スタイルで equation 環境を使うと、 ( 1 ) 、②、 . という数式番号が出力されます。これを 変更して、第 1 節では ( 1.1 ) 、 ( 1 ・ 2 ) 、 、第 2 節で は ( 2.1 ) 、 ( 2.2 ) 、 ... のように出力するようにしたいの ですね ? 数式番号は、 equation という名則のカウンタに保 UNIX MAGAZINE 1992.8
連載 / てくてく rIbX 32 むファイルの内容の前後に改ページか挿入されたのと同 し処理をします。つまり、 \include{filename} は、次 の指定と同し意味になります。 \clearpage\input{filename}\clearpage \include は、 \includeonly というコマンドと一緒 に使うと、とても便利なのです。たとえは、メインの入 カファイルを次のようにします。 \include{titlepage} % \begin{document} \documentstyle{jbook} \include{toc} \include{preface} \include{chapl} \inc1ude{chap2} \include{index} \include{post} \end{document} タイトルページ % 目次、表目次、図目次 % はじめに % 概要 % 起動と終了 % 索引 % 奥付 まず、このまま I を実行してみてください。そ の後、カレントディレクトリを見てみると、 \ include コマンドに指定した入力ファイルごとに aux ファイルが 作成されていることが分かります。それ以外は、 \input コマンドを使用したときと同しです。 次にプリアンプル部分、つまり \begin{document} の前に次のような 1 行を加えます。 \documentstyle{jbook} \includeonly{chapl} \begin{document} \include{titlepage} \include{toc} \include{preface} \include{chapl} \inc1ude{chap2} % タイトルページ % 目次、表目次、図目次 % はじめに % 概要 % 起動と終了 この行を加える こでもう 1 度を実行すると、 chapl ・ tex フ ァイルだけか読み込まれるようになります。これじゃ、 \ i Ⅱ put コマンドを使って第 2 章以降をコメントアウト したのと同しだって ? それでは、第 4 章 (chap4 ・ tex) と第 7 章 (chap7. tex) だけを読み込むようにしてみま しよう。 \includeonly コマンドに 2 つ以上のファイ UNIX MAGAZINE 1992.8 ルを指定するときには、引数にファイル名を , ( カンマ ) で区切って列挙します。あいだに空白文字を挿入しない ように注意してくださいね。 \inc1udeon1y{chap4 , chap7} これでいを実行して出力を見ると、ちゃんと章 番号が 4 と 7 になっているはすです。 \include コマンドを使うと、 \includeonly に指 定されたファイルの内容だけか読み込まれるのですが、 \begin{document} や \end{document} コマンドでは すべての aux ファイルを読み込みます。 aux ファイル には相互参照などの情報か書き込まれていますし、章番 号、ページ番号などのカウンタの値がそのファイルを読 み込んだときと同し状態になるようにしています。だか ら、 I EX で処理するファイルは一部だけでも、相互参 照、目次、カウンタの値などは、全体に対して I を 実行したのと同じ結果になるのです。 Q3 : 作成している文書のなかに、大きな表が出てきま す。 tabular 環境の途中で改ページをすることはでき ないのでしようか ? A : tabular 環境では、 1 つの環境全体で 1 つのポッ クスを形成しているので、 tabul 矼環境で表を作成する と、表の途中での改ページができません。したがって、 複数ベージにわたる大きな表を作成するときには、みん な苦労しているのです。 罫線のない表を作成するときには、 tabbing 環境を 利用したり、 description 環境をすこし改良して、表 のような出力にすることもできます。 tabbing 環境に ついては Lamport 氏の本 1 を読んでください。また、 description 環境の応用例は、前回 ( 本誌 1992 年 3 月号 ) の説明を参考にしてください。 でも、どうしても表の罫線が必要な場合には、ページ の収まり具合を調べながら、いくつかの tabular 環境 に分割していかなければなりません。ただ、世界中に同 様な悩みを抱えた人たちがいるようで、 Tabu1ar ・ sty 1 Leslie Lamport, "The I*TEX Document Preparation System ” , Addison-WesIey, 1986 ( 邦訳 : 「文書処理システム アスキー ) 143