yatex

diff docs/yatexadd.doc @ 566:2ef9f21dd13b

Add note on YaTeX::usepackage-alist-default
author HIROSE Yuuji <yuuji@gentei.org>
date Thu, 24 Jan 2019 15:19:32 +0900
parents 44e3a5e1e883
children
line diff
     1.1 --- a/docs/yatexadd.doc	Sun Apr 09 03:37:47 2000 +0000
     1.2 +++ b/docs/yatexadd.doc	Thu Jan 24 15:19:32 2019 +0900
     1.3 @@ -38,13 +38,19 @@
     1.4  【関数定義】
     1.5  
     1.6  	  付加関数には、各LaTeXコマンドのオプション引数を返す形式のもの、
     1.7 -	section型補完の引数を返すもの、の二種類があります。
     1.8 +	section型補完の引数を返すもの、リジョン括りsection型補完の引数該当
     1.9 +	部を処理するためのもの、三種類があります。ここでは便宜上その三つを、
    1.10  
    1.11 -	  前者は、以下の例のように、begin型補完では\begin{環境名}の直後に
    1.12 -	付加する文字列、section型補完では LaTeX コマンド名と第一引数の間に
    1.13 -	位置する文字列、maketitle型補完では LaTeX コマンド名の直後に位置す
    1.14 -	る文字列を返すような関数です。便宜上この形の付加関数を、追加型付加
    1.15 -	関数と呼ぶことにします。
    1.16 +		a. 追加型付加関数
    1.17 +		b. 引数型付加関数
    1.18 +		c. 括り補完時付加関数
    1.19 +
    1.20 +	と呼ぶことにします。
    1.21 +
    1.22 +	  a は、以下の例のように、begin型補完では\begin{環境名}の直後に付
    1.23 +	加する文字列、section型補完では LaTeX コマンド名と第一引数の間に位
    1.24 +	置する文字列、maketitle型補完では LaTeX コマンド名の直後に位置する
    1.25 +	文字列を返すような関数です。
    1.26  
    1.27  	(例)	\begin{table}[ht]	(付加関数名 YaTeX:table)
    1.28  		             ~~~~
    1.29 @@ -56,8 +62,8 @@
    1.30  	追加型付加関数は『LaTeXコマンド名の前に YaTeX: をつけた名前』で定
    1.31  	義します。
    1.32  
    1.33 -	  後者は、以下のようにsection型コマンドの引数となる文字列を返す
    1.34 -	関数です。この形の付加関数を引数型付加関数と呼ぶことにします。
    1.35 +	  b は、以下のようにsection型コマンドの引数となる文字列を返す関数
    1.36 +	です。
    1.37  
    1.38  	(例)	\newcommand{\foo}{bar}	(付加関数名 YaTeX::newcommand)
    1.39  			    ~~~~  ~~~
    1.40 @@ -68,6 +74,21 @@
    1.41  	て、引数型付加関数は整数の引数を一つ取るものとして定義し、その引数
    1.42  	の値により処理を決定することになります。
    1.43  
    1.44 +	(yatex.1.72の新機能)
    1.45 +	  c は、既存テキストの一部をsection型コマンドの引数として括るとき
    1.46 +	に、指定したりジョンの先頭と末尾の各ポイントを引数として呼ばれます。
    1.47 +	たとえば、
    1.48 +
    1.49 +		5/3
    1.50 +
    1.51 +	というテキストをリジョン指定して [prefix] S でセクション型コマンド
    1.52 +	で括りたいときに、括られるテキストに対してなんらかの処理をほどこし
    1.53 +	たいときに呼ばれます。
    1.54 +
    1.55 +	(例)	5/3		←5/3をリジョン指定し \frac で括る
    1.56 +		\frac{5/3}	←5/3のポイント位置を引数に呼ばれる
    1.57 +		      ~~~	(付加関数 YaTeX::frac-region)
    1.58 +		
    1.59  
    1.60  【定義例】
    1.61  
    1.62 @@ -110,6 +131,30 @@
    1.63  	なお、引数型付加関数が nil を返した場合は、通常の引数入力関数が呼
    1.64  	ばれます。
    1.65  
    1.66 +	  最後に括り補完時付加関数の例として、既存テキストを \frac で括
    1.67 +	る場合の例を示します。\frac は2つの引数を取り、\frac{a}{b} のよ
    1.68 +	うにして、分数を表すときに利用するコマンドです。数学的には
    1.69 +
    1.70 +				a
    1.71 +		a/b        ⇔  ----
    1.72 +				b
    1.73 +
    1.74 +	と置き換え可能な記法です。LaTeXソースにa/bと書いたものを野鳥の括
    1.75 +	り補完で\fracに括ると、以下のようになります。
    1.76 +
    1.77 +		\frac{a/b}
    1.78 +
    1.79 +	/の部分を }{ に置き換えれば正しい書き換えになります。このような
    1.80 +	ことを対話的に半自動で行なうアドイン関数は以下のようにします。
    1.81 +
    1.82 +		(defun YaTeX::frac-region (beg end)	;リジョンの先頭と末尾
    1.83 +		  (catch 'done
    1.84 +		    (while (search-forward "/" end t)	;/がある間繰り返す
    1.85 +		      (goto-char (match-beginning 0))	;/の位置に移動
    1.86 +		      (if (y-or-n-p "Replace this slash(/) to `}{'")
    1.87 +			  (throw 'done (replace-match "}{"))) ;置き換えて終了
    1.88 +		      (goto-char (match-end 0)))))
    1.89 +
    1.90  
    1.91  【呼ばれ方】
    1.92  
    1.93 @@ -118,7 +163,8 @@
    1.94  	\begin{環境名} が自動入力された直後に呼び出されます。section型補完
    1.95  	では第一引数の補完の直前、maketitle型補完の場合は、コマンド名の直
    1.96  	後(一つのスペースを挿入する直前)に呼び出されます。引数型付加関数は、
    1.97 -	section型コマンドの引数の入力時にその都度呼ばれます。
    1.98 +	section型コマンドの引数の入力時にその都度呼ばれます。括り補完時付
    1.99 +	加関数は、LaTeXコマンドと{}がテキストに挿入された直後に呼ばれます。
   1.100  
   1.101  
   1.102  【参考】