text-adjust は主に文章の形式を整形するものです. 提供している機能として,
などがあります. 整形例を挙げると,
文章整形用ELisp(text−adjust)は、さいこーだ!?
という文字列が
文章整形用 ELisp (text-adjust) は, さいこーだ!?
となります.
全角英数および記号が半角になり, 句読点も「、」から「,」へと変っています. また空白が「整形用」と「Elisp」の間などにも挿入されていることにも 注目してください.
http://www.taiyaki.org/elisp/text-adjust/src/ から text-adjust.el を, ダウンロードしてください.
text-adjust.el を ~/elisp に置いたとして, 次の 2 行を .emacs に追加してください. 最初の 1 行目は既に書かれていれば必要ありません.
(setq load-path (cons (expand-file-name "~/elisp") load-path)) (load "text-adjust")
M-x text-adjust と実行すると, カーソル上の段落を対象に文章を整形します. (ここでいう段落とは, コマンド mark-paragraph の実行結果を差しています). ただしリージョンの指定があった場合はその範囲を優先します. また, 前述の各機能を単独で実行することも可能です.
| コマンド名 | 機能 |
|---|---|
| text-adjust-codecheck | 半角カナ, 規格外文字を「〓」に置き換える. |
| text-adjust-hankaku | 全角英数文字を半角にする. |
| text-adjust-kutouten | 句読点を「, 」「. 」に置き換える. |
| text-adjust-space | 全角文字と半角文字の間に空白を入れる. |
| text-adjust | 上記をすべて実行する. |
| text-adjust-fill | 句読点優先で, fill-region をする. |
対象範囲はリージョンがある場合はその範囲で, リージョンがない場合は mark-paragraph で得られた段落になります. また, 明示的に text-adjust-space-region, text-adjust-space-buffer を 実行することも可能です.
以下に示した ELisp を .emacs などに書き移してください. これ以外の更に踏み込んだ内容はソースコードの text-adjust.elに記述されていますのでそちらも参照してください.
(setq text-adjust-rule-kutouten text-adjust-rule-kutouten-zkuten)
(setq text-adjust-rule-kutouten text-adjust-rule-kutouten-hkuten)
(setq text-adjust-rule-kutouten nil)
C-u を最初に付ける (つまり C-u M-x text-adjust) ことによって 変更可能です.
(setq text-adjust-hankaku-except " ?!@ー〜、,。.")
(setq adaptive-fill-regexp "[ \t]*") (setq adaptive-fill-mode t)