yatex
diff docs/yatexadd.doc @ 8:c746646cecf5
Restrict YaTeX:framebox in picture environment.
author | yuuji |
---|---|
date | Tue, 04 May 1993 13:00:17 +0000 |
parents | 49be9ccb0b65 |
children | a7f397790cdc |
line diff
1.1 --- a/docs/yatexadd.doc Mon Feb 22 11:04:53 1993 +0000 1.2 +++ b/docs/yatexadd.doc Tue May 04 13:00:17 1993 +0000 1.3 @@ -1,25 +1,20 @@ 1.4 ------------------------------------------------------------------------ 1.5 野鳥用付加関数の作成方法 1.6 ------------------------------------------------------------------------ 1.7 -筆者註: ・付加関数の呼び出し方の仕様は、まだ模索段階です。 1.8 - ・yatexadd.el のサンプル関数仕様も、大きく変更する可能性があります。 1.9 - ・もし、本バージョンの yatexadd を手にされた場合は、今後の付加関数 1.10 - の仕様について、御意見をお聞かせください。 1.11 - ・とりあえず、begin型補完のみの対応です。 1.12 1.13 1.14 【付加関数とは】 1.15 1.16 - begin 型補完で、tabular 環境を入力している時に、「"c|c|c" とか、 1.17 - また、table 環境の入力時に"[tbp]" とかも一緒に入力すればいいのに」 1.18 - などと思うことはありませんか。もちろんこれを自動入力する関数は簡単 1.19 - にサポートできるでしょう。 1.20 + begin 型補完で、「tabular 環境を入力している時に、"{|c|c|c|}" と 1.21 + か、また、table 環境の入力時に"[tbp]" とかも一緒に入力すればいいの 1.22 + に」などと思うことはありませんか。もちろんこれを自動入力する関数は 1.23 + 簡単にサポートできるでしょう。 1.24 1.25 しかし、tabular 環境に限らず、LaTeX の環境の引数には、各人お決ま 1.26 りのフォーマットがあるものです。たとえば凝った表を書く時の tabular 1.27 環境の引数は、かなり複雑なので、上のような自動入力関数よりも、 1.28 1.29 - "{@{\vrule width 1pt\ }|||@{\vrule width 1pt}}" 1.30 + "{@{\vrule width 1pt\ }|||@{\ \vrule width 1pt}}" 1.31 1.32 を挿入するだけの単純な関数のほうが、嬉しい人もいるでしょう。あるい 1.33 は、「そんなの要らない。他の tabular をコピーして来たほうが早い。」 1.34 @@ -35,7 +30,10 @@ 1.35 【準備】 1.36 1.37 さすがに、関数を書くだけでは使えません:-)。yatex-mode 起動時には、 1.38 - その関数を定義したファイルがロードされていなくてはなりません。 1.39 + その関数を定義したファイルがロードされていなくてはなりません。関数 1.40 + を定義するファイル名を yatexadd.el(またはバイトコンパイルした形式 1.41 + のyatexadd.elc)にし、そのファイルを load-path 中に置いておけば、 1.42 + 野鳥が自動的にロードします。それ以外のファイル名にする場合は、 1.43 yatex-mode-hook に、付加関数を定義する Emacs-Lisp ファイルをロード 1.44 するような仕掛けを書いておくのがよいでしょう。 1.45 1.46 @@ -49,8 +47,46 @@ 1.47 1.48 【呼ばれ方】 1.49 1.50 - begin型補完の場合 \begin{環境名} が自動入力された直後に呼び出さ 1.51 - れます。 1.52 + 野鳥本体は、begin型補完とsection型補完、およびmaketitle型補完の 1.53 + 入力時に付加関数の存在を調べてから呼び出します。begin型補完の場合 1.54 + \begin{環境名} が自動入力された直後に呼び出されます。section型補完 1.55 + では第一引数の補完の直前、maketitle型補完の場合は、コマンド名の直 1.56 + 後(一つのスペースを挿入する直前)に呼び出されます。 1.57 + 1.58 + 1.59 +【関数定義】 1.60 + 1.61 + begin型補完では、\begin{環境名}の直後に付加する文字列、section型 1.62 + 補完では、LaTeXコマンド名と第一引数の間に位置する文字列、maketitle 1.63 + 型補完では、LaTeXコマンド名の直後に位置する文字列を返すような関数 1.64 + を定義して下さい。 1.65 + (例) 1.66 + \begin{table}[ht] 1.67 + ~~~~ 1.68 + \put(100,200){} 1.69 + ~~~~~~~~~ 1.70 + \sum_{i=0}^{n} 1.71 + ~~~~~~~~~~ 1.72 + たんに、いつでも {|c|c|c|} を入れるだけで良いのなら、 1.73 + 1.74 + (defun YaTeX:tabular () 1.75 + "{|c|c|c|}") 1.76 + 1.77 + とだけ、書けばよく、前述の、複雑な定型 tabular フォーマットを挿入 1.78 + するための関数を定義する場合は、次のようにします。 1.79 + 1.80 + (defun YaTeX:tabular () 1.81 + "{@{\\vrule width 1pt\\ }|||@{\\ \\vrule width 1pt}}") 1.82 + 1.83 + この時、Emacs-Lisp 中の文字列では、\ 自身は、\\ と表記することなどに 1.84 + 注意して下さい。 1.85 + 1.86 + また、{} の中を、補完時に直接キーボードから読み込ませたい時は、 1.87 + 1.88 + (defun YaTeX:tabular () 1.89 + (concat "{" (read-string "Rule: ") "}")) 1.90 + 1.91 + などとすれば良いでしょう。 1.92 1.93 1.94 【参考】 1.95 @@ -58,6 +94,30 @@ 1.96 付加関数の定義の例を yatexadd.el に用意しました。実際に独自の付 1.97 加関数を定義する時の参考として下さい。 1.98 1.99 + 有用と思われる関数について、簡単に説明します。 1.100 + 1.101 + ・関数 YaTeX:read-position 1.102 + 引数 [] の中に入れてもよい文字を羅列した文字列。 1.103 + 説明 [htb] などのような location 指定を作成します。何も入力せず 1.104 + リターンを押すと、[]自体も省略されます。[]の中に来るべき文 1.105 + 字が htbp に限られているなら、(YaTeX:read-position "htbp") 1.106 + と呼び出します。 1.107 + 1.108 + ・関数 YaTeX:read-coordinates 1.109 + 引数 基本プロンプト, X座標プロンプト, Y座標プロンプト(全て省略可) 1.110 + 説明 「基本プロンプト X座標プロンプト:」というプロンプトを出し 1.111 + て、X座標を読み込み、「基本プロンプト Y座標プロンプト:」を 1.112 + 出して、Y座標を読み込み、(X座標,Y座標) の様な形式を作成します。 1.113 + 何も入力せずリターンを押しても、(,)が返されます。 1.114 + 各プロンプトのデフォルトはそれぞれ、Dimension, X, Y です。 1.115 + 1.116 + ・関数 YaTeX:check-comletion-type 1.117 + 引数 'begin または、'section または、'maketitle 1.118 + 説明 付加関数が呼ばれる時に、行われている補完の形式が、引数で与 1.119 + えたものであるかどうか調べ、そうでない場合にエラー終了する。 1.120 + なお、変数 YaTeX-current-completion-type に現在の補完の型 1.121 + を表わすシンボル(この関数の引数と同様)が格納されています。 1.122 + 1.123 1.124 【最後に】 1.125 1.126 @@ -65,10 +125,7 @@ 1.127 ら、筆者までお送り下さい。次の yatexadd.el に取り込んで行きたいと 1.128 思います。 1.129 1.130 -【註】 1.131 - 1.132 - yatexadd は βversionです。 1.133 1.134 広瀬雄二 1.135 - yuujI@ae.keio.ac.jp 1.136 + yuuji@ae.keio.ac.jp 1.137 pcs39334(ASCII-NET)