リンク: [ホーム] [自己紹介] [リンク集] [アルバム] [ソフトウェア] [発表文献] [その他]

まさおのChangeLogメモ / 2003-03-07

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2003-03-07 Fri

* イラク

ふと気付いたんだけど、TVなどのメディアでは、「武装解除を」と言われ
ているが、国連決議1441、国連決議687などを読む限りでは、完全な武装
解除は求めてないよね。
cf. http://homepage2.nifty.com/mekkie/peace/iraq/news/023.html
    http://homepage2.nifty.com/mekkie/peace/iraq/news/011.html

求めているのは、
・「すべての化学・生物兵器とすべての関連サブシステムとコンポネント、
  および、すべての研究開発支援、製造の諸施設。」
・「射程150キロ以上のすべての弾道ミサイルと関連主要部品および修
  理・製造施設。」
だけだと思うんだが…

ここらへんは、アメリカの論理に従ってわざと問題を大きくしようとして
いるだけなんじゃあないの?

* インストール記録の移行

% ruby inst.rb
% mv -f A5BDA5D5A5C8A5A6A5A7A5A22F* /project/nile-wiki/wiki/
% chmod a+w /project/nile-wiki/wiki/*.txt
% sudo chown nobody:nobody /project/nile-wiki/wiki/*.txt
inst.rb は以下のような Ruby スクリプト:
--
#!/usr/local/bin/ruby

require "time"

class SoftInfo
   attr_reader :info
   PATTERN_HASH = {
      /<li>インストールしたもの   :([^<]*)<\/li>/i => "name",
      /<li>バージョン(パッチレベル):([^<]*)<\/li>/i => "version",
      /<li>簡単な説明        :([^<]*)<\/li>/i => "desc",
      /<li>インストール先      :([^<]*)<\/li>/i => "dest",
      /<li>インストールした人    :([^<]*)<\/li>/i => "person",
      /<li>日付           :([^<]*)<\/li>/i => "date",
      /<li>マニュアル        :([^<]*)<\/li>/i => "man",
      /<li>入手経路         :([^<]*)<\/li>/i => "from",
      /<li>ソースの置き場所     :([^<]*)<\/li>/i => "src",
      /<li>関連ファイル       :([^<]*)<\/li>/i => "related",
      /<li>インストールの際の変更点 :(.*?)<\/li>/mi => "change",
      /<li>\[ その他 \](.*?)<\/li>/mi => "misc",
      /<li>\[ 注意事項 \](.*?)<\/li>/mi => "note",
   }
   def initialize(str)
      @info = {}
      str = str.gsub(/\r/, "")
      PATTERN_HASH.keys.each do |pat|
if pat =~ str
data = $1
data = data.gsub(/<br>/i, "\n")
data = data.strip
if data =~ /^\s*<pre>(.*)<\/pre>\s*$/mim
data = $1
end
@info[PATTERN_HASH[pat]] = data
end
      end
      if info["date"] and info["date"] =~ /^(\d+)\/(\d+)\/(\d+)$/
year = $3.to_i
info["date"] = sprintf("%04d-%s-%s",
year > 90 ? year+1900 : year+2000, $1, $2)
      end
   end
end

def to_wikifilename (str)
   wiki_pagename = str
   if wiki_pagename =~ /^([^(]*)\(/
      wiki_pagename = $1
   end
   wiki_pagename = "ソフトウェア/" + wiki_pagename.strip.gsub(/[\s\/:]+/, "_")
   puts wiki_pagename
   wiki_pagename = wiki_pagename.unpack("H*")[0].upcase + ".txt"
end

def to_prestr (str)
   if str and str.length > 0
      str.gsub(/^/, " ")
   else
      str
   end
end

contents = File.open("inst").read.chomp

contents = contents.split(/<hr>/i).grep(/§/)

list = []
contents.each do |e|
   list.push SoftInfo.new(e)
end

list.each do |e|
   wiki_pagename = to_wikifilename(e.info["name"])
   File.open(wiki_pagename, "a+") {|f|
      f.print <<EOF
* #{e.info["name"]}

-名称: #{e.info["name"]}
-概要(簡単な説明): #{e.info["desc"]}
-Webサイト: #{e.info["from"]}
-関連URL:

** 使い方など

#{to_prestr(e.info["misc"])}

#{to_prestr(e.info["note"])}



以下に、インストールした際の記録を書きます。

** #{e.info["date"]}

-作業者: #{e.info["person"]}
-バージョン: #{e.info["version"]}

*** インストールの際の変更点など

#{to_prestr(e.info["change"])}

EOF
 }
 t = Time.parse(e.info["date"])
 File.utime(t, t, wiki_pagename)
end
--

* TeX etc.

http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/texindex.html
LaTeX パッケージの組版例つきの解説が豊富。すばらしい。

fancyvrb.sty のような行番号・囲み付き verbatim が欲しかったので探
していたら行きついた。
Referrer (Inside): [2003-03-12-7]