Mercurial > hgrepos > hgweb.cgi > yatex
view docs/yatexj @ 613:38b311149463 draft dev tip
Key definition fixed
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Mon, 06 May 2024 17:11:31 +0900 |
parents | 668632d9392e |
children |
line wrap: on
line source
Info file: yatexj, -*-Text-*- produced by `texinfo-format-buffer' from file `yatexj.tex' using `texinfmt.el' version 2.42 of 7 Jul 2006. START-INFO-DIR-ENTRY * YaTeX: (yatexj). Yet Another tex-mode for Emacs (Japanese). END-INFO-DIR-ENTRY File: yatexj, Node: Top, Next: Intro, Prev: (dir), Up: (dir) * Menu: * Intro:: はじめに * Terminology:: マニュアル参照上の注意 * Main features:: 主な機能 * Installation:: インストール * Invocation:: プロセス起動 * %#notation :: * Completion:: 補完入力 * Local dictionary:: ローカル辞書 * Commenting out:: コメントアウト * Cursor jump:: カーソルジャンプ * Modifying/Deleting:: LaTeXコマンドの変更/削除 * Filling:: 桁揃え * Includeonly:: 勝手に includeonly * What column:: カラム位置ガイド * Intelligent newline:: おまかせ改行 * Usepackage cheker:: 先回りusepackage * Changing mode of YaTeX:: 野鳥動作モード変更 * Online help:: LaTeXオンラインヘルプ * Inclusion hierarchy browser:: ファイル分割階層構造の表示 * Cooperation with other packages:: 他パッケージとの連携 * Customizations:: カスタマイズ * Etc:: その他 * Copying:: 取り扱い * Concept Index:: 索引 File: yatexj, Node: Intro, Next: Terminology, Prev: Top, Up: Top はじめに ******** 野鳥は、GNU Emacs で LaTeX 用の文書を作成する時に pLaTeX などのタイ プセットコマンドや、プレヴューアの起動を Emacs 編集画面中から行えるよ うにすると共に、拡張性の高い種々の補完機能によりソーステキストの編集を 支援します。さらに LaTeX コマンドのオンラインヘルプによりマニュアルを 調べる手間を軽減します。 English manual *Note Top: (yatexe)Top. File: yatexj, Node: Terminology, Next: Main features, Prev: Intro, Up: Top 本マニュアル参照上の注意 ************************ 本マニュアルでは以下の表記を用います。 * begin型コマンド `\begin{環境} 〜 \end{環境}'という形式のLaTeXコマンドを指します。 begin型コマンドを補完入力することをbegin型補完と呼びます。 * section型コマンド `\section{タイトル}'や`\mbox{内容}'のように引数を取るLaTeXコマン ドを指します。 * maketitle型コマンド `\maketitle'や`\tableofcontents'のように引数を取らないLaTeXコマン ドを指します。 * large型コマンド `{\large ...}' や `{\tt ...}' のようなフォント/サイズ指定子を指し ます。 * `[prefix]' 野鳥の機能を呼び出すためのプリフィクスキー。デフォルトでは`C-c'に 割り当てられているので、特に変更していない場合本マニュアルの `[prefix]' という表記は、`C-c' と読み換えてください。 File: yatexj, Node: Main features, Next: Installation, Prev: Terminology, Up: Top 主な機能 ******** * タイプセッタやプレヴューアなどの編集画面からの起動(`C-c t') * カーソル位置によらない固定リジョンの部分タイプセット * \includeonlyのワンタッチ更新 * エラー箇所への自動ジャンプ(`C-c '') * `\begin{}, \end{}, \section...' などの LaTeXコマンドの補完入力 (`C-c b', `C-c s', `C-c l', `C-c m') * 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完(リ ジョン指定後に通常補完キー) * セクション区切り入力時の文書構造アウトライン表示 * セクションコマンドの一括シフト (*Note view-sectioning::) * 補完辞書の学習 * LaTeX の環境やコマンドに応じたガイド付き引数入力 * 野鳥にないガイド付き引数入力関数の自動生成(`yatexgen.el') * LaTeX コマンドの削除/変更(`C-c k', `C-c c') * ファイル間、`\begin'<->`\end'間、 `\ref'<->`\label'間、 `\cite'<->`\bibitem'ジャンプ(`C-c g') * 一括コメントアウト/アンコメントアウト(`C-c >', `C-c <', `C-c ,', `C-c .') * アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援(`C-c a', `;', `/') * tabular/array環境のカラム位置ガイド * 標準的 LaTeX コマンドのオンラインヘルプ(`C-c ?', `C-c /') * ドキュメントのインクルード構造の視覚的表示とバッファ切り替え(`C-c d') * 補完入力したマクロに応じて必要な \userpackage を入れてくれる先回 りuserpackage * \labelを打つことはもう忘れよう! refやcite補完入力で自動生成します * 画像ファイルのドラッグ&ドロップによる自動 \includegraphics File: yatexj, Node: Installation, Next: Invocation, Prev: Main features, Up: Top 起動法 ****** 野鳥起動のための設定 ==================== ~/.emacsに下の2項目を加えます。 (setq auto-mode-alist (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) 次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に加え ます。たとえば、 `~/src/emacs/yatex'に置くのであれば、 (setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path)) などとします。 以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野 鳥がロードされます。野鳥が正常に起動できたときはモードラインの表示が 「やてふ」に変わります。 タイプセッタ/プレヴューア環境の設定 =================================== 利用する外部プログラムに関する以下の変数を確認し、必要なら正しい値に 変更します。 `tex-command' ... 起動するタイプセッタのコマンド名 `dvi2-command' ... 起動するプレヴューアのコマンド名 `NTT-jTeX' ... 改行+インデントによって、タイプセット後の字間が空いて しまうのを抑制する場合にtにする(古いNTT-jTeXで顕著に現れ る)。具体的には、fillするときに各行の終わりに%を付加する ようになる。 `YaTeX-kanji-code' ... 文書を作成する時の漢字コード `dviprint-command-format' ... ファイルの印刷に使われるコマンド列の書式 `YaTeX-dvipdf-command' ... DVIをPDFに変換するコマンド これらを変更する場合は、やはり`~/.emacs'にて、たとえば (setq tex-command "pdflatex") のようにしてください。どのような値をセットすれば良いかについては、 *Note All customizable variables::を参照してください。 File: yatexj, Node: Invocation, Next: %#notation, Prev: Installation, Up: Top latexコマンド起動 ***************** LaTeXソースの編集中、次のキー入力により、platex などのタイプセットプロ グラム(以後タイプセッタと呼ぶ)、プレヴューアなどの起動ができます。 `[prefix] t j' ... タイプセッタ(platex)起動 `[prefix] t r' ... タイプセッタ起動(領域指定) `[prefix] t e' ... 部分タイプセット&プレヴュー(ポイント位置の段落、環境 または数式モードのみをタイプセットして隣のバッファに組版 結果の画像を出す) `[prefix] t k' ... 動作中のタイプセッタの停止 `[prefix] t b' ... jbibtex起動 `[prefix] t i' ... makeindex起動 `[prefix] t d' ... タイプセット完了後dvipdfmx起動 `[prefix] t p' ... プレヴューア起動 `[prefix] t l' ... lpr(プリントアウト用)コマンド起動 `[prefix] t s' ... xdvi -remote でのサーチ * Menu: * Calling typesetter:: タイプセッタ起動 * Calling previewer:: プレヴューア起動 * Print out:: プリントアウト用コマンドの起動 File: yatexj, Node: Calling typesetter, Next: Calling previewer, Prev: Invocation, Up: Invocation タイプセッタ起動 ================ タイプセッタを起動すると、編集ウィンドウが2つに分割され、片方のウィ ンドウにタイプセット画面が表示されます。出力されるメッセージと連動しタ イプセットバッファは自動的にスクロールします。もし、途中でエラーが起こっ て止まってしまった場合にはタイプセットバッファに移り、(`C-x o') タイプ セッタの出している ? プロンプトに対して、`x' (処理の中断)などの指示を 送ることができます。エラーを修正する場合は、 `[prefix] '' `(prefix+アポストロフィ)' ... 直前のエラー発生行へジャンプ を入力することにより、タイプセッタがエラーを発生した行に移ることができ ます。また、タイプセッタの出力する overfull hbox などのウォーニング行 にも対応していますので、順次 `[prefix] '' を押すことにより、一つ前の ウォーニング発生行にジャンプしていきます。 もし、気になるエラー行があった場合は、タイプセットバッファで、エラー の表示されている行にカーソルを合わせスペースキーを押すと LaTeX ソース の対応する行にジャンプします。 領域タイプセット ---------------- ポイントとマークの間、あるいはテキスト中に埋め込んだ `%#BEGIN' と `%#END'の間の領域(*Note %#notation::)だけを切り取ってタイプセットする ことができます。この場合メインファイルのプリアンブルが一時ファイルのプ リアンブルとして使われます。したがってプリアンブルにないマクロ定義が領 域内にあるとエラーになります。領域タイプセットを使う場合、必ずマクロ定 義はプリアンブル(`\begin{document}'より前)に置くようにして下さい。一時 ファイルはメインファイルのあるディレクトリの`texput.tex'という名前で出 力されるので、上書きには注意してください。 環境タイプセット ---------------- `[prefix] te' を押すと、ポイント位置の最も内側の環境、または数式モー ド内の場合はその数式モード全体、あるいは環境がなければその段落が自動的 に領域選択されて、領域タイプセットを呼び出します。tabular環境や数式モー ドで複雑なものを作っている場合は確かめたい部分だけを確認できるので便利 です。Emacsが画像表示可能な場合は、部分タイプセットの結果を画像化して 隣のウィンドウに表示します。また、特定の環境で呼び出した場合は、環境内 の文字を書き換える度に自動的にプレビュー画像を更新します(on-the-flyプ レヴュー)。自動表示されない場合はプレヴューアで `texput.dvi'を開いたま まにしておけば修正と確認が素早くできるでしょう。 画像プレヴューの場合の大きさ(解像度)はデフォルトで200dpi(数式は 300dpi)です。dpiを変えたい場合はLaTeXソースのどこかに`%#PREVIEWDPI 150'のようにdpi値を書いてください。 File: yatexj, Node: Calling previewer, Next: Print out, Prev: Calling typesetter, Up: Invocation プレヴューア起動 ================ `[prefix] t p' によりプレヴューアの起動ができます。さらに、もしあな たが、-remote 機能つきのxdviを利用している場合は `[prefix] t s' を押す ことによりカーソル位置の文字列を検索してそのページを表示するようにすで に起動中のxdviに命令を送ります。これにより、現在編集中の箇所のタイプセッ ト結果を即座に見ることができます。 File: yatexj, Node: Print out, Prev: Calling previewer, Up: Invocation プリントアウト ============== `[prefix] t l'を押してプリントアウトを指示すると、出力開始/終了ペー ジを聞いてくるので、それぞれに答えます。これを省略したい時は、 universal-argument をつけ、 `C-u [prefix] t l' ... ページ確認省略lpr起動 のように起動してください。 File: yatexj, Node: %#notation, Next: Completion, Prev: Invocation, Up: Top %#記法 ****** 本文中に`%#'ではじまるキーワードを埋め込むことでタイプセッタ起動等の 制御をすることができます。 * Menu: * Changing typesetter:: タイプセット用コマンドの変更 * Splitting input files:: 入力ファイル分割 * Fix region for typesetting:: 領域の固定 * Special Filtering Region:: * lpr format:: プリントアウトコマンド用フォーマット * Controlling which command to invoke:: その他の起動コマンド制御 * Editing %# notation:: File: yatexj, Node: Changing typesetter, Next: Splitting input files, Prev: %#notation, Up: %#notation タイプセット用コマンド変更 ========================== 起動するコマンドを変えたい時は本文中に次のような行を書きます。 %#!jlatex-ntt NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。 File: yatexj, Node: Splitting input files, Next: Fix region for typesetting, Prev: Changing typesetter, Up: %#notation 入力ファイル分割 ================ また、章毎に別ファイルの .tex を作成している場合で、`main.tex'から `sub.tex' を `\include'しているような時は、`sub.tex'の任意の位置に次の ような行を埋め込みます。 %#!platex main.tex 上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時 に便利です。 %#!platex main && dvi2ps main.dvi > main なお、この行の最後の単語のピリオド以前を「メインファイル」のベースネー ムであると仮定します(上の2つの場合どちらも`main')。この行に記述した、 `%f'はメインファイル名に、 `%r' はメインファイルの拡張子を取り除いた部 分に置換されます。ただし、`%f,%r'を利用した場合、初回タイプセット時に 必ずメインファイル名の入力を促されます。 `[prefix] g' (*Note Cursor jump::参照) でのファイル間ジャンプを有効 に機能させるため、入力ファイル分割時には次のことに注意して下さい。 1. サブディレクトリを作って、その中にサブファイルを置くことはできる がサブディレクトリのサブディレクトリには置けない。 2. メインファイルからサブディレクトリ内のファイルを include する時には、 相対パス指定を用いて、 `\include{chap1/sub}'のように記述。 3. メインファイルが一つ上のディレクトリにある場合も、サブファイルに は%#!platex main.tex のように記述する(../mainではない)。 File: yatexj, Node: Fix region for typesetting, Next: lpr format, Prev: Splitting input files, Up: %#notation 領域の固定 ========== `[prefix] tr' の領域指定のタイプセットでは、とくに指定のないかぎり、 `C-SPC'でマークした位置と、ポイント(カーソル位置)の間を領域とみなしま すが、必ず決まった領域をタイプセットしたい場合は、その領域を %#BEGIN <渡したい領域> %#END のように`%#BEGIN'と`%#END'で囲み、カーソルを「`%#BEGIN'以降」に置いて ください。この時の領域決定規則をまとめると次のようになります。 1. カーソル位置よりバッファの先頭方向に`%#BEGIN'というキーワードがあ る場合 1. `%#BEGIN'よりバッファの末尾方向に`%#END'というキーワードが見つかっ た場合。 =>`%#BEGIN' から、その `%#END' のある位置まで。 2. `%#END' が見つからなかった場合。 =>バッファの最後尾まで。 2. カーソル位置よりバッファの先頭方向に `%#BEGIN' というキーワードが 見つからなかった場合。 =>マーク(`C-SPC'位置)とポイント(カーソル位置)の間の領域。 tabular 環境を何度も試行錯誤しているような場合は、`\begin'の前の行に `%#BEGIN' と書き、`\end' の次の行に `%#END' と書いておくと簡単に作表結 果をテストすることができます。また、長い .tex ファイルの後半に `%#BEGIN' を書いておけば、前半の部分は無視できます。このBEGINとENDの消 し忘れには十分ご注意下さい。 File: yatexj, Node: Special Filtering Region, Next: lpr format, Prev: Fix region for typesetting, Up: %#notation 自動外部フィルタ ================ たとえば、テキストファイルから画像を生成するようなツールに与えるソース をLaTeXソース中に埋め込み、その部分だけをツールの標準入力に渡すことが できます。そのためには以下のようなソースを文書中に書きます。 %#BEGIN FILTER{foo.pdf}{blockdiag -T %t -o %o} \if0 --- ....blah blah blah... ....blah blah blah... ....blah blah blah... --- \fi %#END この領域内で `[prefix] t e' をタイプすると、この例であればblahのある3 行が外部コマンド `"blockdiag -T pdf -o foo.pdf"' の標準入力に渡され、 結果として foo.pdf が生成されます。この特別なブロックは`[prefix] tb' の環境補完で、`.blockdiag' のようなピリオドで始まる特殊環境名を入力す ることで自動的に挿入されます。 File: yatexj, Node: lpr format, Next: Controlling which command to invoke, Prev: Fix region for typesetting, Up: %#notation lprフォーマット =============== まず、プリントアウト用コマンド列のフォーマットについて説明します。コ マンド列フォーマットは、3つの Lisp 変数によって表現されます。デフォル トの dvi2ps 用のフォーマットを例に説明します。 `(1)dviprint-command-format' `"dvi2ps %f %t %s | lpr"' `(2)dviprint-from-format' `"-f %b"' `(3)dviprint-to-format' `"-t %e"' 実際にプリントアウトする時は、(1)中の %s がファイル名に置き換えられ、 %f が(2)の内容、%t が(3)の内容に置き換えられます。その際に(2)の文字列 中の %b は「出力開始ページ」、(3)の文字列中の %e は「出力終了ページ」 に置き換えられます。もし、ページを指定しない時には、%f, %t 両方とも無 視されます。 この、dviprint-command-format を臨時に変えたい時は、LaTeX のソーステ キスト中の任意の場所に、 %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2 のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせない ようにする時に %#LPR dvi2ps %s | lpr などとするのも便利かもしれません。 File: yatexj, Node: Controlling which command to invoke, Next: Editing %# notation, Prev: lpr format, Up: %#notation その他の起動コマンド制御 ======================== LaTeX 文書に関連するコマンドは以下の %# 記法で指定することができます。 `%#PREVIEW' ... Command line for DVI viewing ([prefix] t p) `%#BIBTEX' ... makeindexを行なうコマンドライン([prefix] t b) `%#MAKEINDEX' ... bibtexを行なうコマンドライン([prefix] t i) `%#DVIPDF' ... DVIからPDF変換を行なうコマンドライン([prefix] t d) `%#LPR' ... 印刷用のコマンドライン([prefix] t l) `%#PDFVIEW' ... PDFファイルを見るためのコマンドライン `%#IMAGEDPI' ... 即時プレヴュー(on-the-fly preview)用の画像のDPI 行頭がこれらのキーワードで始まる行をLaTeX文書の先頭付近に書いておけば、 それで指定したコマンドを起動できます。 File: yatexj, Node: Editing %# notation, Prev: Controlling which command to invoke, Up: %#notation %#記法自体の編集 ================ 以上のような`%#'で始まる各種制御記法を編集するためには `[prefix] %' ... `%#'記法編集メニュー を押します。 !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR というメニューが出て来るので、`%#!'に続くコマンドを変更したい時には `!'を、`%#LPR'で lpr フォーマットを変えたい時は`l'を、あらか じめ設定したリジョンを `%#BEGIN' 〜 `%#END' で括りたい時は、 `b'を押します。`b'を選んだ時には、それまでバッファ中に置かれていた `%#BEGIN', `%#END' が自動的に消去されます。 File: yatexj, Node: Completion, Next: Local dictionary, Prev: %#notation, Up: Top 補完入力 ******** LaTeX での環境名などは、野鳥の補完機能を利用して能率的に入力すること ができます。 * Menu: * begin型補完:: * section型補完:: * large型補完:: * maketitle型補完:: * Arbitrary completion:: 随時補完 * end補完:: * Accent mark completion:: アクセント記号補完 * Image completion:: 数式記号イメージ補完 * Greek letter completion:: ギリシャ文字補完 * Inserting parens:: File: yatexj, Node: begin型補完, Next: section型補完, Prev: Completion, Up: Completion begin型補完 =========== `\begin{env}...\end{env}'の様な形式の入力の補完をbegin型補完と呼ぶこ とにします。begin 型補完は、 `[prefix] b' ... begin 型補完開始(標準では `C-c b') で始まります。頻繁に用いられる次の LaTeX 環境の補完は、[prefix] `b'に 続く次の1文字を入力するだけで、`\begin{xxx}...\end{xxx}'を完成させます。 `[prefix] b c' ... `\begin{center}...\end{center}' `[prefix] b d' ... `\begin{document}...\end{document}' `[prefix] b D' ... `\begin{description}...\end{description}' `[prefix] b e' ... `\begin{enumerate}...\end{enumerate}' `[prefix] b E' ... `\begin{equation}...\end{equation}' `[prefix] b i' ... `\begin{itemize}...\end{itemize}' `[prefix] b l' ... `\begin{flushleft}...\end{flushleft}' `[prefix] b m' ... `\begin{minipage}...\end{minipage}' `[prefix] b t' ... `\begin{tabbing}...\end{tabbing}' `[prefix] b T' ... `\begin{tabular}...\end{tabular}' `[prefix] b ^T' ... `\begin{table}...\end{table}' `[prefix] b p' ... `\begin{picture}...\end{picture}' `[prefix] b q' ... `\begin{quote}...\end{quote}' `[prefix] b Q' ... `\begin{quotation}...\end{quotation}' `[prefix] b r' ... `\begin{flushright}...\end{flushright}' `[prefix] b v' ... `\begin{verbatim}...\end{verbatim}' `[prefix] b V' ... `\begin{verse}...\end{verse}' 上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用 いて入力します(上記の環境名も以下の補完入力可能)。 `[prefix] b SPC' ... begin 型補完入力 `[prefix] b SPC' と入力すると、最下行のミニバッファに Begin environment(default document): と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出 ているデフォルトの環境名が入力されますが、適当な環境名を入力すると、 `\begin{環境名} … \end{環境名}'が文書中に挿入されます。ミニバッファで 環境名を入力するときに、環境名の頭文字を入力し「スペース」をたたくと、 一致する環境名が内部テーブルに存在した場合、正しい環境名に補完されるの で、入力の手間が省けます。内部テーブルに存在しない環境名を入力した時は ユーザ専用のテーブルに登録され、さらにそのテーブルを自動的に、ユーザ辞 書(デフォルトでは `~/.yatexrc')に保存します。 さらに、特定の環境を補完入力した時にはその環境で必ず用いられるエントリ を自動挿入します(例: `itemize'環境における`\item'など)。挿入されたエン トリが不要な場合にはundoによって消去して下さい。 既に書いたテキストを環境で括る ------------------------------ ところで、最初に書いてしまったブロックを後から、itemize 環境の中 に閉じこめたいと思うことがありますが、そのようなときは、あらかじめ 閉じこめたい段落をマークして、begin 型補完の各コマンドの `[prefix]' の次の『小文字の 'b'』 を『大文字』に変えて起動して下さい。(または、 `C-u' を先に打ち、universal argument をつけても可能です) 例えばあるパラグラフを description 環境の中に入れたいときは、そのパ ラグラフをマークしてから、補完機能を呼び出してください(description環境 の場合は `[prefix] b D')。 選択された領域を括ります。ただしこれは `transient-mark-mode' が t (Emacsの標準)になっている場合のみで、普段 `transient-mark-mode' を `nil' にしている場合は、 補完キー前に `universal-argument' 指定(`C-u') をタイプしてから `[prefix] b D' など、補完キーを タイプすれば括り補完になります。 なおEmacs22以降であれば `transient-mark-mode' 無効時も `set-mark-command' (`C-space')の連打で一時的に `transient-mark-mode' が有効になります。 File: yatexj, Node: section型補完, Next: large型補完, Prev: begin型補完, Up: Completion section型補完 ============= `\section{目的}' のような形式の入力の補完を section 型補完と呼ぶこと にします。section 型補完は、 `[prefix] s' ... section 型補完 で実行します。`[prefix] s' を入力するとミニバッファに、 (C-v for view-section) \???{} (default documentclass): というプロンプトが現れるので、そこで `section' のような LaTeX コマンド 名を入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択さ れるほか、`chapter'などのような頻度の高い名称入力にはスペースキーによ る補完機能が有効です。 次に、{}の中身の入力を促す、 \section{???}: というプロンプトが現れるので、セクションのタイトルなどを入力します。た とえば、 (C-v for view-section) \???{} (default documentclass): section \section{???}: 目的 のように入力した場合は、文章中に \section{目的} が挿入され、 (C-v for view-section) \???{} (default section): vspace* \vspace*{???}: のように{}の中身を省略したときは、 \vspace*{} だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。 * Menu: * 2個以上の引数をとる section型コマンド:: * Enclose section-type command:: 括り補完 * Recursive completion:: 再帰補完 * view-sectioning:: セクション区切りのアウトライン表示 * label-generation:: ラベル自動生成 File: yatexj, Node: 2個以上の引数をとる section型コマンド, Next: Enclose section-type command, Prev: section型補完, Up: section型補完 2個以上の引数をとる section型コマンド ------------------------------------- ところで、`\addtolength{\topmargin}{8mm}' などのように、引数を二つ以 上取る LaTeX コマンドがあります。このようなコマンドの補完入力には、 section 型補完呼び出しに引数を付けてください。例えば上の`addtolength' の例であれば、引数2を指定します。つまり、 C-u 2 [prefix] s (または、ESC 2 [prefix] s) と section 型補完を呼び出した後、 (Ctrl-v for view-section) \???{} (default vspace*): addtolength \addtolength{???}: \topmargin Argument 2: 8mm のように入力してください。最初の addtolength の部分と、第一引数である \topmargin の入力は当然スペースによる補完入力が可能です。ユーザ辞書に 登録される LaTeX コマンドには、この引数の数も学習されるので、最初の補 完の時引数の数を指定して起動しておけば、以後の補完時には、記憶された個 数だけ引数を聞いて来るようになります。あとで引数の個数を変えたい時は、 再び `C-u' を用いて個数を指定し直すことで、自動的に辞書中の引数の個数 の部分を更新します。 File: yatexj, Node: Enclose section-type command, Next: Recursive completion, Prev: 2個以上の引数をとる section型コマンド, Up: section型補完 既に書いたテキストを括る ------------------------ また、section型補完機能の呼び出し時に領域選択状態にしておくと 領域内のテキストを section 型コマンドの第一引数として括ります。 これも普段 `transient-mark-mode' を `nil' にしている場合は `C-u' のあとに補完キーをタイプすれば強制的に括り補完になります。 File: yatexj, Node: Recursive completion, Next: view-sectioning, Prev: Enclose section-type command, Up: section型補完 再帰補完 -------- 高度な使い方になるかもしれませんが、section型補完の引数の入力時にさ らに補完入力を利用することができます(section/large/maketitle型に限る)。 section型コマンドの引数に更に LaTeX コマンドが来る場合にはミニバッファ で野鳥の補完キーを再帰的に入力することで引数の入力も効率的に行なえます。 File: yatexj, Node: view-sectioning, Next: label-generation, Prev: Recursive completion, Up: section型補完 セクション区切りのアウトライン表示 ---------------------------------- 通常のsection型補完の時にミニバッファで`C-v'を押すと現在存在するセク ション区切りコマンド全てを `*Sectioning Lines*'というバッファに一覧表 示します(「<<--」のついている行がもっとも近いセクション区切り)。この時 ミニバッファで`C-p', `C-n' を押すと`part', `chapter', ..., `subparagraph' のコマンドが論理階層の高さにしたがって上下します。また、 `C-v', `M-v' を押すとセクション区切り一覧バッファがスクロールし、数字 の`0'〜`7'を押すとある高さ以上のセクション区切りだけを選んで表示します (実際にやって見れば分かります)。 `*Sectioning Lines*'バッファは、 `M-x YaTeX-section-overview' ... セクション区切り一覧バッファを生成 で作成することができます。このバッファを選択し任意の行でスペースを押す と、該当するセクション区切りのある本文中の場所にジャンプします。さらに、 同バッファで `u' を押すと、ソーステキストの対応するセクションコマンド が一階層上がり(例: subsection が section に変わる)、`d'を押すと一階層 下がります。`*Sectioning Lines*'バッファにあるセクション区切りの行をマー クしておいて`U'を押すとリジョン内のものに対応するソーステキストのセク ションコマンドすべてが一階層上がり、`D'を押すと下がります。セクション 区切り一覧バッファで利用できるキーコマンドには以下のものがあります。 `SPC' ... 対応するソース行へジャンプ `.' ... 対応するソース行を表示 `u' ... カーソル位置に対応するセクションコマンドを一階層上げる `d' ... カーソル位置に対応するセクションコマンドを一階層下げる `U' ... マークしたセクションコマンドを一階層上げる `D' ... マークしたセクションコマンドを一階層上げる `0〜6' ... レベル n 以下のセクションコマンドを隠して表示 File: yatexj, Node: label-generation, Prev: view-sectioning, Up: section型補完 ラベル自動生成 -------------- `\ref{}' や `\cite{}' マクロをsection型補完で入れた場合参照先となり 得るものを全て探してメニューにして選択できます。参照先には`\label{}'を つけておく必要はありません。もしあれば、そのラベルを使い、なければその 場で参照先に`\label{}'を作らせてくれます。ラベル名を考えるのは苦痛に感 じるものです。全てのカウンタにラベルをつけるのもたいへんです。もうラベ ル名に何をつけるか、ラベルをつけるかつけまいか、などということは忘れま しょう! ラベルを打つべき項目の選択の際には、可能性のあるすべてのカウンタが表示 されます。これを「数式のみ」のように種別で絞りたいときは以下のキーコマ ンドが利用できます。 `M-a' ... 絞り込みを解除してすべてのカウンタを表示 `M-c' ... キャプションのみを表示 `M-e' ... 番号のつく数式のみを表示 `M-i' ... 番号つき箇条書のみを表示 `M-s' ... セクションのみを表示 `M-m' ... その他のカウンタのみを表示 File: yatexj, Node: large型補完, Next: maketitle型補完, Prev: section型補完, Up: Completion large型補完 =========== `{\large }' のような形式の補完を large 型補完と呼ぶことにします。 `[prefix] l' ... large 型補完開始 がlarge型補完の開始です。`[prefix] l' を押すと、ミニバッファに {\??? } (default large): と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に 用意されているのは、`footnotesize' や `huge' のような文字サイズ指定子 と、`bf'や`dg'のようなフォント指定子です。 既に書いた文字を括る -------------------- また、begin型補完の時と同様、先に書いてしまった一連の文章の文字のサ イズを変えたいと思う時がありますが、そのような時は、サイズや大きさを変 えたい文字の範囲をマークしてからlarge型補完を呼んでください。 File: yatexj, Node: maketitle型補完, Next: Arbitrary completion, Prev: large型補完, Up: Completion maketitle型補完 =============== `\maketitle' の形式の補完を maketitle 型補完と呼ぶことにします。 `[prefix] m' ... maketitle 型補完開始 で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同 じです。LaTeX 用のコマンド名が補完候補として用意されています。 File: yatexj, Node: Arbitrary completion, Next: end補完, Prev: maketitle型補完, Up: Completion 随時補完 ======== さて、今まで述べた典型的な LaTeX コマンド形式の補完入力を用いずに、 今入力しようとしている LaTeX コマンドを文書中の任意の位置で随時補完す ることもできます。LaTeX コマンド(先頭が\で始まる)を入力している途中で、 `[prefix] SPC' ... 随時補完 を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に 挿入されます。 File: yatexj, Node: end補完, Next: Accent mark completion, Prev: Arbitrary completion, Up: Completion end補完 ======= 現在開いたままの環境名を自動的に検出し、`\end{環境名}'を挿入します。 begin 型補完を用いれば環境の閉じ忘れはないのですが、時にはついつい手で `\begin{環境名}' を入れてしまい、悲しい思いをすることがあります。その ような時には気にせず続けて文章を入力し、しかるのちに `[prefix] e' ... end 補完 とすることで、現在開いている環境名で \end{} が補われます。 File: yatexj, Node: Accent mark completion, Next: Image completion, Prev: end補完, Up: Completion アクセント記号補完 ================== 欧文のアクセント記号(`\`{o}'など)を入力する時は、 `[prefix] a' ... アクセント記号入力 を押すと、ミニバッファに 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b というメニューが出て来るので、数字、または対応する記号/英字を入力して 下さい。すると編集バッファに、 \`{} が現われ、カーソルが{}内に位置するので、さらに一文字入力する事で、 \`{o} が完成され、カーソルは{}の外に戻ります。 File: yatexj, Node: Image completion, Next: Greek letter completion, Prev: Accent mark completion, Up: Completion 数式記号イメージ補完 ==================== 主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力 で、LaTeX コマンドを入力できます。これは野鳥自身の「数式モード」でのみ 動作します。野鳥はカーソルがTeXの数式環境の中にある時に`;'や、 `:'に特殊な機能を持たせます。 さて、例えば、←(leftarrow)をASCII文字だけで表現する場合、一般的には 「<-」のようにしますが、これを利用して、数式記号イメージ入力モードで `\leftarrow'を入力するには、`;'(セミコロン)を打ってから`<-'と入力しま す。同様に、長い矢印←-(long-leftarrow) をASCII文字だけで表現する場合 「<--」とするので、`\longleftarrow'を入力するためには、`;<--'と入力し ます。あるいは無限大記号をASCII文字だけで表現する時は「oo」のようにす ることから、`\infty' を入力する時は、`;oo'とキー入力します。 これらの操作をまとめると次のようになります。 INPUT 入力される LaTeX コマンド ; < - `\leftarrow' ; < - - `\longleftarrow' ; < - - > `\longleftrightarrow' ; o `\circ' ; o o `\infty' いずれの場合も、イメージ入力を行っている途中で望みのものがバッファに 表示されたなら、そこでイメージ入力を止めて次の編集動作に移っても構いま せん。 数式環境中で`;'自身を入力するには`;;'のようにします。イメージ入力の 途中でTABを押すと、それまで入力した文字で始まるもの一覧が表示されます。 ここで目的の LaTeX コマンドまでカーソルを移動し再度TABを押すことでその LaTeX コマンドがバッファに挿入されます。 どのキー入力にどの記号が対応しているか全て知りたい時は、`;'を押した 直後にTABを押してください。以下の例は、`;<'と押した後にTABを押したもの です。 KEY LaTeX sequence sign < \leq ≦ << \ll 《 <- \leftarrow ← <= \Leftarrow <= 左から[入力キー]、[対応する LaTeX コマンド]、[(擬似)記号図示]、という 順でメニューが出て来るので、よく使うものを覚えておくと良いでしょう。も のによってはASCII文字で表現することが困難なので、あまり覚えやすいキー 並びではないものがあるでしょうから、そのような場合は \maketitle 型補完 で入力するか、以下に述べる対応表の設定を行って単純なキー並びのものを設 定すると良いでしょう。 入力キーと LaTeX コマンド、記号の対応表を個人的に設定したい場合は Emacs-Lisp 変数 `YaTeX-math-sign-alist-private' に定義してください。そ の内容とデフォルトのものを合わせたものが対応表として使用されます (privateの方が優先される)。なお、この変数の構造については `yatexmth.el' を参照してください。 File: yatexj, Node: Greek letter completion, Next: Inserting parens, Prev: Image completion, Up: Completion ギリシャ文字補完 ================ もう一つ、数式環境中で`:'を押すとギリシャ文字入力モードに入ります。 `:'を押した直後に`a'を押すと`\alpha'が、`g' を押すと `\gamma'が、など アルファベットに対応したギリシャ文字が挿入されます。操作方法は;の数式 記号補完とまったく同じです。まずは`:'の直後にTABを押してどのアルファベッ トにどのギリシャ文字が対応しているか調べてみてください。 `;'と`:'を数式環境中で押しているにもかかわらず、イメージ補完が働かな い場合は、`C-u ;'のように universal-argument をつけてキーを押すことに より、強制的にイメージ補完に入ることができます。また、この時にどのよう な状態で数式環境内判定に失敗したかをご連絡下さい。 File: yatexj, Node: Inserting parens, Prev: Greek letter completion, Up: Completion 括弧入力補助 ============ 3種類ある括弧 () {} [] の開き括弧を入れたときに閉じ括弧を自動的に入 れます。`\' の直後にの `[' を入れると行を分けてインデントを揃え、数式 入力に備えます。その他 LaTeX のマクロに応じて括弧の釣合の取れた状態に 導きます。開き括弧そのものを1つだけ入れたいときは `C-q' でクォート入力 するか、`[prefix] w m' で修正モードをOFFにしてください。 領域選択してから開き括弧を入れるとその領域をその種類の括弧で括ります。 File: yatexj, Node: Local dictionary, Next: Commenting out, Prev: Completion, Up: Top ローカル辞書 ************ 補完入力用の候補は三種類の辞書から構成されています。一つは`yatex.el' に組み込まれた「標準辞書」、もう一つはユーザが個人的に常用するコマンド を保存する「ユーザ辞書」、そしてもうひとつはあるディレクトリでのみ有効 なコマンドを保存する「ローカル辞書」です。 補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞 いて来ます。 `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard というプロンプトに対し、`u'と答えると「ユーザ辞書」を、`l'と答えるとロー カル辞書を更新し、`n'と答えると辞書ファイルは更新せず現在のEmacsセッショ ンのみ有効な単語とし、`d'と答えると新たな単語を学習せずに捨てることに なります。 もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言 う場合には`~/.emacs'などで、 (setq YaTeX-nervous nil) として下さい。 File: yatexj, Node: Commenting out, Next: Cursor jump, Prev: Local dictionary, Up: Top コメントアウト ************** LaTeXの編集には試行錯誤がつきものです。ある部分を一括でコメントアウ トしたり、コメントを外したりしたいことがあります。 `[prefix] >' ... リジョンを % でコメントアウト `[prefix] <' ... リジョンの % のコメントを外す は、あらかじめ設定したリジョンに対しての操作、 `[prefix] .' ... 現在のパラグラフをコメントアウト `[prefix] ,' ... 現在のパラグラフのコメントを外す は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでい う「パラグラフ」は (`mark-paragraph') 関数によりマークされる範囲を指し ます(標準設定で`ESC h'にバインドされている)。なお、既に`%'でコメントア ウトされているパラグラフに対して繰り返しパラグラフのコメントを使用した 場合の動作は保証しませんので御注意ください。 さて、文章に対してだけでなく、時には`\begin', `\end' 自体に対 してもコメントアウトの操作をしたいときがあります。このようなときは、 `\begin{}' あるいは `\end{}' の行にカーソルを合わせ、 `[prefix] >' ... `\begin{}'〜`\end{}' 全てコメントアウト `[prefix] <' ... `\begin{}'〜`\end{}' 全てコメントを外す とすることで、`\begin〜\end'で囲まれる環境全てに対してコメント操作し、 `[prefix] .' ... `\begin{}' と `\end{}' をコメントアウト `[prefix] ,' ... `\begin{}' と `\end{}' のコメントを外す は、対応する `\begin' と `\end' 2行だけを、コメント操作の対象とします。 リジョンをコメントアウトしようとして、マークを設定したのちにカーソルを 移動し`[preifx] >' を押してもカーソルが `\begin{}' の上にあると `\begin{}'〜`\end{}'モードでコメント機能が働いてしまうので注意して下さ い。 File: yatexj, Node: Cursor jump, Next: Modifying/Deleting, Prev: Commenting out, Up: Top カーソルジャンプ **************** * Menu: * 対応オブジェクトへのジャンプ:: * お絵描きツール起動:: * メインファイルへのジャンプ:: * 環境を単位としたジャンプ:: * 最後の補完位置へのジャンプ:: File: yatexj, Node: 対応オブジェクトへのジャンプ, Next: お絵描きツール起動, Prev: Cursor jump, Up: Cursor jump 対応オブジェクトへのジャンプ ============================ 文書中のいろいろな場所で `[prefix] g' ... 対応するオブジェクトにジャンプ を押すことにより、カーソル位置のLaTeXコマンドに対応する場所にジャンプ します。対応関係が存在すると解釈されるコマンドには以下のものがあります。 * `\begin{}' ←→ `\end{}' * `%#BEGIN' ←→ `%#END' * 画像ファイルの取り込みマクロ → 対応するviewer/お絵かきツール起動 * `\label{}' ←→ `\ref{}' * `\include(\input)' → 対応するファイル * `\bibitem{}' ←→ `\cite{}' `\begin{}' か `\end{}' の行で`[prefix] g'を押すことに より、対応する`end/begin'の行にジャンプします。もちろん対応するものが ない場合はエラーになります。またこれは、領域固定のための `%#BEGIN' と `%#END' のペアに対しても同様に動作します。なお、`label/ref'や `cite/bibitem'対応するものが別ファイルにある時は、ジャンプ先となるファ イルがオープンされていなければなりません。*Note %#notation::. メインの .tex ファイルの `\include{chap1}' などにカーソルを合わせ、 `[prefix] g' を押すと、`chap1.tex' にジャンプします。 また、 `[prefix] 4 g' ... 別ウィンドウで対応オブジェクトにジャンプ を押すと、対応するオブジェクトへのジャンプを別ウィンドウで行います。た だし、この機能は `begin/end', `%#BEGIN/%#END' 間のジャンプに対しては (意味がないと思われるので)機能しないので注意してください。 File: yatexj, Node: お絵描きツール起動, Next: メインファイルへのジャンプ, Prev: 対応オブジェクトへのジャンプ, Up: Cursor jump お絵描きツール起動 ================== 上記の「画像ファイルの取り込みマクロ」とは、例えば `\epsfile{file=foo}' のような挿絵取り込みコマンドのことで、この行にカー ソルを合わせて`[prefix] g'を押すとその画像ファイルの元となったファイル を対応するお絵描きツールを起動してオープンします。起動するツールの判定 は以下のようになされます。 1. カレント行が変数 `YaTeX-processed-file-regexp-alist' に定義されて いる正規表現のいずれかとマッチしたら、ファイル名に相当する部分を \\(\\)から抜き出して覚えておく(何番目の\\(\\)かは変数の各リストの cdr 部に入れておく)。マッチしなければ何もしない。 2. 行末に、変数 `YaTeX-file-processor-alist' に登録されているコマン ドが「%コマンド」 のように書いてあれば強制的に「コマンド ファイル 名.拡張子」を起動。 3. なければ、変数 `YaTeX-file-processor-alist' の各リストのcdr部に入っ ている拡張子を「ファイル名」の後ろに足したファイルが存在するか順 次調べて、存在した場合car部に入っているコマンドを起動する。 4. 以上どれかにマッチしなければあきらめる。 変数 `YaTeX-file-processor-alist' と変数 `YaTeX-file-processor-alist' の設定方法についてはそれぞれの変数について describe-variable して説明 を読んで下さい。うまく設定すると、画像ファイルにかぎらず、任意の形式の ファイルを任意のプロセッサで処理するコマンドを簡単に呼び出すことができ ます。 File: yatexj, Node: メインファイルへのジャンプ, Next: 環境を単位としたジャンプ, Prev: お絵描きツール起動, Up: Cursor jump メインファイルへのジャンプ ========================== `chap1.tex'のようなサブファイルで、 `[prefix] ^' ... メインファイルにジャンプ `[prefix] 4 ^' ... 別ウィンドウでメインファイルにジャンプ を押すと、メインファイルの編集バッファに切替えます。もし、メインファイ ルをオープンしていない場合は、カレントディレクトリから探して自動的にオー プンします。 File: yatexj, Node: 環境を単位としたジャンプ, Next: 最後の補完位置へのジャンプ, Prev: メインファイルへのジャンプ, Up: Cursor jump 環境を単位としたジャンプ ======================== さらに現在の環境を単位として機能するコマンドに以下のものがあります。 `M-C-a' ... 環境の先頭(`\begin')へジャンプ `M-C-e' ... 環境の末尾(`\end')へジャンプ `M-C-@' ... 環境全体をマーク 上記のコマンドは通常の`[prefix]'キーではなく`META'キーをプリフィクスと して機能するのでご注意下さい。 File: yatexj, Node: 最後の補完位置へのジャンプ, Prev: 環境を単位としたジャンプ, Up: Cursor jump 最後の補完位置へのジャンプ ========================== 野鳥は補完入力した位置を常にレジスタ `3'に保存しています。入力途中で如 何なるファイルの如何なる位置に行ったとしても、`C-x j 3'(`jump-to-register')を使って直ちに最後の補完入力位置に戻ることができ ます。 File: yatexj, Node: Modifying/Deleting, Next: Filling, Prev: Cursor jump, Up: Top 変更/削除 ********* 既に入力されている LaTeX コマンドの変更/削除のために以下の機能が用意 されています。 `[prefix] c' ... カーソル位置の LaTeX コマンドの変更 `[prefix] k' ... カーソル位置の LaTeX コマンドの削除 これらのコマンドは、コマンドを起動する場所によって動作を決定するので注 意して下さい。 * Menu: * Changing LaTeX command:: LaTeX コマンドの変更 * Killing LaTeX command:: LaTeX コマンドの削除 File: yatexj, Node: Changing LaTeX command, Next: Killing LaTeX command, Prev: Modifying/Deleting, Up: Modifying/Deleting LaTeX コマンドの変更 ==================== 変更したい LaTeX コマンドにカーソルを合わせて `[prefix] c' を押すとそのコマンドを補完入力などを用いて手軽に変えることができます。 `[prefix] c' で変更できるコマンドには以下のものがあります。 * `begin/end' の環境名 * section型コマンドのコマンド名 * section型コマンドの引数 * section型コマンドのオプションパラメータ([]で囲まれたもの) * large型コマンド * (イメージ補完で入力可能な)数式モード専用のmaketitle型コマンド 変えたいsection型コマンドの引数がさらに LaTeX コマンドを含む場合は、 その引数を囲む中括弧の上で `[prefix] c' を押すことで中のコマンドを変更 対象判定から除外することができます。 File: yatexj, Node: Killing LaTeX command, Prev: Changing LaTeX command, Up: Modifying/Deleting LaTeX コマンドの削除 ==================== `[prefix] k' は起動する位置により次のような動作を行います。 起動位置 動作 \begin, \endの行 `\begin\end'ペアの削除 %#BEGIN, %#END の行 %#BEGIN,%#ENDペアの削除 section型コマンドの上(中) section型コマンドの削除 フォント指定括弧の上 フォント指定の削除 括弧の上 対をなす括弧の削除 `\begin, \end' および `%#BEGIN, %#END' を削除する場合、`\begin, \end' や `%#BEGIN, %#END' の存在する行はまるごと削除されるので、それらの一行 に `\begin' などを二つ以上連ねて書かないように注意してください。上記の ものはすべて本文を囲う「容器」を削除するように働きますが、 universal-argument (`C-u') を打った後で`[prefix] k'をタイプすると、そ れぞれの「容器」に含まれる「中身」も一気に削除します。以下の例を参考に して下さい。 元のテキスト: [prefix] k C-u [prefix] k 本文\footnote{脚注}です。 本文脚注です。 本文です。 ↑(カーソル位置) File: yatexj, Node: Filling, Next: Includeonly, Prev: Modifying/Deleting, Up: Top 桁揃え ****** itemの桁揃え ============ itemize 環境中にある`\item'の項目(文章)が複数行に渡る場合に、項目の 先頭を桁揃えしたい場合には、 `M-q' ... 桁揃え によって、その item のインデントの深さに応じて fill されます。なお、古 いNTT jTeX を使用している場合には、Lisp 変数`NTT-jTeX'を`t'にセットし て下さい。 このとき、変数`YaTeX-item-regexp'の値(標準では `"\\\\item"')を 項目指定コマンドの正規表現として検索に使用します。itemize 環境で、独自のコ マンドを定義して項目を列挙している場合(例えば`\underlineitem')は、 `~/.emacs' で次のように指定して下さい。 (setq YaTeX-item-regexp "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)") この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を ``"\item"'で始まるものにして下さい(例えば"\itembf"')。 野鳥の `M-q' では `\item' を環境に応じて以下のように「ハングインデント」 します。 itemize, enumerate環境: >\item[ほげほげ] 英語では、特に意味のない単語を `foo' であらわしま > すが、これの日本語版ともいえる単語が「ほげほげ」 > です。 description環境: > \item[へろへろ] 「ほげほげ」をでたらめが単語として使った時に、第 > 2のでたらめな単語として「へろへろ」が使われることが多 > いようです。 パラグラフの桁揃え ================== itemize環境以外でのパラグラフの桁揃え(fill)は、基本的に他のモードと 同じように機能しますが、verbatim環境や、tabular環境など桁揃えをすると 悲惨な状況になるような環境中では機能しません。また、\verb で括ってある ものは決して行分割されません(変数 `YaTeX-verb-regexp' で制御) )。さら に、一時的にインデントの深さを変えてある箇所では、そのインデントの先頭 で`M-q'を押すことにより fill-prefix をいちいち変更しなくて桁揃えができ ます。 File: yatexj, Node: Includeonly, Next: What column, Prev: Filling, Up: Top 勝手にincludeonly ***************** ファイルを分割して文章を入力している時には、メインファイル中に \includeonly{現在編集中のファイル名} のように書いておくことで、タイプセットの時間を節約できますが、ちょっと 他のファイルを手直ししたい時には \includeonly{ちょっと手直ししたいファイル名} と書き直さなければならず手間がかかります。野鳥では現在編集しているファ イル名がメインファイルの`\includeonly'にない場合には自動的にこれを検出 し、次の指示を仰ぎます。 A)dd R)eplace %)comment? 現在編集中のファイルを `\includeonly' のリストに加えたい時には`a'を、 現在編集中のファイルだけを `\includeonly' にしたい時は`r'を、 `\includeonly' の行をコメントアウトして無効化したい時には、`%'をそれぞ れ押して下さい。 File: yatexj, Node: What column, Next: Intelligent newline, Prev: Includeonly, Up: Top ここはどこ? *********** 項目数の多い tabular などをたくさん書いていると下の方の行で、いま書 いている桁がどこに対応するのかわからなくなってしまうことがあります。例 えば、以下のような tabular において、 \begin{tabular}{|c|c|c|c|c|c|c|c|}\hline 氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline 矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy & zzz-www & トンガ & 9876-54321 \\ 日吉小僧 & 2 & \multicolumn{2}{c|}{教えない} &&&(???) \\ \hline \end{tabular} (???)の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時 は、 `[prefix] &' ... 現在のカラム表示 を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示 します。tabular/array環境の第1行目を項目名の並びとみなして対応するもの を探します。もし項目名として別のものを表示して欲しい場合は、行頭を`%' にしてダミーの項目並びを作っておくと良いでしょう。 File: yatexj, Node: Intelligent newline, Next: Usepackage cheker, Prev: What column, Up: Top おまかせ改行 ************ tabular[*], array, itemize, enumerate, tabbing 環境をbegin型補完で入 力した時、または各環境内で `ESC RET' ... おまかせ改行 を押すと、その環境に応じた行エントリを次の行に挿入します(begin型補完時 に自動挿入されたエントリが不要な場合は undo によって消去できます)。例 えば、tabular環境では、その環境のカラム数に対応した個数の `&' に加え、 行末の `\\' を入れます。この時それ以前に `\hline' があればそれも付け加 えます。環境とそれに応じて自動入力するものの対応は以下のようになります。 * `tabular', `tabular*', `array' カラム数-1 だけの `&' と `\\'。必要に応じて `\hline' * `tabbing' 一行目で定義している `\=' と同じ個数の `\>'。 * `itemize', `enumerate', `description', `list' `\item' または `item[]' tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動 作するので、なるべく二行目以降で呼び出すようにしてください。 もし、その他の環境、例えば `foo'、に対して`おまかせ改行'を動作 させたい時は、`YaTeX-intelligent-newline-foo' という名前の関数を定義 します。定義した関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれま す。関数 `YaTeX-indent-line' を呼ぶと現在の環境のネストに応じた深さに インデントされるので、これを呼んでから何かを挿入するようなコードを書くとよ いでしょう。`yatexenv.el'内の関数 `YaTeX-intelligent-newline-itemize' の定義などを参考にしてください。 File: yatexj, Node: Usepackage cheker, Next: Changing mode of YaTeX, Prev: Intelligent newline, Up: Top 先回りusepackage **************** begin型、section型、maketitle型、いずれかのLaTeX2eマクロを補完入力す ると、そのマクロの利用に外部パッケージを必要とする場合、そのパッケージ を本文中で `\usepackage{}' しているかどうかを調査し、もししていなけれ ばプリアンブルに対応するパッケージを引数にした `\usepackage' 文を(確認 後に)挿入します。 ただしこの機能が働くためには、パッケージ名とその中で定義されているマ クロ群をalistの形式で変数 `YaTeX-package-alist-private' に設定しておく 必要があります。 File: yatexj, Node: Changing mode of YaTeX, Next: Online help, Prev: Usepackage cheker, Up: Top 野鳥の動作モード切り替え ************************ `[prefix] w' ... 野鳥動作モード切り替えメニュー で野鳥自身の動作を決定する以下のモードを切り替えます。 * 修正モード * 野鳥数式モード 修正モードは、開き括弧入力時の処理をコントロールし、修正モードONの時は 開き括弧の入力は開き括弧のみの入力になり、修正モードOFFの時は開き括弧 の入力だけで閉じ括弧まで入力します。デフォルト(起動時)の設定は*OFF*で す。 野鳥数式モードは、変数 `YaTeX-auto-math-mode' が `nil' の時の み有効で、このとき`;'や`:'を押した時(*Note Image completion::参照)に、 どのようなイメージ補完を機能させるか、通常のキーとして機能させるかを手動で 切り替えます。自動判定が遅いマシンでは`YaTeX-auto-math-mode' `nil'にセットし、野鳥数式モードを手動で切り替えると良いでしょう。 File: yatexj, Node: Online help, Next: Inclusion hierarchy browser, Prev: Changing mode of YaTeX, Up: Top オンラインヘルプ **************** 使おうとする LaTeX コマンドの用法がよく分からない時は、オンラインヘ ルプをひきましょう。ヘルプに関するキーには以下のものがあります。 `[prefix] ?' ... オンラインヘルプ `[prefix] /' ... オンラインapropos オンラインヘルプ ================ 「オンラインヘルプ」は、一般的な LaTeX コマンド(デフォルトでカーソル 位置のコマンド)に対する説明を隣のバッファに表示します。この時参照され るヘルプ用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二 種類があり、前者は LaTeX の標準コマンドの主なものの説明を含むファイル で、変数`YaTeX-help-file'の値で指定されます。このファイルは通常公共の 場所(デフォルトで`$EMACSEXECPATH')に置かれ、誰もがその内容を更新できる ように全員に書き込み権が与えられるべきものです。後者は、非標準もしくは 個人的なマクロ定義に関する説明が書かれているファイルで、変数 `YaTeX-help-file-private'の値で指定されます。こちらはユーザのホームディ レクトリの下などに置かれます。 オンラインapropos ================= 「オンラインapropos」は GNU Emacs の apropos と同様、ユーザが指定し たキーワードを説明文に含む項目すべてを隣のバッファに表示します。 もし、調べようとしたLaTeXコマンドに対する説明がヘルプファイル中に見 つからなかった場合は、説明文の入力を求めてくるので、可能であれば参考書 などを調べてそのコマンドの説明を入力してください。もし、なにか標準的な コマンドに対する説明を書いたならばぜひ私までその説明をお送り下さい。次 回の配布に含めたいと思います。 File: yatexj, Node: Inclusion hierarchy browser, Next: Cooperation with other packages, Prev: Online help, Up: Top インクルード構造ブラウザ ************************ 複数のファイルに分割しているドキュメントを書いている場合、 `[prefix] d' ... インクルード構造ブラウズ を押すと、そのドキュメントの親ファイルを聞いて来ます。ここで全てのファ イルの親となるファイル(デフォルトが示されているので大抵はRETのみ)を入 力するとインクルードしている全てのファイルを解析し、インクルード状況を 視覚的に表示します。このバッファでは以下のキー操作が有効です。 `n' ... 次の行に移動し対応するファイルを隣のバッファに表示 `p' ... 上の行に移動し対応するファイルを隣のバッファに表示 `N' ... 同じインクルードレベルの次のファイルに移動 `P' ... 同じインクルードレベルの前のファイルに移動 `j' ... 次の行に移動 `k' ... 上の行に移動 `u' ... 一代親にあたるファイルに移動 `.' ... カーソル位置のファイルを隣のバッファに表示 `SPC' ... 隣のバッファの対応ファイルをスクロールアップ `DEL, b' ... 隣のバッファの対応ファイルをスクロールダウン `<' ... 隣のバッファの対応ファイルの先頭を表示 `>' ... 隣のバッファの対応ファイルの末尾を表示 `'' ... (`<'や`>'の後で)元の表示位置に戻る `RET, g' ... カーソル位置のファイルを隣のバッファでオープン `mouse-2' ... RETと同じ(ウィンドウ使用時のみ) `o' ... 隣のウィンドウに移動 `1' ... 他のウィンドウを消す `-' ... ブラウズウィンドウを小さくする `+' ... ブラウズウィンドウを大きくする `?' ... ヘルプ表示 `q' ... 表示前の状態に戻る ただし、隣のウィンドウのファイルの内容を表示する機能に関しては、対応 するファイルをクローズしてしまうとうまく働きませんのでご注意ください。 File: yatexj, Node: Cooperation with other packages, Next: Customizations, Prev: Inclusion hierarchy browser, Up: Top 他パッケージとの連携 ******************** gmhist ====== `gmhist.el'と`gmhist-mh.el' をロードしている場合、プレヴューコマンド の入力(`[prefix] tp]')、印刷コマンドの入力(`[prefix] tl')の時に独立し たヒストリを利用できます。それぞれのプロンプトで、`M-p' を押すと直前に 利用したコマンド文字列をくり返し呼び出すことができます。 min-out ======= `min-out.el' (`outline-minor-mode') と野鳥を組み合わせて使うこともも ちろん可能です。設定の方法に関しては`yatexm-o.el'をご覧ください。 File: yatexj, Node: Customizations, Next: Etc, Prev: Cooperation with other packages, Up: Top カスタマイズ ************ 野鳥の動作を制御する種々の変数を独自に設定することにより、補完入力を 起動するキーアサインを変えたり、環境名の補完候補をさらに充実させること などができます。 * Menu: * Lisp variables:: lisp 変数 * Add-in functions:: 付加関数(アドイン関数) File: yatexj, Node: Lisp variables, Next: Add-in functions, Prev: Customizations, Up: Customizations lisp 変数 ========= 例えば prefix キーを `C-c' 以外のキーにしたい場合は、`YaTeX-prefix' に prefix キーにしたいシンボルを定義してください。さらに、「`C-c 英字'」 というキーバインドは独自の関数が割り当ててあるので使いたくない。このよ うな時は、`YaTeX-inhibit-prefix-letter' を `t' に設定することにより、 `C-c 英字…'のバインドが全て、対応する`C-c C-英字…'に変わります(ただ し、begin型 large型補完の大文字起動によるリジョン指定は可能なままです。 これも無効にしたい場合は`t'ではなく 1 にセットして下さい。)。 * Menu: * All customizable variables:: カスタマイズ変数一覧 * Sample definitions:: カスタマイズ変数設定例 * Hook variables:: hook変数 * Hook file:: hook用ファイル File: yatexj, Node: All customizable variables, Next: Sample definitions, Prev: Lisp variables, Up: Lisp variables カスタマイズ変数一覧 -------------------- yatex-mode における次の変数がカスタマイズ可能です。`~/.emacs' で `setq' しておけば、そちらの定義が優先されます。括弧の中はデフォルト値 です。実際に変数の値を変更する場合は `M-x describe-variable' で変数の 詳細な説明を参照してください。 -- Variable: YaTeX-prefix yatex-mode 中のプリフィクスキー (`\C-c') -- Variable: YaTeX-inhibit-prefix-letter prefix キーの直後のキーバインドで `英字' のものを `C-英字' に変更 (`nil') -- Variable: YaTeX-fill-prefix 本文を書く時の行頭に挿入する接頭辞すなわち fill-prefix (`""(nil)') -- Variable: YaTeX-user-completion-table 学習したLaTeXコマンド保存ファイル名 (`"~/.yatexrc"') -- Variable: YaTeX-kanji-code 文書を作成する時の漢字コードnil=既存のコードのまま 0=no-conversion 1=Shift JIS, 2=JIS, 3=EUC, 4=UTF-8 (2 (MS-DOSでは 1)) -- Variable: tex-command LaTeXタイプセッタコマンド名 (`"platex"') -- Variable: dvi2-command プレヴューアコマンド名 (`"xdvi -geo +0+0 -s 4"') -- Variable: dviprint-command-format dviファイルの印刷に使われるコマンド式 (`"dvi2ps %f %t %s | lpr"') -- Variable: dviprint-from-format 上の`%f'に相当する開始ページ指定書式、`%b' が開始ページ番号に変わ る (`"-f %b"') -- Variable: dviprint-to-format `%t' に相当する終了ページ指定書式、`%e'が終了ページ番号に変わる (`"-t %e"') -- Variable: makeindex-command makeindexコマンド (`"makeindex"' (MS-DOSでは`"makeind"')) -- Variable: YaTeX-dvipdf-command dviをPDFに変換するコマンド (`"dvipdfmx"') -- Variable: YaTeX-on-the-fly-preview-interval `[prefix] t e'で環境即時previewをする場合の変換処理までの 無操作時間(秒) (0.9) `nil' の場合は即時プレヴューをしない。 -- Variable: YaTeX-on-the-fly-math-preview-engine `[prefix] t e'で数式環境を即時previewする時に用いるエンジン (latex-math-previewが利用可能なときは latex-math-preview-expression を呼ぶ `'YaTeX-typeset-environment-by-lmp'そうでないときは内蔵関数を呼ぶ `'YaTeX-typeset-environment-by-builtin') -- Variable: YaTeX-cmd-gimp GIMPを起動するコマンド (code{"gimp"}) -- Variable: YaTeX-cmd-tgif tgifを起動するコマンド (code{"tgif"}) -- Variable: YaTeX-cmd-inkscape Inkscapeを起動するコマンド (code{"inkscape"}) -- Variable: YaTeX-cmd-dia Diaを起動するコマンド (code{"dia"}) -- Variable: YaTeX-cmd-ooo OpenOffice.orgまたはLibreOfficeを起動するコマンド (code{"soffice"}) -- Variable: YaTeX-cmd-gs Ghostscriptを起動するコマンド (code{"gs"}) -- Variable: YaTeX-cmd-dvips dvipsを起動するコマンド(環境によってはpdvipsなど) (code{"dvips"}) -- Variable: YaTeX-cmd-displayline displaylineを起動するコマンド (code{"/Applications/Skim.app/Contents/SharedSupport/displayline"}) -- Variable: YaTeX-cmd-edit-ps PostScriptファイルを編集するコマンド (変数code{"YaTeX-cmd-gimp"} の値) -- Variable: YaTeX-cmd-edit-pdf PDFファイルを編集するコマンド (変数code{"YaTeX-cmd-ooo"}の値) -- Variable: YaTeX-cmd-edit-ai .aiファイルを編集するコマンド (変数code{"YaTeX-cmd-inkscape"}の値) -- Variable: YaTeX-cmd-edit-svg SVGファイルを編集するコマンド (変数code{"YaTeX-cmd-inkscape"}の値) -- Variable: YaTeX-cmd-edit-images その他画像ファイルを編集するコマンド (変数code{"YaTeX-cmd-gimp"} の値) -- Variable: YaTeX-need-nonstop `\nonstopmode{}'を自動的に付加するか (`nil') -- Variable: latex-warning-regexp latexコマンドの出力するウォーニング行の正規表現 (`"line.* [0-9]*"') -- Variable: latex-error-regexp 同じくエラー行の正規表現 (`"l\\.[1-9][0-9]*"') -- Variable: latex-dos-emergency-message MS-DOS上で動作する latex コマンドが、エラーにより停止するとき出力 するメッセージ (`"Emergency stop"') -- Variable: latex-message-kanji-code タイプセッタの出力するメッセージの漢字コード.タイプセットバッファ の出力が化ける時は、これを設定する (2, Nemacsでのみ有効) -- Variable: NTT-jTeX 古いNTT-jTeX使用時のようにインデントした行の先頭と前の行の(タイプ セット後の)字間が空いてしまうのを嫌う場合は`t'にする(`nil') -- Variable: YaTeX-item-regexp itemの桁揃えの時に用いる、itemの正規表現 (`"\\\\(sub\\)*item"') -- Variable: YaTeX-verb-regexp verbコマンドの正規表現。先頭の\\\\はつけない (`"verb\\*?\\|path"') -- Variable: YaTeX-nervous ローカル辞書を用いる時 `t' (`t') -- Variable: YaTeX-sectioning-regexp セクション区切り設定コマンドの正規表現 (`"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"') -- Variable: YaTeX-fill-inhibit-environments fill を抑止する環境名のリスト (`'("tabular" "tabular*" "array" "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" "verbatim" "verbatim*")') -- Variable: YaTeX-uncomment-once 領域uncommentで行頭の複数の`%'を全て削除するか (`nil') -- Variable: YaTeX-close-paren-always 開き括弧の入力で常に閉じ括弧を入力する (`t') -- Variable: YaTeX-auto-math-mode 数式モードの切り替えを自動的に行う (`t') -- Variable: YaTeX-math-key-list-private 数式イメージ補完で用いる (プリフィクスキー . 対応補完テーブル) の alist (`nil')。補完テーブルの書き方については`yatexmth.el'を参照。 -- Variable: YaTeX-default-pop-window-height 1画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行 数、数字文字列でEmacsウィンドウに対する百分率 (10) -- Variable: YaTeX-help-file 共用ヘルプファイル (`$doc-directory/../../site-lisp/YATEXHLP.jp') -- Variable: YaTeX-help-file-private 個人用ヘルプファイル (`"~/YATEXHLP.jp"') -- Variable: YaTeX-no-begend-shortcut `[prefix] b ??' のショートカットを使わず、`[prefix] b' だけで補完 入力に入る (`nil') -- Variable: YaTeX-hilit-pattern-adjustment-private 正規表現とそれにマッチするものの論理的意味をシンボルであらわした もののリスト…のリスト。hilit19 を組み込んでいる時のみ有効。詳し くは `(assq 'yatex-mode hilit-patterns-alist)' した結果と、変数 `YaTeX-hilit-pattern-adjustment-default' の値(と場合によっては hilit19 のドキュメント)を参照せよ。 -- Variable: YaTeX-sectioning-level LaTeXのセクション単位宣言コマンドとその論理的高さのalist。 -- Variable: YaTeX-hierarchy-ignore-heading-regexp Hierarchy バッファは通常ファイルヘッダとして、LaTeXのセクション宣 言コマンドの引数を検索し、それがなければコメント行を探すが、その 際にヘッダとしては意味を持たないパターンをこの変数に設定する。デ フォルトでは RCS ヘッダとモード指定行(-*- xxx -*-)が設定されてい る。 -- Variable: YaTeX-skip-default-reader Non-nil に設定するとsection型コマンドの引数入力時、アドイン関数が なければミニバッファでの読み込みをせずに入力を完了させる (`nil') -- Variable: YaTeX-create-file-prefix-g `\include'などで `prefix g'した時に、ジャンプ先が存在しないファイ ルであってもオープンする (`nil') -- Variable: YaTeX-simple-messages 各種補完時のメッセージ出力を簡素化する (`nil') -- Variable: YaTeX-hilit-sectioning-face 色付けが有効な時の `\part' の色 (`'(yellow/dodgerblue yellow/slateblue)')。リストの第一要素は `hilit-background-mode' が `'light' の時の、第二要素は `'dark' の時の `\chapter' の色で、 文字色/背景色 のように指定する。 -- Variable: YaTeX-hilit-sectioning-attenuation-rate 色付けが有効な時の、`\subparagraph' の色を `\chapter' の濃度の何% 薄くしたものにするか (`'(15 40)') `YaTeX-hilit-sectioning-face'の 項参照。 -- Variable: YaTeX-use-AMS-LaTeX AMS-LaTeX を使用する場合は `t' に設定する (`nil') -- Variable: YaTeX-use-LaTeX2e LaTeX2e を使用する場合は `t' に設定する (`t') -- Variable: YaTeX-template-file 新規ファイル作成時に自動挿入するファイル名 (`~/work/template.tex') -- Variable: YaTeX-search-file-from-top-directory inputするファイルを探すときの基準ディレクトリをmainファイルのある ディレクトリにするか (`t') -- Variable: YaTeX-use-font-lock ソースの色づけパッケージとして font-lock を利用するかどうか (`(featurep 'font-lock)') -- Variable: YaTeX-use-hilit19 ソースの色づけパッケージとして hilit19 を利用するかどうか (`(featurep 'hilit19)') -- Variable: YaTeX-use-italic-bold italic, boldフォントを野鳥が探すかどうか (Emacs20以降なら`t') font-lock利用時のみ有効。(`(featurep 'hilit19)' -- Variable: YaTeX-singlecmd-suffix 全てのmaketitle型コマンドの補完入力直後に挿入する文字列。 `"{}"' などがお勧め。 -- Variable: YaTeX-package-alist-private LaTeX2eのパッケージ名とその中に含まれるマクロのリスト。適切に設定 しておくと本文入力時にマクロを補完入力するとそのマクロに必要なパッ ケージを usepackage するか自動的に検査してくれる。していなければ \usepackage を自動追加することもできる。リストは'((パッケージ名1 (補完タイプ マクロのリスト……) (補完タイプ マクロのリスト……)) (パッケージ名2 (補完タイプ マクロのリスト……) (補完タイプ マクロ のリスト……))………)という形式にする。補完タイプは `env, section, maketitle' のどれか。具体例は変数 `YaTeX-package-alist-default'の値参照。 -- Variable: YaTeX-tabular-indentation tabular/array 環境で現在行の先頭位置が表の第Nカラムのときは標準イ ンデント位置から N*YaTeX-tabular-indentation 桁下げたインデントに する。 -- Variable: YaTeX-noindent-env-regexp 別の環境内にあっても \begin{} が行頭から始まるべき環境名の正規表 現。verbatim環境などを指定する。 -- Variable: YaTeX-electric-indent-mode Emacs 24.4 で導入された改行時の、自動インデントをどうするか。 この値がそのまま electric-indent-local-mode に渡される。 -1でoff。 -- Variable: YaTeX-ref-default-label-string \ref{} のラベル補完でラベル未設定のものに自動的に生成するラベル名 の書式。strftime(3)関数に似た日付ベースで指定する。利用できる書式 は以下のとおり。%y -> 西暦下二桁, %b -> 月の英名, %m -> 月(1〜12) %d -> 日, %H -> 時, %M -> 分, %S -> 秒, %qx -> アルファベットで26 進数化した yymmdd. %qX -> アルファベットで26進数化した HHMMSS. デフォルトは "%H%M%S_%d%b%y" -- Variable: YaTeX-ref-generate-label-function \ref{}のラベル名自動生成のときに使う関数のシンボル。デフォルトは 標準の YaTeX::ref-generate-label 関数が割り当ててある。引数を2つ 取る関数を定義して、この変数にセットするとその関数を呼んだ結果を デフォルトのラベル名候補とする。設定例: (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label) (defun my-yatex-generate-label (command value) (and (string= command "caption") (re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t) (setq command (match-string 1))) (let ((alist '(("chapter" . "chap") ("section" . "sec") ("subsection" . "subsec") ("figure" . "fig") ("table" . "tbl")))) (if (setq command (cdr (assoc command alist))) (concat command ":" value) (YaTeX::ref-generate-label nil nil)))) File: yatexj, Node: Sample definitions, Next: Hook variables, Prev: All customizable variables, Up: Lisp variables カスタマイズ変数設定例 ---------------------- たとえば、prefix キーとして`ESC'を使用し、新たな補完候補を格納するファ イルを、`~/src/emacs/yatexrc' にし、行頭の prefix をタブ文字一つに変え たいときは、 (setq YaTeX-prefix "\e" YaTeX-user-completion-table "~/src/emacs/yatexrc" YaTeX-fill-prefix " ") を `~/.emacs' に加えます。 File: yatexj, Node: Hook variables, Next: Hook file, Prev: Sample definitions, Up: Lisp variables hook変数 -------- また、hook 変数 `yatex-mode-hook', `yatex-mode-load-hook' を用意して います。すべての yatex-mode のバッファで作用させたいものは、 `yatex-mode-hook' に記述し、`yatex.el' をロードする時だけ作用させたい ものは`yatex-mode-load-hook' に記述します。例えば、 `outline-minor-mode' を利用する場合、それぞれのバッファで `outline-minor-mode' を有効にしたいので、`yatex-mode-hook' を次のよう に設定します。 (setq yatex-mode-hook '(lambda () (outline-minor-mode t))) 逆に、独自のキー定義を行いたい時などは、`yatex-mode-load-hook' を利用 します。例えば、begin 型補完において、 document や、enumerate 以外の環 境名もショートカットキーで入れたいなどという時は、次のようにします。以 下の例は、`[prefix] ba' で `\begin{abstract}', `\end{abstract}' を挿入 します。 (setq yatex-mode-load-hook '(lambda() (YaTeX-define-begend-key "ba" "abstract"))) なお、新たなキーの定義には、関数 `YaTeX-define-key' `YaTeX-define-begend-key'を利用するようにしてください。 File: yatexj, Node: Hook file, Prev: Hook variables, Up: Lisp variables hook用ファイル -------------- 変数 `yatex-mode-load-hook' で定義する内容が多い時は、`yatexhks.el' というファイルを作り、その中に野鳥関連の設定を書く事で、初期化の時に自 動的にロードします。 File: yatexj, Node: Add-in functions, Prev: Lisp variables, Up: Customizations 付加関数(アドイン関数) ====================== 各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実 現するための関数を作成することができます。この関数の作成方法や、組み込 み方法に関しては、`yatexadd.doc' をご覧ください。 File: yatexj, Node: Etc, Next: Copying, Prev: Customizations, Up: Top その他 ****** 野鳥の標準の LaTeX コマンドの辞書には、作者が頻繁に使うものしか登録 されていません。これは、補完候補に使いそうもないコマンドが存在して、補 完したいコマンドを出すまでのストローク数を増やしてしまう事を防止するた めです。標準辞書にないコマンドも、できるだけ補完入力方式を利用し、ユー ザ辞書を充実させることで、あなたの LaTeX スタイルにあった野鳥へと育っ ていくことでしょう。 File: yatexj, Node: Copying, Next: Concept Index, Prev: Etc, Up: Top 取り扱い ******** 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたい かなる結果に対しても作者は責任を負わないこととします。転載等に関しては 制限いたしません。常識的に扱ってください。また、本プログラムに含まれる コードを利用すること、改造することも自由に行なって構いませんが、流用す ることにより契約締結の必要が生じる場合、私はいかなる契約も締結しません。 具体的にはGPLへのサインはしませんので、GNUに寄贈するものを作っている場 合私の作品から取り込んだコードを流用すると苦労するかもしれません。いか なるコード流用も拒否しませんが契約締結は辞退します。 苦情、希望、バグ報告、感想等は歓迎いたします。連絡は yuuji@yatex.org まで(2017年9月現在)。継続的に使用してくださる方はメイリングリスト「fj 野鳥の会」に是非加入してください。加入方法については本パッケージの `docs/qanda'ファイルの「その他」の章を御覧ください。 仕様は、予告なく確実に(気分次第で)変更されます:-p。 広瀬雄二 File: yatexj, Node: Concept Index, Prev: Copying, Up: Top 索引 **** * Menu: * 引数の個数を変える[ひきすうのこすうをかえる]: 2個以上の引数をとる section型コマンド. (line 26) * 引数[ひきすう]: 2個以上の引数をとる section型コマンド. (line 5) * 欧文[おうふん]: Accent mark completion. (line 5) * アクセント記号補完[あくせんときこうほかん]: Accent mark completion. (line 5) * カスタマイズ変数一覧[かすたまいすへんすういちらん]: All customizable variables. (line 5) * 随時補完[すいしほかん]: Arbitrary completion. (line 5) * %#BEGIN: Fix region for typesetting. (line 5) * C-c: Invocation. (line 5) * エラー修正[えらあしゆうせい]: Calling typesetter. (line 5) * タイプセットエラー[たいふせつとえらあ]: Calling typesetter. (line 5) * タイプセッタ起動[たいふせつたきとう]: Calling typesetter. (line 5) * 環境名の変更[かんきようめいのへんこう]: Changing LaTeX command. (line 21) * モード切り替え[もうときりかえ]: Changing mode of YaTeX. (line 5) * タイプセッタの使い分け[たいふせつたのつかいわけ]: Changing typesetter. (line 13) * 起動するコマンドを変える[きとうするこまんとをかえる]: Changing typesetter. (line 8) * コメントアウト[こめんとあうと]: Commenting out. (line 5) * その他のコマンド制御[そのたのこまんとせいきよ]: Controlling which command to invoke. (line 5) * 他パッケージとの連携[たはつけえしとのれんけい]: Cooperation with other packages. (line 5) * ヒストリ[ひすとり]: Cooperation with other packages. (line 9) * コマンドヒストリ[こまんとひすとり]: Cooperation with other packages. (line 9) * カーソルジャンプ[かあそるしやんふ]: Cursor jump. (line 5) * キーアサイン[きいあさいん]: Customizations. (line 5) * カスタマイズ[かすたまいす]: Customizations. (line 5) * Demacs: Intro. (line 5) * %#END: Fix region for typesetting. (line 5) * %#記法自体の編集[%#きほうしたいのへんしゆう]: Editing %# notation. (line 5) * 括る[くくる]: Enclose section-type command. (line 5) * パラグラフの桁揃え[はらくらふのけたそろえ]: Filling. (line 48) * 桁揃え[けたそろえ]: Filling. (line 5) * 領域決定規則[りよういきけつていきそく]: Fix region for typesetting. (line 27) * 長いファイルの編集[なかいふあいるのへんしゆう]: Fix region for typesetting. (line 36) * 固定領域のタイプセット[こていりよういきのたいふせつと]: Fix region for typesetting. (line 5) * :: Greek letter completion. (line 5) * ギリシャ文字補完[きりしやもしほかん]: Greek letter completion. (line 5) * ;自身[;ししん]: Image completion. (line 34) * ∞[むけんたい]: Image completion. (line 5) * Σ[しくま]: Image completion. (line 5) * 矢印[やしるし]: Image completion. (line 5) * 数式モード[すうしきもおと]: Image completion. (line 5) * ;: Image completion. (line 5) * イメージ補完[いめえしほかん]: Image completion. (line 5) * 数式記号イメージ補完[すうしききこういめえしほかん]: Image completion. (line 5) * 他のファイルの手直し[ほかのふあいるのてなおし]: Includeonly. (line 12) * インクルード構造[いんくるうとこうそう]: Inclusion hierarchy browser. (line 5) * 括弧入力補助[かつこにゆうりよくほしよ]: Inserting parens. (line 5) * Install: Installation. (line 5) * インストール[いんすとおる]: Installation. (line 5) * &入力[&にゆうりよく]: Intelligent newline. (line 5) * おまかせ改行[おまかせかいきよう]: Intelligent newline. (line 5) * やちょう[やちよう]: Intro. (line 5) * プリントアウト[ふりんとあうと]: Invocation. (line 5) * プレヴューア[ふれひゆうあ]: Invocation. (line 5) * タイプセッタ[たいふせつた]: Invocation. (line 5) * 環境の削除[かんきようのさくしよ]: Killing LaTeX command. (line 7) * LaTeX: Intro. (line 5) * ローカル辞書[ろおかるししよ]: Local dictionary. (line 5) * M-C-a: 環境を単位としたジャンプ. (line 8) * M-C-e: 環境を単位としたジャンプ. (line 8) * M-C- 環境を単位としたジャンプ. (line 8) * M-q: Filling. (line 48) * 変更/削除[へんこう/さくしよ]: Modifying/Deleting. (line 5) * Mule: Intro. (line 5) * NTT-jTeX[えぬていいていいしえいてつく]: Filling. (line 16) * プライベートヘルプ[ふらいへえとへるふ]: Online help. (line 17) * グローバルヘルプ[くろおはるへるふ]: Online help. (line 17) * キーワード検索[きいわあとけんさく]: Online help. (line 5) * オンラインヘルプ[おんらいんへるふ]: Online help. (line 5) * 出力終了ページ[しゆつりよくしゆうりようへえし]: Print out. (line 10) * 出力開始ページ[しゆつりよくかいしへえし]: Print out. (line 10) * 再帰補完[さいきほかん]: Recursive completion. (line 5) * 設定例[せつていれい]: Sample definitions. (line 5) * 入力ファイル分割[にゆうりよくふあいるふんかつ]: Splitting input files. (line 12) * 現在のカラム表示[けんさいのからむひようし]: What column. (line 25) * ここはどこ?[ここはとこ?]: What column. (line 5) * YaTeX-help-file: Online help. (line 17) * YaTeX-help-file-private: Online help. (line 17) * YaTeX-item-regexp: Filling. (line 21) * YaTeX-math-sign-alist-private: Image completion. (line 61) * YaTeX-nervous: Local dictionary. (line 23) * apropos: Online help. (line 5) * auto-mode-alist: Installation. (line 5) * autoload: Installation. (line 5) * begin型補完[beginかたほかん]: begin型補完. (line 5) * 環境名の補完[かんきようめいのほかん]: begin型補完. (line 5) * ユーザ辞書[ゆうさししよ]: begin型補完. (line 72) * 閉じ込める[としこめる]: begin型補完. (line 82) * ブロック[ふろつく]: begin型補完. (line 82) * .emacs: Installation. (line 5) * end補完[endほかん]: end補完. (line 5) * ghostview: Splitting input files. (line 17) * gmhist: Cooperation with other packages. (line 9) * hook変数[hookへんすう]: Hook variables. (line 5) * includeonly: Includeonly. (line 5) * 勝手にincludeonly[かつてにincludeonly]: Includeonly. (line 5) * itemなどの桁揃え[itemなとのけたそろえ]: Filling. (line 9) * jlatex: Invocation. (line 5) * ラベル自動生成[らへるしとうせいせい]: label-generation. (line 5) * large型補完[largeかたほかん]: large型補完. (line 5) * フォント指定子[ふおんとしていし]: large型補完. (line 19) * 文字サイズ指定子[もしさいすしていし]: large型補完. (line 19) * 括る[くくる]: large型補完. (line 23) * leftarrow: Image completion. (line 5) * お絵描きツール起動[おえかきつうるきとう]: お絵描きツール起動. (line 5) * 環境をマーク[かんきようをまあく]: 環境を単位としたジャンプ. (line 8) * 環境の末尾へ[かんきようのまつひへ]: 環境を単位としたジャンプ. (line 8) * 環境の先頭へ[かんきようのせんとうへ]: 環境を単位としたジャンプ. (line 8) * lpr format: lpr format. (line 5) * lprフォーマットの変更[lprふおおまつとのへんこう]: Editing %# notation. (line 20) * ページ確認省略lpr起動[へえしかくにんしようりやくlprきとう]: Print out. (line 13) * lprフォーマット[lprふおおまつと]: lpr format. (line 5) * lprふぉーまっと[lprふおおまつと]: lpr format. (line 5) * maketitle型補完[maketitleかたほかん]: maketitle型補完. (line 5) * min-out: Cooperation with other packages. (line 18) * platex: Invocation. (line 5) * prefix ,: Commenting out. (line 5) * prefix .: Commenting out. (line 5) * prefix >: Commenting out. (line 5) * prefix <: Commenting out. (line 5) * prefix /: Online help. (line 5) * prefix ?: Online help. (line 5) * prefix SPC: Arbitrary completion. (line 5) * prefix &: What column. (line 5) * prefix a: Accent mark completion. (line 5) * prefix b: begin型補完. (line 5) * prefix c: Modifying/Deleting. (line 5) * prefix d: Inclusion hierarchy browser. (line 5) * prefix e: end補完. (line 5) * prefix g: Cursor jump. (line 5) * prefix i: Filling. (line 9) * prefix k: Modifying/Deleting. (line 5) * prefix key: Invocation. (line 5) * prefix l: large型補完. (line 5) * prefix m: maketitle型補完. (line 5) * prefixキー変更[prefixきいへんこう]: Lisp variables. (line 5) * prefix s: section型補完. (line 5) * prefix w: Changing mode of YaTeX. (line 5) * section型補完[sectionかたほかん]: section型補完. (line 5) * 複雑なtabular[ふくさつなtabular]: What column. (line 5) * 先回りusepackage[さきまわり]: Usepackage cheker. (line 5) * セクション区切り一覧バッファ[せくしよんくきりいちらんはつふあ]: view-sectioning. (line 20) * ジャンプ[しやんふ]: view-sectioning. (line 44) * セクション区切り[せくしよんくきり]: view-sectioning. (line 44) * 論理階層[ろんりかいそう]: view-sectioning. (line 44) * アウトライン[あうとらいん]: view-sectioning. (line 5) * yatex-mode-hook: Hook variables. (line 5) * yatex-mode-load-hook: Hook variables. (line 5) * .yatexrc: Local dictionary. (line 5) Tag table: Node: Top257 Node: Intro1290 Node: Terminology1593 Node: Main features2233 Node: Installation3355 Node: Invocation4615 Node: Calling typesetter5491 Node: Calling previewer6952 Node: Print out7268 Node: %#notation7534 Node: Changing typesetter7975 Node: Splitting input files8233 Node: Fix region for typesetting9189 Node: Special Filtering Region10096 Node: lpr format10732 Node: Controlling which command to invoke11542 Node: Editing %# notation12256 Node: Completion12714 Node: begin型補完13125 Node: section型補完15874 Node: 2個以上の引数をとる section型コマンド16967 Node: Enclose section-type command17783 Node: Recursive completion18107 Node: view-sectioning18412 Node: label-generation19608 Node: large型補完20282 Node: maketitle型補完20816 Node: Arbitrary completion21115 Node: end補完21428 Node: Accent mark completion21769 Node: Image completion22194 Node: Greek letter completion24009 Node: Inserting parens24493 Node: Local dictionary24841 Node: Commenting out25445 Node: Cursor jump26605 Node: 対応オブジェクトへのジャンプ26822 Node: お絵描きツール起動27808 Node: メインファイルへのジャンプ28726 Node: 環境を単位としたジャンプ29062 Node: 最後の補完位置へのジャンプ29419 Node: Modifying/Deleting29656 Node: Changing LaTeX command30062 Node: Killing LaTeX command30612 Node: Filling31484 Node: Includeonly32814 Node: What column33375 Node: Intelligent newline34155 Node: Usepackage cheker35187 Node: Changing mode of YaTeX35614 Node: Online help36190 Node: Inclusion hierarchy browser37167 Node: Cooperation with other packages38445 Node: Customizations38900 Node: Lisp variables39197 Node: All customizable variables39804 Node: Sample definitions48784 Node: Hook variables49218 Node: Hook file50113 Node: Add-in functions50319 Node: Etc50546 Node: Copying50831 Node: Concept Index51455 End tag table