yatex
diff docs/yatexadd.doc @ 12:a7f397790cdc
Revise YaTeX-typeset faster.
Optimize window selection of error-jump.
author | yuuji |
---|---|
date | Mon, 25 Oct 1993 14:35:00 +0000 |
parents | c746646cecf5 |
children | b7b023a74293 |
line diff
1.1 --- a/docs/yatexadd.doc Tue May 04 13:00:17 1993 +0000 1.2 +++ b/docs/yatexadd.doc Mon Oct 25 14:35:00 1993 +0000 1.3 @@ -34,15 +34,84 @@ 1.4 を定義するファイル名を yatexadd.el(またはバイトコンパイルした形式 1.5 のyatexadd.elc)にし、そのファイルを load-path 中に置いておけば、 1.6 野鳥が自動的にロードします。それ以外のファイル名にする場合は、 1.7 - yatex-mode-hook に、付加関数を定義する Emacs-Lisp ファイルをロード 1.8 - するような仕掛けを書いておくのがよいでしょう。 1.9 + yatex-mode-hook に付加関数を定義する Emacs-Lisp ファイルをロードす 1.10 + るような仕掛けを書いておくのがよいでしょう。 1.11 1.12 1.13 -【関数名】 1.14 +【関数定義】 1.15 1.16 - 作成する付加関数名は、補完入力した名前の先頭に YaTeX: を付け足し 1.17 - たものにします。例えば(begin型補完の) tabular 環境に対して付加関数 1.18 - を作成したい場合は YaTeX:tabular という関数名で定義します。 1.19 + 付加関数には、各LaTeXコマンドのオプション引数を返す形式のもの、 1.20 + section型補完の引数を返すもの、の二種類があります。 1.21 + 1.22 + 前者は、以下の例のように、begin型補完では\begin{環境名}の直後に 1.23 + 付加する文字列、section型補完では LaTeX コマンド名と第一引数の間に 1.24 + 位置する文字列、maketitle型補完では LaTeX コマンド名の直後に位置す 1.25 + る文字列を返すような関数です。便宜上この形の付加関数を、追加型付加 1.26 + 関数と呼ぶことにします。 1.27 + 1.28 + (例) \begin{table}[ht] (付加関数名 YaTeX:table) 1.29 + ~~~~ 1.30 + \put(100,200){} (付加関数名 YaTeX:put) 1.31 + ~~~~~~~~~ 1.32 + \sum_{i=0}^{n} (付加関数名 YaTeX:sum) 1.33 + ~~~~~~~~~~ 1.34 + 1.35 + 追加型付加関数は『LaTeXコマンド名の前に YaTeX: をつけた名前』で定 1.36 + 義します。 1.37 + 1.38 + 後者は、以下のようにsection型コマンドの引数となる文字列を返す 1.39 + 関数です。この形の付加関数を引数型付加関数と呼ぶことにします。 1.40 + 1.41 + (例) \newcommand{\foo}{bar} (付加関数名 YaTeX::newcommand) 1.42 + ~~~~ ~~~ 1.43 + 1.44 + 引数型付加関数は『LaTeXコマンド名の前に YaTeX:: をつけた名前』で定 1.45 + 義します。また引数型付加関数が呼ばれる時には何番目の引数を入力して 1.46 + いるのかが引数として渡されます。したがって、引数型付加関数は整数の 1.47 + 引数を一つ取るものとして定義し、その引数の値により処理を決定するこ 1.48 + とになります。 1.49 + 1.50 + 1.51 +【定義例】 1.52 + 1.53 + 例えば、tabular環境のフォーマットとして、いつでも {|c|c|c|} を入 1.54 + れるだけで良いのなら、 1.55 + 1.56 + (defun YaTeX:tabular () 1.57 + "{|c|c|c|}") 1.58 + 1.59 + とだけ書けばよく、前述の、複雑な定型 tabular フォーマットを挿入す 1.60 + るための関数を定義する場合は次のようにします。 1.61 + 1.62 + (defun YaTeX:tabular () 1.63 + "{@{\\vrule width 1pt\\ }|||@{\\ \\vrule width 1pt}}") 1.64 + 1.65 + この時、Emacs-Lisp 中の文字列では、\ 自身は \\ と表記することなど 1.66 + に注意して下さい。 1.67 + 1.68 + また、{} の中を、補完時に直接キーボードから読み込ませたい時は、 1.69 + 1.70 + (defun YaTeX:tabular () 1.71 + (concat "{" (read-string "Rule: ") "}")) 1.72 + 1.73 + などとすれば良いでしょう。 1.74 + 1.75 + 次に、引数型付加関数として \newcommand の引数を読み込む関数を定 1.76 + 義する場合を例示します。\newcommand の第一引数は新たに定義するコマ 1.77 + ンド名なので、必ず先頭に \ が来ます。第二引数はたいていの場合ミニ 1.78 + バッファでは編集しづらいような複雑な定義を書くので、何も補完しない 1.79 + 方が良いでしょう。これを考慮して付加関数を定義すると以下のようなも 1.80 + のになるでしょう。 1.81 + 1.82 + (defun YaTeX::newcommand (n) ;nは引数の位置 1.83 + (cond 1.84 + ((= n 1) ;第一引数ならコマンド名 1.85 + (concat "\\" (read-string "Command: "))) 1.86 + ((= n 2) "") ;第二引数なら何も入れない 1.87 + (t nil))) 1.88 + 1.89 + なお、引数型付加関数が nil を返した場合は、通常の引数入力関数が呼 1.90 + ばれます。 1.91 1.92 1.93 【呼ばれ方】 1.94 @@ -51,42 +120,8 @@ 1.95 入力時に付加関数の存在を調べてから呼び出します。begin型補完の場合 1.96 \begin{環境名} が自動入力された直後に呼び出されます。section型補完 1.97 では第一引数の補完の直前、maketitle型補完の場合は、コマンド名の直 1.98 - 後(一つのスペースを挿入する直前)に呼び出されます。 1.99 - 1.100 - 1.101 -【関数定義】 1.102 - 1.103 - begin型補完では、\begin{環境名}の直後に付加する文字列、section型 1.104 - 補完では、LaTeXコマンド名と第一引数の間に位置する文字列、maketitle 1.105 - 型補完では、LaTeXコマンド名の直後に位置する文字列を返すような関数 1.106 - を定義して下さい。 1.107 - (例) 1.108 - \begin{table}[ht] 1.109 - ~~~~ 1.110 - \put(100,200){} 1.111 - ~~~~~~~~~ 1.112 - \sum_{i=0}^{n} 1.113 - ~~~~~~~~~~ 1.114 - たんに、いつでも {|c|c|c|} を入れるだけで良いのなら、 1.115 - 1.116 - (defun YaTeX:tabular () 1.117 - "{|c|c|c|}") 1.118 - 1.119 - とだけ、書けばよく、前述の、複雑な定型 tabular フォーマットを挿入 1.120 - するための関数を定義する場合は、次のようにします。 1.121 - 1.122 - (defun YaTeX:tabular () 1.123 - "{@{\\vrule width 1pt\\ }|||@{\\ \\vrule width 1pt}}") 1.124 - 1.125 - この時、Emacs-Lisp 中の文字列では、\ 自身は、\\ と表記することなどに 1.126 - 注意して下さい。 1.127 - 1.128 - また、{} の中を、補完時に直接キーボードから読み込ませたい時は、 1.129 - 1.130 - (defun YaTeX:tabular () 1.131 - (concat "{" (read-string "Rule: ") "}")) 1.132 - 1.133 - などとすれば良いでしょう。 1.134 + 後(一つのスペースを挿入する直前)に呼び出されます。引数型付加関数は、 1.135 + section型コマンドの引数の入力時にその都度呼ばれます。 1.136 1.137 1.138 【参考】