Next: , Previous: , Up: TeX Mode   [Contents][Index]


25.10.3 TeX印刷コマンド

バッファーの全内容、または一部(たとえば大きなドキュメントの1つのチャプター)にたいして、TeXをEmacsのサブプロセスとして呼び出すことができます。

C-c C-b

カレントバッファー全体にたいしてTeXを呼び出します(tex-buffer)。

C-c C-r

バッファーのヘッダーとともに、カレントリージョンにたいしてTeXを呼び出します(tex-region)。

C-c C-f

カレントファイルにたいしてTeXを呼び出します(tex-file)。

C-c C-v

最後のC-c C-rC-c C-bC-c C-fコマンドの出力をプレビューします(tex-view)。

C-c C-p

最後のC-c C-bC-c C-rC-c C-fコマンドの出力を印刷します(tex-print)。

C-c TAB

カレントファイルにたいしてBibTeXを呼び出します(tex-bibtex-file)。

C-c C-l

TeX出力を表示するウィンドウを再センタリングして、最後の行が見えるようにします(tex-recenter-output-buffer)。

C-c C-k

TeXサブプロセスをkillします(tex-kill-job)。

C-c C-c

カレントバッファー全体にたいして、他のコンパイルコマンドを呼び出します(tex-compile)。

カレントバッファーをTeXに渡すには、C-c C-b (tex-buffer)とタイプします。フォーマットされた出力は、通常.dviという一時ファイルに出力されます。その後でC-c C-v (tex-view)とタイプして、xdviのような外部プログラムを起動して、出力ファイルを閲覧することができます。C-c C-p (tex-print)とタイプして出力ファイルのハードコピーを印刷することもできます。

デフォルトではC-c C-bは、カレントディレクトリーでTeXを実行します。TeXの出力もこのディレクトリーに出力されます。TeXを違うディレクトリーで実行するには、変数tex-directoryを望むディレクトリー名に変更します。環境変数TEXINPUTSに相対ディレクトリーが含まれていたり、ファイルに含まれる‘\input’コマンドが相対ファイル名の場合、tex-directory"."しないと、望ましくない結果となるでしょう。そうでない場合は、"/tmp"などの他のディレクトリーを指定しても安全です。

そのバッファーにたいするTeXの変種は、C-c C-bで実際に実行されるシェルコマンドを決定します。Plain TeXモードでは、これは変数tex-run-commandで指定され、デフォルトは"tex"です。LaTeXモードでは、これはlatex-run-commandで指定され、デフォルトは"latex"です。.dviを閲覧するためにC-c C-vで実行されるシェルコマンドは、TeXの種類に関係なく、変数tex-dvi-view-commandで決定されます。出力を印刷するためにC-c C-pで実行されるシェルコマンドは、変数tex-dvi-print-commandで決定されます。

Emacsは出力ファイル名に通常、前のパラグラフで説明したシェルコマンド文字列を自動的に追加します。たとえばtex-dvi-view-command"xdvi"のとき、C-c C-vxdvi output-file-nameを実行します。しかし、ファイル名がコマンドに埋め込まれている必要があるケース、たとえばあるコマンドの引数にファイル名を与えて、そのコマンドの出力をパイプで他のコマンドに渡さなければいけない場合があります。コマンド文字列の‘*’で、ファイル名をどこに置くか指定することができます。以下は例です

(setq tex-dvi-print-command "dvips -f * | lpr")

エラーメッセージを含むTeXからの端末出力は、*tex-shell*という名前のバッファーに表示されます。TeXでエラーが発生した場合、このバッファーに切り替えて、適切な入力を与えることができます(これはShellモードで機能します。Interactive Shellを参照してください)。このバッファーに切り替えなくても、これをスクロールできるので、C-c C-lとタイプして最後の行を表示することができます。

これ以上の出力が有用でないと判断した時は、C-c C-k (tex-kill-job)とタイプしてTeXプロセスをkillします。C-c C-bおよびC-c C-rの使用するときも、TeXがまだ実行中の時はkillします。

C-c C-r (tex-region)とタイプして、任意のリージョンをTeXに渡すことができます。しかし、これはトリッキーです。なぜならほとんどのTeX入力ファイルは、先頭にパラメーターをセットしたりマクロを定義するコマンドを含んでいるからです。この問題を解決するために、C-c C-rでは、必須のマクロを含むファイル部分を指定することができます。指定したリージョンの前にそれを含めて、TeXの入力の一部とします。ファイルの必須と指定された部分をヘッダーと呼びます。

Plain TeXモードでヘッダーの境界を示すには、ファイルに2つの特別な文字列を挿入します。これはヘッダーの前に‘%**start of header’、ヘッダーの後ろに‘%**end of header’を記述します。これらの文字列は1行に全体を記述しなければなりませんが、文字列の前または後ろに他のテキストがあっても構いません。この2つの文字列を含む行はヘッダーの中に含まれます。‘%**start of header’がバッファーの先頭100行にない場合、C-c C-rはヘッダーがないとみなします。

LaTeXモードでは、ヘッダーは‘\documentclass’または‘\documentstyle’で始まり、‘\begin{document}’で終わります。いかなる場合でもLaTeXがこれらを要求するので、ヘッダーを識別するのに特別なことをする必要はありません。

コマンド(tex-buffer)および(tex-region)は、すべてを一時ディレクトリーで処理します。そしてTeXでクロスリファレンスのために必要となる補助的なファイルは利用不可です。一般的にこれらのコマンドは、すべてのクロスリファレンスが正しい必要がある最終コピーのために実行するのには適していません。

クロスリファレンスのための補助的なファイルを使いたいときは、C-c C-f (tex-file)を使用します。これはカレントバッファーのファイルにたいして、そのファイルのディレクトリーでTeXを実行します。TeXを実行する前に、変更されたバッファーを保存するか確認が求められます。一般的には、クロスリファレンスを正しく取得するために、2回(tex-file)を使用する必要があります。

変数tex-start-optionsの値は、TeXを実行するためのオプションを指定します。

変数tex-start-commandsの値は、TeXを開始するTeXコマンドを指定します。デフォルト値はTeXをノンストップモードで実行します。対話的にTeXを実行するときは、変数に""をセットします。

大きなサイズのTeXドキュメントは複数のファイル — 1つはメインファイルで、他はサブファイル — に分割されているときがあります。サブファイルにたいしてTeXを実行しても通常は動作しません。メインファイルにたいして実行する必要があるのです。サブファイルを編集するのにtex-fileを使えるようにするには、変数tex-main-fileにメインファイルの名前をセットします。その後はtex-fileはそのファイルにたいしてTeXを実行します。

tex-main-fileを使用する一番簡単な方法は、各サブファイルのローカル変数リストにそれを指定する方法です。File Variablesを参照してください。

LaTeXファイルにたいしては、BibTeXを使用してカレントバッファーのファイルのための補助的なファイルを処理できます。BibTeXはデータベースの図書目録の引用(bibliographic citations)を探して、図書目録のセクション(bibliography section)のための引用文献(cited references)を準備します。コマンドC-c TAB (tex-bibtex-file)は、カレントバッファーのファイルにたいする‘.bbl’ファイルを生成するためにシェルコマンド(tex-bibtex-command)を実行します。一般的に、‘.aux’ファイルを生成するために一度C-c C-f (tex-file)を行う必要があります。その後C-c TAB (tex-bibtex-file)を行ってから、さらなるクロスリファレンスを正しく取得するためにC-c C-f (tex-file)を2回行います。

カレントのTeXバッファーで、他のコンパイルプログラムを呼び出すには、C-c C-c (tex-compile)をタイプします。このコマンドはpdflatexyapxdvidvipsを含む、多くの一般的なプログラムに渡す引数を知っています。標準の補完キーを使用して望ましいコンパイルプログラムを選択できます(Completionを参照してください)。