竹の 04/30 2006
---------------
奥村晴彦さんの TeX QandA の掲示板
http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/
へのアクセス性を改善するために、私が普段利用している perl script
を公開します。現在の version は 0.4 です。
1. はじめに
-----------
奥村晴彦さんの TeX QandA の掲示板
http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/
は、利用者が多く、回答も詳しい方々が行なっておられてとても良質な
QandA コーナーであると思いますが、普段 Netscape 3.04 でアクセスし
ていていくつか不満を感じていました。
1) 各項目のページに、次や前の項目のページへのリンクが貼られていな
いので、次の項目に行く場合に一旦ブラウザの機能で一覧のページに
戻って、そこからアクセスしないといけない (次々順番に見るときに
手間がかかる)
2) その項目のページが別の項目の返答のページである場合は、元のペー
ジへのリンクが本文記事中にあることもあるが、逆にその項目からそ
れへの返答のリンクがない (質問を前方向には手繰れるが、後方向に
は手繰れない)
3) 検索機能がついているが、通常の検索エンジンのようなものに比べて
やや貧弱
ただ、例えば 1) は、私は知らないのですが、タブブラウザというもの
なら別にそう問題にはならないかもしれませんし、3) も使い方によって
そう欠点とも言えないかもしれません。
2) は、そのページの検索機能によって検索した場合に特に欲しい機能で
す。つまり、同じ質問をしたページが見つかっても、そのページの回答
のページがそこには出てなくて、再びその質問のタイトルで検索しない
といけない (という解決策もあるにはある) からです。
このうち、例えば 1) は一覧のページから各項目のページへのリンク
24978
を、
24978
のように変えれば改善が可能であることに気がつきました。また、2) も
前に戻るデータベースを作れば、それを逆方向のものにすれば後方向の
情報が得られるので、それで改善できそうだとわかりましたが、そのた
めには各項目のページを一つ一つ持って来る必要があります。ただ、考
えてみれば
[a] 結局全部目を通すなら全部持って来ているようなもの
[b] むしろ全部手元持ってくればアクセスは速くなる
[c] 各ページに 2) の後方リンクをつけることもできるようになるし、
1) のリンクをつけることもできるようになる
[d] 手元に各ページがあれば、3) も namazu 等を利用すれば改善できる
などの利点もあります。
ということで、まだ完全に [a-d] を実装してはいませんが、最近はこう
いったことを行なうスクリプトを利用してアクセスしています。これを
公開することにしましたのでご利用ください。
現在は、fortexqa1.pl, fortexqa3.pl, fortexqa4.pl の 3 つの perl
script コマンド (とそれらが使用するライブラリ fortexqa-lib.pl, お
よび設定用ファイル config.pl) を含んでいて、
fortexqa1.pl: 一覧のみ持って来て target をつける
fortexqa3.pl: 各記事ファイルも取得し加工し、データベースを作る
fortexqa4.pl: fortexqa3.pl のデータベースを元にスレッドを作る
となっています。
2. 動作環境
-----------
現在 (version 0.4 以降) は、Unix 版と MS-Windows 版を公開していま
す。基本的に必要なものは以下のものです。
1) perl (多分 5.005_03 以降)
2) wget または w3m (HTML ファイルを取得するのに使用)
3) MS-Windows 環境の場合は nkf (またはそれと同等の漢字フィルタ)
4) 2) で w3m を使う場合は gzip に対応した zcat
MS-Windows 版は、手元で以下の環境で動作を確認しています。
・OS: MS-Windows XP
・perl: ActivePerl 5.8.8 (www.activestate.com/Products/ActivePerl/)
・wget: wget 1.10.1 (gnuwin32.sourceforge.net/packages/wget.htm)
・nkf: nkf 2.0.5.1 (www.vector.co.jp/soft/dl/win95/util/se295331.html)
MS-Windows 版は、ほぼディレクトリセパレータとか、漢字コードに関す
る部分が違うのみで、本質的な違いはありません。
fortexqa3.pl, fortexqa4.pl を使う場合は、perl が何らかの DBM
(DataBase Management) をサポートしている必要があります。なお、DBM
はパッケージ宣言なしに dbmopen(),dbmclose() を利用していますが、
もし必要ならばパッケージの使用宣言を書き加えてください。
4) は、w3m を使う場合に必要ですが、gzip がインストールされていれ
ば多分あると思います。環境によっては gzcat という名前でインストー
ルされているかも知れません。その場合は適宜 perl スクリプト
(fortexqa-lib.pl) 内部の wgetf() 関数内の zcat と書かれている部分
をそのように修正してください。
奥村さんの TeX QandA の元々のファイルの漢字コードは EUC-JP なので
MS-Windows 版では nkf を利用して漢字コードを Shift_JIS に直すよう
にしています。nkf と同様に漢字コードを EUC-JP から Shift_JIS に変
換できるものであれば構いません。
3. install
----------
3.1. Unix 版の場合
------------------
0) ダウンロード
下記サイトから持って来てください。
http://takeno.iee.niit.ac.jp/~shige/TeX/TeX.html
(fortexqa-0.4.tar.gz)
1) 展開
% gunzip -c fortexqa-0.4.tar.gz | tar xf -
% cd fortexqa-0.4
で OK です。
2) 設定
各種定義は、$LIBDIR (config.pl, fortexqa-lib.pl を置くパス名) の
設定以外は現在 (version 0.4 以降) は config.pl という共通の設定フ
ァイルで行いますので、その config.pl を修正します。それぞれの各設
定については「3.3. 各変数の意味」にまとめて書きます。
fortexqa1.pl, fortexqa3.pl, fortexqa4.pl の先頭に書かれている
#!/usr/local/bin/perl
と $LIBDIR も必要ならば適当に修正します。
3) インストール
パスの通ったところに fortexqa1.pl, fortexqa3.pl, fortexqa4.pl を
置き、$LIBDIR として設定したディレクトリに fortexqa-lib.pl,
config.pl を置きます。コマンド名は適当に変更して結構です。
例えば ~/bin にパスが通っていて、$LIBDIR を ~/fortexqa とするなら
ば
% cp fortexqa-0.4/fortexqa1.pl ~/bin/fortexqa1
% cp fortexqa-0.4/fortexqa3.pl ~/bin/fortexqa3
% cp fortexqa-0.4/fortexqa4.pl ~/bin/fortexqa4
% chmod u+x ~/bin/fortexqa1 ~/bin/fortexqa3 ~/bin/fortexqa4
% mkdir fortexqa
% cp fortexqa-0.4/fortexqa-lib.pl fortexqa-0.4/config.pl fortexqa
のようにすればいいでしょう。
4) ディレクトリ等の作成
fortexqa3.pl は、ファイルを保管するディレクトリ等を作成する必要が
あります。「3.3. 各変数の意味」で説明する $ORGDIR と $NEWDIR がそ
れですが、例えば
$ORGDIR = ~/fortexqa/orgd
$NEWDIR = ~/fortexqa/newd
だとして、以下のようにすれば準備 OK です。
% mkdir ~/fortexqa
% mkdir ~/fortexqa/orgd ~/fortexqa/newd
% echo 0 0 > ~/fortexqa/orgd/curlast
最後の "0 0" は、現在取得済みの記事がない (厳密には、0 番の記事の
みある) ことを意味します。fortexqa3.pl は、TeX QandA の一覧
(index.html) に追加された記事を取得します。TeX QandA の一覧は、
適当なタイミングで最初の 500 記事が一覧から削除されるような仕組み
になっていて、1000 記事を超えないような仕組みになっているようです
が、現在 (version 0.4 以降) の fortexqa3.pl は、
・現在取得済の記事 (curlast に書かれた最初の番号から最後の番号ま
で) にないものの取得
・現在取得済の記事で一覧から削除されたものの削除
を行ないますので、最初は "0 0" としておけば結構です。この curlast
は、fortexqa3.pl を実行する度に、持って来た記事の一番大きな番号を
保存していきます。
3.2. MS-Windows 版の場合
------------------------
0) ダウンロード
下記サイトから持って来てください。
http://takeno.iee.niit.ac.jp/~shige/TeX/TeX.html
(fortexqa-0.4.zip)
1) 展開
適当に MS-Windows のツールを使って展開してください。展開する場所
はどこでも構いません。例えば
C:\Program Files\fortexqa-0.4
辺りに展開したファイルが置かれるようにすれば結構です。
2) 設定
各種定義は、$LIBDIR (config.pl, fortexqa-lib.pl を置くパス名) の
設定以外は現在 (version 0.4 以降) は config.pl という共通の設定フ
ァイルで行いますので、その config.pl を修正します。それぞれの各設
定については「3.3. 各変数の意味」にまとめて書きます。
fortexqa1.pl, fortexqa3.pl, fortexqa4.pl の先頭に書かれている
$LIBDIR は、1) で展開したディレクトリ名にするのが楽です。必要なら
ばそれも修正してください。
3) インストール
MS-Windows 版では、perl スクリプトを実行するバッチファイル
fortexqa1.bat, fortexqa3.bat, fortexqa4.bat が含まれていますので、
必要ならばこれらを修正して、これらをパスの通ったところに置きます。
バッチファイル名は適当に変更して結構です。
これらのバッチファイルには、単に次のように書かれています。
perl "C:\Program Files\fortexqa-0.4\fortexqa1.pl" %1 %2 %3 %4 %5 %6 %7 %8 %9
"" の中のディレクトリ名は、1) で展開したディレクトリ名に合わせて
修正してください。また、perl にパスが通っていない場合は、最初の
perl のところにパス名も書いてください。
例えば、
展開先 (= $LIBDIR): C:\Program Files\fortexqa-0.4
バッチファイルを置くディレクトリ: C:\Program Files\bat
とする場合は、
copy fortexqa1.bat fortexqa3.bat fortexqa4.bat "C:\Program Files\bat"
とするだけで OK です。
4) ディレクトリ等の作成
fortexqa3.pl は、ファイルを保管するディレクトリ等を作成する必要が
あります。「3.3. 各変数の意味」で説明する $ORGDIR と $NEWDIR がそ
れですが、例えば
$ORGDIR = C:\Documents and Settings\hoge\fortexqa\orgd
$NEWDIR = C:\Documents and Settings\hoge\fortexqa\newd
だとして、以下のようにすれば準備 OK です。
cd "C:\Documents and Settings\hoge"
mkdir fortexqa
mkdir fortexqa\orgd
mkdir fortexqa\newd
echo 0 0 > fortexqa\orgd\curlast
最後の "0 0" の意味については、「3.1. Unix 版の場合」の 4) の説明
を参照してください。
3.3. 各変数の意味
-----------------
「3.1. Unix 版の場合」、「3.2. MS-Windows 版の場合」の 2) の設定
のところなどであげた各種定義について説明します。これらは、$LIBDIR
を除いて config.pl で、$LIBDIR は fortexqa1.pl, fortexqa3.pl,
fortexqa4.pl の先頭の部分で定義されています。主に、変更が必要なも
のについて説明します。
なお、Unix 版では、config.pl の設定は、個人用の設定ファイル
$HOME/.fortexqarc ($HOME は各人のホームディレクトリ) を使って上書
きすることも可能です。$HOME/.fortexqarc を作る場合は、そのファイ
ルの最後に
1;
という行を入れることを忘れないでください。
1) ディレクトリの設定
・$LIBDIR : fortexqa-lib.pl, config.pl を置くディレクトリ
これは fortexqa1.pl, fortexqa3.pl, fortexqa4.pl の先頭の部分で定
義されていますので、必要に応じてそれぞれ修正してください。
MS-Windows 版の場合には、「3.2. MS-Windows 版の場合」の 1) で説明
したように展開したディレクトリを書けばいいでしょう。
・$ORGDIR : 奥村さんのところから持ってきた index.html や各記事フ
ァイル、データベースファイル、curlast を保管するディレクトリ
・$NEWDIR : 作成した記事ファイルやスレッド、一覧などの HTML ファ
イルを置くディレクトリ (fortexqa3,4)
・$SUBDIR : 加工した各記事ファイルを置くディレクトリ ($NEWDIR の
サブディレクトリ) (fortexqa3,4)
(・$WORKDIR : 上記のものを定義するための便宜的な変数)
$SUBDIR は、fortexqa3 が作成する加工した各記事ファイルを置く、
$NEWDIR の下のサブディレクトリです。これを指定する場合はそのサブ
ディレクトリも作成しておく必要があります。デフォルトでは、現在
(version 0.4 以降) は空文字 ("") に設定されていて、つまり $NEWDIR
にそのまま置くようにしてあります。
version 0.4 からは、古い各記事ファイルは削除するようにしましたの
で、わざわざ $NEWDIR の下にサブディレクトリを作ってそちらに別に保
存する必要もないと考えてそのようにしました。適当な名前を設定すれ
ば、そのサブディレクトリに保管されます。
なお、$WORKDIR は便宜的な変数に過ぎません。
2) 外部コマンドの定義
・$WGETCOM : HTML ファイルを持って来るプログラム名
現在は w3m と wget の 2 つのみサポートしています。パスが通ってい
ない場合はフルパスで w3m か wget のどちらかを書いてください。
なお、プライベートアドレスから HTTP プロクシを使っている場合は、
wget では、Unix の場合は /usr/local/etc/wgetrc, または ~/.wgetrc
などの wget の初期設定ファイルに
http_proxy = http://[アドレス]:[ポート番号]/
のように設定するとプロクシ経由で持ってこれるようです。MS-Windows
の場合は、環境変数 HTTP_proxy に
set HTTP_proxy = http://[アドレス]:[ポート番号]/
のように設定すればいいようです。
・$NKF : 漢字コード変換プログラムとオプション (MS-Windows 版のみ)
奥村さんの TeX QandA の元々のファイルの漢字コードは EUC-JP なので
MS-Windows 版ではこれを使用して漢字コードを Shift_JIS に直します。
デフォルトでは "nkf --msdos" を使用していますが、nkf と同様に漢字
コードを EUC-JP から Shift_JIS に変換できるものであれば別のもので
も構いません。
なお、nkf の --msdos オプションは、nkf の version 2.0 以降のもの
でないと使えないかもしれません。
3) URL 定義
・$TOPURL : 奥村晴彦さんの掲示板の URL (多分変更不要)
・$URL : 奥村晴彦さんの掲示板の TeX QandA の URL (多分変更不要)
4) ファイル名、パス名
・$indexhtml : 持ってきた index.html ファイルのパス
・$curlastf : 現在の一覧の範囲を記録するファイルのパス
・$indexdb : データベースファイルのパス
・$html1name : 作成する一覧ファイル名 (fortexqa1 用)
・$tophtmlname : 作成する一覧ファイル名 (fortexqa3 用)
・$threadfname : 作成するスレッド一覧ファイル名 (fortexqa4 用)
デフォルトでは、それぞれ
$html1name = "texfaq-1.html"
$tophtmlname = "texfaq-3.html"
$threadfname = "texfaq-4.html"
となっていますが、これらは各コマンドの -o オプションで変更できま
す。なお、fortexqa1 はディレクトリも含めて指定できますが、
fortexqa3,4 はリンクの関係もありますので、現在 (version 0.4) では
そのファイルを置くディレクトリを変更することはできません。
5) その他
・$LINKTARGET1 : に書く target frame の名前 (fortexqa1 用)
・$LINKTARGET : に書く target frame の名前 (fortexqa3,4 用)
fortexqa1 用の $LINKTARGET1 は、デフォルトでは "contents" と設定
されていますが (fortexqa1 はこれがなければ意味がない)、現在
(version 0.4)、fortexqa3,4 用の $LINKTARGET は、デフォルトでは空
文字 ("") に設定してあり、すなわち frame target の機能は使用しな
いようにしてあります。
私のように、今だに古いブラウザ (Netscape 3.04) と、高い解像度で小
さい文字の表示を使って、縦長のブラウザを 2 つ並べているような場合
にはこの機能は有用なのですが、最近のブラウザは横長であるのがデフ
ォルトのようですし、文字も大きめにして見ていて、さらにタブブラウ
ジング機能がある場合は frame target の機能はいらない (むしろ邪魔)
な場合もあるかもしれない、と考えてデフォルトでは無効にしています。
使用したい場合は適当な文字列 (例えば "contents" など) を設定して
ください。
なお、スクリプト実行時にコマンドラインオプション -t で変更するこ
ともできますので、他のウィンドウフレーム名と重なって使いにくくな
る場合は適宜変更してください。
4. 使用法
---------
4.1. fortexqa1.pl
-----------------
fortexqa1.pl が実際にやることは以下の通りです。
1) 奥村晴彦さんの TeX QandA の掲示板
http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/index.html
を持って来て
2) それの先頭と最後の部分をカットして一覧だけにして
3) リンクの貼り換え、target の追加を行ない texfaq-1.html に出力
この、3) は、例えば
Re: 飛鳥の取り扱いについて
という部分を
Re: 飛鳥の取り扱いについて
のように書き換えます。できた texfaq-1.html は、現在のディレクトリ
の絶対パスが /home/hoge であるとして、ブラウザで
file://home/hoge/texfaq-1.html
のように指定すればアクセスできるでしょう。
上で分かるように、各項目のページは奥村晴彦さんのページに見に行き
ますが、それらは、フレームに対応したブラウザの場合、"contents" と
いう名前のウィンドウフレームに開きますので、一覧と各項目の内容の
ウィンドウを独立に開いてアクセスできます。これによって (ブラウザ
画面を 2 つ開いて見ることが苦痛でない環境では) 各項目の内容参照の
やりやすさが多少向上すると思います。
fortexqa1.pl のオプションは以下の通りです。
-o [output]: 出力ファイル名の指定 (default: "texfaq-1.html")
-t [target]: の target フレーム名 (default: "contents")
-ci/-ui : index.html を新たに取得しない/する (default: 取得する)
-h: ヘルプメッセージ
-v: バージョン表示
4.2. fortexqa3.pl
-----------------
fortexqa3.pl が実際にやることは以下の通りです。
1) 奥村晴彦さんの TeX QandA の掲示板
http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/index.html
を持って来て、新たに追加されたファイルを各項目を調べ
2) それらを持って来て ($ORGDIR) そこからデータベースを作り直し
3) それにしたがって各記事のページも加工して $NEWDIR に作成 (一覧
ファイルは texfaq-3.html に、各記事ファイルは、$SUBDIR が設定
されていれば $NEWDIR のサブディレクトリ $SUBDIR 内に、設定され
ていなければ $NEWDIR に置かれる)
各項目ファイルには、元々はそれへの返事を書く form が下についてい
ますが、それを削除し、以下のようなものをつけます:
Original:
(texfaq):42510.html
Next Thread:
42511,
42512,
42563
Prev Thread:
42509
Prev Date: 42509 hoge hoge
Next Date: 42511 hoga hoga
つまり、
・Original: 奥村さんのサイトの元々の HTML ファイルへのリンク
・Next Thread: この項目への返答のファイルへのリンク (昇順)
・Prev Thread: この項目が引用しているファイルへのリンク (降順)
・Prev Date: 一つ前の番号の記事へのリンク (とタイトル)
・Next Date: この次の番号の記事へのリンク (とタイトル)
が追加されます。上の例のように Prev Thread: や Next Thread: は複
数の場合もあります。その記事に対して返答を書く場合は Original: の
リンクをたどって下さい。
Next Thread:, Prev Thread: は、各項目のページ内に書かれている
を元に作っています。よって、ある項目に対する
返答であってもそれをつけていない場合は Next Thread:, Prev Thread:
のリンクはつきません。
ということは、Prev Thread: のリンクは、実際にはそのページ本文にリ
ンクが貼られていることになりますから必ずしも必要ではないのですが、
とりあえず今はつけています。
以前は、一覧ファイルからは、fortexqa1 同様、別ウィンドウフレーム
(名前は "contents") への各項目のリンクとしていましたが、現在
(version 0.4 以降) は、「3.3. 各変数の意味」の 5) に書いたように、
デフォルトではフレーム機能は使わないようにしています。使う場合は
-t オプションを使うか、設定ファイル config.pl のデフォルトの設定
を変更してください。
また以前は、各記事ファイルは、$NEWDIR のサブディレクトリ
($SUBDIR) 内に置いていましたが、これも現在 (Version 0.4 以降) は、
「3.3. 各変数の意味」の 1) に書いたように、$NEWDIR にそのまま置く
ことにしました。
fortexqa1 との違いは、その各記事の WWW ページを
・奥村晴彦さんの掲示板へ見に行くようになっているのか
・加工されたものをローカルに置いてそれを見ているのか
ということになっています。
このページへのアクセスは、$NEWDIR の絶対パスが例えば
/home/hoge/fortexqa であるとして、ブラウザで
file://home/hoge/fortexqa/index.html
のように指定すればアクセスできるでしょう。
fortexqa3.pl のオプションは以下の通りです。
-d [dir]: データ保存ディレクトリの指定 (default: $NEWDIR)
-t [target]: の target フレーム名 (default: なし)
-s [dir]: 各記事ファイルを置くサブディレクトリ (default: なし)
-o [outfname]: 出力ファイル名 (default: texfaq-3.html)
-ci/-ui: index.html を新たに取得しない/する (default: する)
-ce/-ue: 各記事ファイルを新たに取得しない/する (default: する)
-h: ヘルプメッセージ
-v: バージョン表示
4.3. fortexqa4.pl
-----------------
fortexqa4.pl が実際にやることは以下の通りです。
1) fortexqa3.pl が作成したデータベースを元にスレッドを構築
2) そのスレッドを HTML にして $NEWDIR/texfaq-4.html として出力
よって、これは fortexqa3.pl を実行した後に実行します。
thread は、デフォルトでは以下のように HTML 化されます:
----- ここから -----
.....
・00005 の記事のタイトル
00005 [名前] (日付)
┗━00006 [名前] (日付)
・00001 の記事のタイトル
00001 [名前] (日付)
┗━00002 [名前] (日付)
┗━00004 [名前] (日付)
┗━00003 [名前] (日付)
----- ここまで -----
このように、各スレッドは上から下に、スレッドブロックは上が最新に
なるようにしてあります。
以前は、スレッドの伸びる方向とスレッドブロックの配置の方向は同じ
方向にしか指定できませんでしたが、現在 (Version 0.4 以降) は、そ
の 2 つの方向を独立に指定できるようになっています。
fortexqa3.pl で持って来ていないような古い記事が参照元である場合の
ように参照元を持たないものがある場合がありますが、その場合は、ト
ップレヴェルに相当する行に
[00001] (元のサイトへのリンク)
のように書き出し、奥村さんのサイトへのリンクが貼られるようになっ
ています (Version 0.4 以降)。
なお、参照元は一般には一意ではありませんが、その記事中で参照され
ている最も大きい番号 (最も近い記事番号) を参照元としています。よ
って、必ずしも正しいスレッドにはならない可能性もあります。
fortexqa4.pl のオプションは以下の通りです。
-d [dir]: データ保存ディレクトリの指定 (default: $NEWDIR)
-t [target]: の target フレーム名 (default: なし)
-s [dir]: 各記事ファイルのあるサブディレクトリ (default: なし)
-o [outfname]: 出力ファイル名 (default: texfaq-4.html)
-au/-ad: 各スレッドは上に伸ばす/下に伸ばす (default: 下)
-bu/-bd: スレッドブロックは最新が上/下 (default: 上)
-r/-nr: 新しいものを上に/下に
-h: ヘルプメッセージ
-v: バージョン表示
-r は -au -bu, -nr は -ad -bd と等価です。
5. その他
---------
(04/30 2006; fortexqa Ver.0.4)
普段は fortexqa3 ばかり使っていたのですが、ふと fortexqa4 の出力
を見てみたら、スレッドがまともに作れていないことに気がつき、春休
みを利用してかなり大幅な作り直しを行ないました。今回の改良点は以
下の通りです。
・ライブラリ、設定ファイルの分離
・各記事の保存やデータベースは index.html の範囲内のものだけを対
象にし、古い記事やデータは削除する
・各記事の保存場所はオプション ($SUBDIR) にする
・ の target frame の使用はオプション ($LINKTARGET) にする
・各コマンドのオプションを統一化
・各記事ファイルに、次/前の番号の記事へのリンクを追加
・fortexqa4 のスレッドの方向とスレッドブロックを置く方向を独立に
指定できるように改良
・cp, mv 等を使わないようにした
・~/.fortexqarc への対応 (Unix 版のみ)
・MS-Windows 版の作成
・範囲外の記事の場合、元のサイトへのリンクにするようにした (今ま
ではリンクなし)
しかし、まだまだ改良の余地はあると思います。
・インストールが手動なので Makefile を作るべき
・記事ファイルの取得の際、そのファイルの数だけ wget を実行してい
るが、wget なら一回の実行でまとめてファイルを持ってこれるのでそ
れを活用するように修正すべき
・任意の一つの記事を指定して、それに関連する記事を取得し、そのス
レッド (あるいはそのスレッドをその順に一つの HTML ファイルに連
結したもの) を構成するようなものの作成
・タブブラウザでのアクセスの際のインターフェースの向上
・古いデータベースを削除するのではなく、別データベースファイルと
して残しておいて、古いものを含むスレッドを構成するときに活用
ただ次に「またやろう」という気持ちになるのがいつになるのかはわか
りません。
(02/16 2004; fortexqa Ver.0.3)
割と忙しいのですが、暇にならざるをえない時間があったので、少し
fortexqa4 について考えてみたら、fortexqa3 のデータベースを使えば
割と楽に作れることに気がつきました。ということでやっつけ仕事でた
めしに作ってみました。bug 等はまだありそうな気がしますし、
fortexqa3.pl を動かした後に動かす、というちょっとやな使い方ですが
それなりの thread には見えるようです。
(02/16 2004; fortexqa Ver.0.2)
fortexqa1 の方は、ほとんど実際に使っていなかったのですが、動かし
てみたら bug だらけでした。それを直したものを Ver.0.2 とし、今後
archive ファイルは日付でなく、バージョン番号でまとめていくことに
しました。
(01/30 2004: fortexqa Ver.0.1)
fortexqa を公開することにしました。実は元々は csh script + AWK
script の形態だったのですが、公開に際して perl で書くことにしまし
た。私はこの形でプログラミングすることがほとんどで、公開時に perl
にする、というのは yomi と全く同じパターンです。perl 版はまだ使い
込んでいないので bug が色々あるような気がします。
また、fortexqa1.pl と fortexqa3.pl になっているが、"fortexqa2.pl"
はどうした、と言われそうなので先に言っておきますが、実はちゃんと
あります。しかし、使ってみてあまり意味がなさそうなので使うのをや
めてしまったのです。どういうものかというと、fortexqa1.pl,
fortexqa3.pl の丁度中間のようなもので、
・後方へのリンクを、一覧画面の方につけたもの
といったようなものです。つまり、fortexqa3.pl で各項目のページにつ
く Next: の部分が、一覧のページの各項目の右に並んでいる、と考えれ
ばいいです。各項目のファイルは一応 database を作るために新規のフ
ァイルを一旦取得して中を参照しますが、保存はしません。しかし、これ
は使ってみると分かるのですが、fortexqa1.pl や fortexqa3.pl に比べ
てやや存在価値が薄く、fortexqa3.pl (に相当する csh と AWK の
script) ができた段階で使っていません。
実は、案としては fortexqa4.pl まで考えていて、fortexqa4.pl は一覧
の thread 表示を作る、というものです。データベースを使えばできな
くはなさそうなんですが、前後の接続関係が一対多や多対一ではなく多
対多であること、しかもそれは完全なものではない、など接続関係の処
理に問題があるようなので、まだ csh + AWK script 版すらコードを書
いていません。
6. バグリポート、ライセンス
---------------------------
この perl script は無保証です。しかし色々な不具合は、対応できるも
のは行う予定ですので、不具合の報告、意見などは歓迎します。報告等
は下記メールアドレスへお願い致します。また、バグリポート等、各種
情報は、順次下記の WWW page に掲載する予定です。
e-mail: shige@iee.niit.ac.jp
WWW page: http://takeno.iee.niit.ac.jp/~shige/TeX/TeX.html
また、このソフトはフリーソフトとして公開します。再配布、改良は可
能ですが、その際、このライセンス部分は改変せずに付属させてくださ
い。改良は変更箇所を別途明記してください。ソースコードも自由に使
用して頂いて構いません。
7. 変更履歴
-----------
02/16 2004 以降の変更に関しては、ChangeLog ファイルをご覧ください。
01/30 2004 Ver.0.1
02/01 2004
02/03 2004
02/16 2004 Ver.0.2
01/30 2004
1) 公開開始。
02/01 2004
2) ドキュメントの表現等を少し修正。
02/03 2004
3) 奥村晴彦さんの所属名を書き間違えていたところを修正
(Thanks 奥村さん)。
02/16 2004
4) fortexqa1.pl の種々の bug fix.
8. 目次
-------
1. はじめに
2. 動作環境
3. install
3.1. Unix 版の場合
3.2. MS-Windows 版の場合
3.3. 各変数の意味
4. 使用法
4.1. fortexqa1.pl
4.2. fortexqa3.pl
4.3. fortexqa4.pl
5. その他
6. バグリポート、ライセンス
7. 変更履歴
8. 目次
+=================================================+
竹野茂治 〒945-1195 新潟工科大学 情報電子工学科
shige@iee.niit.ac.jp TEL(&FAX): 0257-22-8161
+=================================================+