; emacs で s*.text を修正するためのコマンドファイル ; 目的: すでに変換してしまった s*.text を最新の形に補正する。 ; 使い方: emacs で M-x load-file のあとにこのファイル名(refine1.el)。 ; 汎用性のあるものだけにした V5 2011-08-01 K.Nishimura ; (修正1箇所)……日付で検索せよ V4.94 2002-06-20 K.Nishimura ; (少数の改良あり)……日付で検索せよ V4.93 2002-06-17 K.Nishimura ; マイナスの検索を改良した V4.92 2002-04-08 K.Nishimura ; 表番号の引用をゴチにする V4.5 2002-03-30 K.Nishimura ; }{\tt 特殊記号} のときは、前を空けない V4.4 2002-03-25 K.Nishimura ; \asIndex{{\tt <...>}} の左右を空けるようにした V4.1 2002-03-05 K.Nishimura ; pre.el から“C++ ”の処理を移動 V4 2002-02-07 K.Nishimura ; 改行と & の後の {\tt 特殊文字} の前は空けない V3.3 2002-02-07 K.Nishimura ; V3.2 2002-01-23 K.Nishimura ; V3.1 2002-01-22 K.Nishimura ; ppro.el と一貫性をもたせた V3 2002-01-19 K.Nishimura ; ■■■■■■■■■■■ 単純置換 ■■■■■■■■■■■$$$ ; 句読点の修正 2002-03-31 ; 句読点 “、”→“,” / “.”→“。” 2002-03-31 (beginning-of-buffer) (query-replace "、" "," nil) (beginning-of-buffer) (query-replace "." "。" nil) ;=====================================(pre.el から移動 2002-02-07) ; 13.9 “C++”の後には半角スペースを入れ,“C++ ”と書く. (beginning-of-buffer) ; 追加 2002-01-11; ;X ( replace-regexp "\\(C\\+\\+\\)\\([あ-んア-ン亜-鯲]\\)" "\\1 \\2" nil) (query-replace-regexp "\\(C\\+\\+\\)\\([あ-んア-ン亜-鯲]\\)" "\\1 \\2" nil) ; -------------------------------------------- ; プログラム注釈内のゴチ指定 → トル 2002-04-07 (beginning-of-buffer) (query-replace-regexp "\\(//.*\\){\\\\bf \\([.0-9]+\\)}" "\\1\\2" nil) ; マイナス記号 → 数式に 2002-04-07 (beginning-of-buffer) (query-replace-regexp "\\([^0-9]\\)\\(-[0-9]+\\)\\([^-$0-9)}]\\)" "\\1$\\2$ \\3" nil) ;XXX 旧様式なので廃止 (2011-08-01) ;XXX; 参照: (25) → (25.) 2002-04-07 ;XXX(beginning-of-buffer) ;XXX (query-replace-regexp "\\({\\\\bf [0-9]+\\)}" "\\1.}" nil) ; -------------------------------------------- 追加 2002-03-30 ; 表番号の引用をゴシにする ;;;(beginning-of-buffer) ;;; (query-replace-regexp "\\([^ ]\\)\\(表[0-9]+\\)" "\\1{\\\\bf \\2}" nil) ; ↓↓↓改良 2002-04-07 (beginning-of-buffer) (query-replace-regexp "\\(表[0-9]+\\)\\([^}0-9 ]\\)" "{\\\\bf \\1}\\2" nil) ; ■■■■■■■ 数行にわたる正規表現による置換 ■■■■■■■■$$$$ ; ================================================ ; --------------------------------------- ; 表のキャプション ; ; ↓変換された結果に対して、末尾に“\\”を補う 2002-01-15 (beginning-of-buffer) (query-replace-regexp "\\(^{\\\\bf 表[ 0-9][0-9]*\\) \\(.*}\\)$" "\\1 \\2 \\\\\\\\" nil) ; -------------------------------------------- 追加 2002-01-19 ; 段落番号指定の位置をパラグラフの中に移動する ; ; 注記について (beginning-of-buffer) (query-replace-regexp "\\(\\\\parnum[onetwhr]+{[0-9]+}[ ]*\\)\\(\\\\begin{biko}[ ]*\\\\item\\[[注記\\][ ]*\\)" "\\2\\1" nil) ; ; 例について (beginning-of-buffer) (query-replace-regexp "\\(\\\\parnum[onetwhr]+{[0-9]+}[ ]*\\)\\(\\\\begin{jisex}[ ]*\\\\item\\[例\\][ ]*\\)" "\\2\\1" nil) ; ↓こちらに変更した 2002-01-19 (beginning-of-buffer) (query-replace-regexp "\\(\\\\parnum[onetwhr]+{[0-9]+}[ ]*\\)\\(\\\\begin{rei}[ ]*\\\\item\\[例\\][ ]*\\)" "\\2\\1" nil) ; ; 箇条 (beginning-of-buffer) (query-replace-regexp "\\(\\\\parnum[onetwhr]+{[0-9]+}[ ]*\\)\\(\\\\begin{jiskajo}[ ]*\\\\item\\[[^]]+\\][ ]*\\)" "\\2\\1" nil) ; -------------------------------------------- ; 原文のコメント指定洩れ 2002-04-07 (beginning-of-buffer) (query-replace-regexp "^[0-9] [A-Za-z]" "% \\&" nil) ; 行末の [^-] を追加 2002-06-17; バグ修正 2002-06-20 ; 2002-04-07 ; % でつながっている行を、段落の切れ目で空ける(“% 2 …”など) (beginning-of-buffer) (query-replace-regexp "\\([^-]\\) % *\\( % [0-9]+ \\)" "\\1 \\2" nil) (beginning-of-buffer) (query-replace-regexp "\\([^-][^ ]\\)\\( % [2-9][0-9]* \\)" "\\1 \\2" nil) ; ↑↓この順にやる (beginning-of-buffer) (query-replace-regexp "\\([^-][^ ]\\)\\( % 1[0-9]+ \\)" "\\1 \\2" nil) ; ↑↓この順にやる (beginning-of-buffer) (query-replace-regexp "\\([^-][^ ]\\)\\( % 1 \\)" "\\1 \\2" nil) ; ■■■ 数行にわたる正規表現のおわり■■■$$$$ ; -------------------------------------------- ; ヘッダ {\tt <……>} の左右を空ける ; まず、索引付きの場合を処理する (beginning-of-buffer) (query-replace-regexp "\\([^ (,。(`$]\\)\\(\\\\asIndex{{\\\\tt <[^}]+>}}\\)\\([^ ),。)'$]\\)" "\\1 \\2 \\3" nil) ; (beginning-of-buffer) (query-replace-regexp "\\([^ (,。(`${]\\)\\({\\\\tt <[^}]+>}\\)\\([^ ),。)'$}]\\)" "\\1 \\2 \\3" nil) ; {\tt 特殊記号…} の前を空ける(前が仮名漢字の場合) (beginning-of-buffer) (query-replace-regexp "\\([あ-ん亜-鯲]\\)\\({\\\\tt [^a-z0-9(]\\)" "\\1 \\2" nil) ; {\tt …特殊記号} の後ろを空ける(後ろが仮名漢字の場合) (beginning-of-buffer) (query-replace-regexp "\\({\\\\tt [^}]*[^a-z0-9)']}\\)\\([あ-ん亜-鯲]\\)" "\\1 \\2" nil) ; {\tt 特殊記号…} の前を空ける ;;;(beginning-of-buffer) ;;; (query-replace-regexp "\\([^ (,。(`$]\\)\\({\\\\tt [^a-z0-9(]\\)" "\\1 \\2" nil) ; ↓ 改行と & の追加 2002-02-07; { の追加 2002-03-05 (beginning-of-buffer) (query-replace-regexp "\\([^ (,。(`$&{} ]\\)\\({\\\\tt [^a-z0-9(]\\)" "\\1 \\2" nil) ; ; {\tt …特殊記号} の後ろを空ける ;;;(beginning-of-buffer) ;;; (query-replace-regexp "\\({\\\\tt [^}]*[^a-z0-9)']}\\)\\([^ ),。)'$]\\)" "\\1 \\2" nil) ; ↓ 改行と & の追加 2002-02-07; } の追加 2002-03-05 (beginning-of-buffer) (query-replace-regexp "\\({\\\\tt [^}]*[^a-z0-9)']}\\)\\([^ ),。)'$&} ]\\)" "\\1 \\2" nil) ; “, ”の半角空白を削除する(過失を補正する) (beginning-of-buffer) (query-replace-regexp "\\([,。]\\) {\\\\tt" "\\1{\\\\tt" nil) ; -------------------------------------------- 追加 2002-02-27 ; 下線付き索引と次の括弧書きとの間を空ける。 (beginning-of-buffer) ;X ( replace-regexp "\\(\\asIndexIt{[^}]+}\\)\\((\\)" "\\1 \\2" nil) (query-replace-regexp "\\(\\asIndexIt{[^}]+}\\)\\((\\)" "\\1 \\2" nil) ; ↓.txt 形式用 (beginning-of-buffer) ;X ( replace-regexp "\\(〔[^〕]+〕\\)\\((\\)" "\\1 \\2" nil) (query-replace-regexp "\\(〔[^〕]+〕\\)\\((\\)" "\\1 \\2" nil) ; 下線付き索引と次のタイプフェース指定との間を空ける。 (beginning-of-buffer) ;X ( replace-regexp "\\(\\asIndexIt{[^}]+}\\)\\({\\)" "\\1 \\2" nil) (query-replace-regexp "\\(\\asIndexIt{[^}]+}\\)\\({\\)" "\\1 \\2" nil) ; ↓.txt 形式用 (beginning-of-buffer) ;X ( replace-regexp "\\(〔[^〕]+〕\\)\\(「\\)" "\\1 \\2" nil) (query-replace-regexp "\\(〔[^〕]+〕\\)\\(「\\)" "\\1 \\2" nil) ; ================================================= ; 文字コードを JIS にし、と改行コードを UNIX ファイルのものにする ;;;(set-buffer-file-coding-system (quote iso-2022-jp-unix) nil) ; 全角空白→    ←