4.もっと長い文書を書く

4.1.ドキュメントクラス

TeXのソースを書くときは、まずはじめにドキュメントクラスを指定します。各クラスは用途別になっています。このドキュメントクラスを指定するには、miのツールメニュー「ツール > H ヘッダ」以下から選択するだけです。

上の図では和文の論文・レポート用ドキュメントクラス「jarticle」で用紙サイズ「a4j(A4 判)」を指定しています。

4.2.章立てを行う

長い文章を書く場合章立てを行いますが、章立てはドキュメントファイルに依存します。例えば、「章(chapter)」は「report」クラスでは使用できません。

メニューの「ツール > C 章・節 > S section」を選択するとドキュメントの現在の挿入位置に

\section{}

が入力されます。また、ツールを実行するときにドキュメントの文字列を選択している状態では

\section{選択されていた文字列}

が入力されます。

4.3.ジャンプメニュー

章立てを行いながら長い文章を書いていくと、自分が今どの章のどの節を書いているのか確認したいことがあります。そのときは、ドキュメントウインドウの左下を見ると、現在の挿入位置のある章(または節)が表示されています。

また、別の章や節の編集を行いたいときは、メニューの「ジャンプ」をクリックすると各章、節のタイトルが表示されるので、目標のタイトルを選択してクリックすると、その章、または節に移動しタイトルが選択状態になります。このジャンプメニューの内容は、章立てが行われているときだけ表示されます。

さらに、miには「現在場所表示ボタン」が装備されており、先述の表示部分がそのボタンになっています。クリックすると「ジャンプダイアログ」が表示されるので、移動したい場所のタイトルを選択して「OK」ボタンをクリックして下さい。ジャンプメニューを選択したときと同じように選択されます。

4.4.ソースの分割

一つの章が何十ページにもなる長い文書の場合、章ごとにファイルを分けた方が楽です。LaTeXで処理するにはそれらのファイルを一つのファイルにまとめて読み込むようにします。miではこのファイルを「ParentFile」と呼びます。ParentFileといっても単に親なのではなくて、大親分と考えて下さい。TeXが処理するのは、常にこのParentFileに対してです。

では、具体的に見ていくと、ParentFileのファイル名が「main.tex」だとします。このファイルと同じフォルダにファイル名「joron.tex」という第1章のファイルがあるとき、ParentFile

\include{joron}

とした部分に「joron.tex」の内容が読み込まれて処理されます。つまり、ParentFileの内容が

\documentclass{jbook}
\begin{document}
\include{joron}
\include{honron}
\include{keturon}
\end{document}

で「joron.tex」の内容が

\chapter{序論}
本書は……について書いたものである。……

だったとしたら、内容が

\documentclass{jbook}
\begin{document}
\chapter{序論}
本書は……について書いたものである。……
\clearpage
\end{document}

というファイルを書いたこと同じです。たぶん。

4.5.ParentFileの設定

TeXでの処理についてですが、ParentFileを最前面に開いた状態で、メニューからいつも通り「ツール > X pTeX on MacOSX > S コンパイル&プレビュー」を実行するだけです。けれども、実際の作業を考えると編集しているのは第1章のファイルなのですから、いちいちParentFileを開いてParentFileを最前面にもってきてツールを実行するのは面倒です。そこで、miには「ParentFileを設定する」というツールがあります。メニューから「ツール > ParentFileを設定 > 相対パスで設定」を選択すると、編集中のドキュメントの1行目に

%ParentFile :main.tex

と入力されます。この行を「TeX コンパイル」ツールや他のツールが参照して、ソースが分割されている場合でも常にParentFileに対して処理を実行します。したがって、ParentFileを適切に設定しておけば、編集中のドキュメントが最前面にあるときに「コンパイル&プレビュー」ツールを実行すれば、ParentFileを開かずにTeXで処理できます。

mi toolsはParentFileの設定に対応しています。また、編集中のドキュメントにParentFileの設定がしてある場合に、miのメニュー「ツール > X pTeX on MacOSX > G ファイル操作/ > A ParentFileを開く」を選択してツールを実行すると、設定してあるParentFileをmiで開くことができます。

\inputを用いてjoron.tex内でdassen.texを読み込んで入れ子になっているソースの場合を考えます。dassen.texのParentFileの設定はParentFileとしてmain.texを指定します。大親分だからです。こうすれば、dassen.texを編集後「TeX コンパイル」ツールを実行すると、ParentFileに対して処理が行われます。

4.6.\inputと\includeの違い

miやmi toolsの機能との相性を考えて、参照は相対パスを使った場合を想定します。

今のところ自分で確認した\inputと\includeの違いを表にまとめました。

  \input \include
dviファイル ParentFileのdvi。
例 main.dvi
ParentFileのdviファイルが出力される。
例 main.dvi
auxファイル \inputで読み込んだファイルの参照データはすべてParentFileのauxファイルに書き出される。
例 main.aux
読み込んだファイルの参照データは、各ファイルのauxファイルに書き出される。
例 joron.aux honron.aux keturon.aux
相対パス参照 制限なし ParentFileより上の階層は不可。auxファイルをParentFileと同じフォルダに出力しなければ行けないので、コマンドライン上で指定する必要が生じる。
拡張子 省略可 .texのみ読み込み可能で\includeの引数の拡張子を削除しなくてはいけない。
入れ子 不可
エラー 「! LaTeX Error: ¥include cannot be nested.」
エラー処理 エラーが起こるとそこで処理が止まる。 エラーが起こってもスキップして処理を続行。
改ページ なし あり
     

pTeX mi統合環境 > pTeX mi統合環境 ヘルプ > 4.もっと長い文書を書く