バッファーの全内容、または一部(たとえば大きなドキュメントの1つのチャプター)にたいして、TeXをEmacsのサブプロセスとして呼び出すことができます。
カレントバッファー全体にたいしてTeXを呼び出します(tex-buffer
)。
バッファーのヘッダーとともに、カレントリージョンにたいしてTeXを呼び出します(tex-region
)。
カレントファイルにたいしてTeXを呼び出します(tex-file
)。
最後のC-c C-b、C-c C-r、C-c
C-fコマンドの出力をプレビューします(tex-view
)。
最後のC-c C-b、C-c C-r、C-c C-fコマンドの出力を印刷します(tex-print
)。
カレントファイルにたいしてBibTeXを呼び出します(tex-bibtex-file
)。
TeX出力を表示するウィンドウを再センタリングして、最後の行が見えるようにします(tex-recenter-output-buffer
)。
TeXサブプロセスをkillします(tex-kill-job
)。
カレントバッファー全体にたいして、他のコンパイルコマンドを呼び出します(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
で決定されます。TeXでコンパイルされたファイルを閲覧および印刷するために要求されるファイル拡張子は、変数tex-print-file-extension
でセットできます。たとえば、この変数に.pdfをセットして、それに合わせてtex-dvi-view-command
とtex-dvi-print-command
、同様にlatex-run-command
やtex-run-command
を更新できます。
Emacsは出力ファイル名に通常、前のパラグラフで説明したシェルコマンド文字列を自動的に追加します。たとえばtex-dvi-view-command
が"xdvi"
のとき、C-c
C-vはxdvi
output-file-name
を実行します。しかし、ファイル名がコマンドに埋め込まれている必要があるケース、たとえばあるコマンドの引数にファイル名を与えて、そのコマンドの出力をパイプで他のコマンドに渡さなければいけない場合があります。コマンド文字列の‘*’で、ファイル名をどこに置くか指定することができます。以下は例です
(setq tex-dvi-print-command "dvips -f * | lpr")
エラーメッセージを含むTeXからの端末出力は、*tex-shell*という名前のバッファーに表示されます。TeXでエラーが発生した場合、このバッファーに切り替えて、適切な入力を与えることができます(これは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
を使用する一番簡単な方法は、各サブファイルのローカル変数リストにそれを指定する方法です。ファイル内のローカル変数を参照してください。
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
)をタイプします。このコマンドはpdflatex、yap、xdvi、dvipsを含む、多くの一般的なプログラムに渡す引数を知っています。標準の補完キーを使用して望ましいコンパイルプログラムを選択できます(補完を参照してください)。