;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ■エッセイモード概要 essay-mode.l ver0.1.2.7.7 テキストモード用。または他のモード。 indent-tab-modeはモードのオプションの部類になります。 段落毎に左マージンを確保します。 会話文をインデントします。 段落は空白行を基準 左マージンは段落の最初の文字の桁数(左空白)を基準 ▼(エッセイ例) いつものように いつもの朝食をとり いつもの時間にバス停にゆく 空を見上げる 流れる積層雲 止まって見える絹雲 いつもの雲なのに いつもと違う ▼(シナリオ例) 題 エッセイモード 一筆太郎 人物 A子(21)檄ヤバ商売を副業にもつOL B (17)Aの弟 C (17)Bの同級生 ○駅前 本屋前(夕) 怪しいトワイライト。 A子 「やっぱり必要ね…」 本屋に入るA C 「あ… それは」 ■essay-mode の使い方 ▼.xyzzy か siteinit.l に、 (load-library "essay-mode") と、書いて、xyzzy再起動。(siteinit.lは再コンパイル&ダンプファイル削除後に再起動) キー入力で、 M-x: essay-mode で、ON OFF トグル切り替え。 ▼テキストモードの時indent-tab-modeを使えるようにしておくには、 .xyzzy か siteinit.l に、 (load-library "essay-mode") (add-hook 'ed::*text-mode-hook* #'(lambda () (essay-mode t))) で、フックを追加。 テキストモード切り替えは M-x: text-mode ( M-x は Alt + x きー) ■キー設定(デフォルト設定) Enter 改行&エッセイインデント F12 再インデント処理(1行または選択範囲) C-F12 再インデント処理(リージョン用) 再インデントのキーは適宜代えて下さい。 (define-key *essay-mode-map* #\F12 'ime-essay-again-indent) (define-key *essay-mode-map* #\C-F12 'ime-selection-essay-again-indent) ■切り替えと指定コマンド 下記の(t=ON else=OFF)の説明。 t は t キーを押すで使用する(true) else は t キー以外のキーを押したときで使用しない 幅は半角数字を指定。 ▼M-x から文字入力 essay-pagenumber ページ番号挿入(t=ON else=OFF) 1ページの行間 essay-keep-top-space 段落の頭空白を保つ(t=ON else=OFF) 空白幅 essay-indent-tab-mode-follow indent-tab-modeをフォローする(t=ON else=OFF) 進み幅 essay-speaking-column-limit 開始文字の桁幅制限(t=ON else=OFF) 桁幅 essay-comment 開始文字 末尾文字 左空白幅 ■切り替えの面倒な方はLispファイルを書き換えてください。 t は使用する nil は使用しない ▼会話文 「・行頭文 ・行末文字 ・ 行頭文字からのインデント幅」 (defvar *start-speaking-comment* "「") (defvar *end-speaking-comment* "」") (defvar speakingspace 2) ▼会話文桁幅制限 「・インデント桁幅の制限する ・桁幅」 (defvar *speaking-indent-limit* t) (defvar speakingcolumnlimit 12) ▼インデントタブモードをフォローする(会話文より更にうしろに書く。コメント文用) 「・フォローする ・送り幅」 (defvar *indent-tab-mode-follow* t) (defvar addforwardfollowspace 2) ▼段落トップの文字指定(段落最初の行が会話文で始まる時に強制挿入) 「・指定文字」 (defvar *paragraph-top-char* #\>) ▼行頭空白スペース幅を確保する 「・確保する ・確保する空白幅」 (defvar *keep-top-space* t) (defvar top-space 2) ▼インデントタブモードをフォローするの再インデント用 再インデントの時にコメント文をインデントする(指定した行頭空白スペース幅より大きい場合) 「・再インデント処理でインデントする」 (defvar *comment-indent-limit* t) ▼ページ番号 「・ページ番号をつける ・1ページあたりの行間 ・ページ番号の頭文字 ・ページ番号の末文字 ・フォントをボールドにする ・色」 (defvar *pagenumber* nil) (defvar pagenumber 20) (defvar *pageword* "P-") (defvar *pagewordafter* ":") (defvar *pagefontbold* t) (defvar *pagefontforeground* 4);4 blue :FOREGROUND 1-15 文字色1〜15 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;