; emacs で s*.text を修正するためのコマンドファイル ; 目的: s*.text を JIS 規格票らしい形に補正する。 ; 使い方: emacs で M-x load-file のあとにこのファイル名(refine3.el)。 ; namespace の場合は {signature} に変更しない V5.1 2002-06-20 K.Nishimura ; 追加部分 refine2+.el を追い出した V5.0 2002-04-17 K.Nishimura ; 修正 V4.95 2002-04-10 K.Nishimura ; 箇条表題とプログラムの間を空けた (\zerosp) V4.93 2002-04-08 K.Nishimura ; 次の2行を無効にした。 2002-06-18 ;XXX ■ refine2 の追加部分を実行する。これは refine2 にも含まれている。 ;XXX (load-file "~/HP/cpp/refine2+.el") ; ====================================== refine3 レベル ; 表題の次の行に \zerosp を挿入する 2002-04-08 ; ただし、直後に % 行が数行あって、その次がプログラムであるときに限る ; ; ついでに、環境 {program} → {signature} と変更する ; ========================================== ; 箇条の先頭にあるもの ; ; ====== namespace の場合は {signature} に変更しない 追加 2002-06-20 ; ↓間が英字と特殊記号だけの場合 (beginning-of-buffer) (query-replace-regexp "\\(\\\\jis[sub]*section.+} \\)\\([^あ-んア-ン亜-鯲]*\\\\begin{program}\\\\begin{verbatim} namespace\\)" "\\1\\\\zerosp % 空ける \\2" nil) ; ; ↓間に \note{ } が1行だけある場合 (beginning-of-buffer) (query-replace-regexp "\\(\\\\jis[sub]*section.+} \\)\\([^あ-んア-ン亜-鯲]*\\\\note{.+}[^あ-んア-ン亜-鯲]* \\\\begin{program}\\\\begin{verbatim} namespace\\)" "\\1\\\\zerosp % 空ける \\2" nil) ; ; ====== {signature} に変更する場合 ; ↓間が英字と特殊記号だけの場合 (beginning-of-buffer) (query-replace-regexp "\\(\\\\jis[sub]*section.+} \\)\\([^あ-んア-ン亜-鯲]*\\\\begin\\){program}" "\\1\\\\zerosp % 空ける \\2{signature}" nil) ; ; ↓間に \note{ } が1行だけある場合 (beginning-of-buffer) (query-replace-regexp "\\(\\\\jis[sub]*section.+} \\)\\([^あ-んア-ン亜-鯲]*\\\\note{.+}[^あ-んア-ン亜-鯲]* \\\\begin\\){program}" "\\1\\\\zerosp % 空ける \\2{signature}" nil) ; ; ====== {signature} に変更しない場合 ; ↓間が英字と特殊記号だけの場合 (beginning-of-buffer) (query-replace-regexp "\\(\\\\jis[sub]*section.+} \\)\\([^あ-んア-ン亜-鯲]*\\\\begin\\){program}" "\\1\\\\zerosp % 空ける \\2{program}" nil) ; ; ↓間に \note{ } が1行だけある場合 (beginning-of-buffer) (query-replace-regexp "\\(\\\\jis[sub]*section.+} \\)\\([^あ-んア-ン亜-鯲]*\\\\note{.+}[^あ-んア-ン亜-鯲]* \\\\begin\\){program}" "\\1\\\\zerosp % 空ける \\2{program}" nil) ; ; ================== ; 末尾も変更する ( \end{program} → \end{signature} ) (beginning-of-buffer) (query-replace-regexp "\\(begin{signature}[^あ-んア-ン亜-鯲]+end\\){program}" "\\1{signature}" nil) ; ========================================== ; 箇条の途中にあるもの ; ================== ; 直後が左寄せの太文字『効果』などの場合 ; ↓間が英字と特殊記号だけの場合 (beginning-of-buffer) (query-replace-regexp "\\\\begin{program}\\([^あ-んア-ン亜-鯲]+\\\\end\\){program}\\([^あ-んア-ン亜-鯲]+\\\\Qnoindent\\)" "\\\\begin{signature}\\1{signature}\\2" nil) ; ↓間に漢字がある場合 (beginning-of-buffer) (query-replace-regexp "\\\\begin{program}\\([^あ-んア-ン亜-鯲]+\\\\end\\){program}\\(.+\\\\Qnoindent\\)" "\\\\begin{signature}\\1{signature}\\2" nil) ; ; ================== ; 直後が普通の文の場合 ; ↓間が英字と特殊記号だけの場合 (beginning-of-buffer) (query-replace-regexp "\\\\begin{program}\\([^あ-んア-ン亜-鯲]+\\\\end\\){program}" "\\\\begin{signature}\\1{signature}" nil) ; ↓間に漢字がある場合 (beginning-of-buffer) ;;;(query-replace-regexp "\\\\begin{program}\\(.* ;;;*.*[あ-んア-ン亜-鯲].* ;;;*.*\\\\end\\){program}" "\\\\begin{signature}\\1{signature}" nil) (query-replace-regexp "\\\\begin{program}\\(.*\\\\end\\){program}" "\\\\begin{signature}\\1{signature}" nil) ; ●重要● 環境 {alltt} 中の波括弧 { } をエスケープする。 2002-04-10 ; これを忘れると波括弧が見えなくなり、それに★気づきにくい。 (beginning-of-buffer) (query-replace-regexp "[{}][^\\\\]" "\\\\\\&" nil) ; ================================================= ; 文字コードを JIS にし、と改行コードを UNIX ファイルのものにする ;;;(set-buffer-file-coding-system (quote iso-2022-jp-unix) nil) ; 全角空白→    ←