TxWriterは、Spmap用に作成した文献情報を編集するためのツールですが、
簡易な
インターネット図鑑も作れる便利なツールです。
図、写真、動画、音声(オーディオ)、説明文など様々なコンテンツをHTMLファイルの中に張り込めます。
このようなHTMLの作成は市販のホームページ作成ソフトでも可能ですが、TxWriterは、spmap用に作った生物リスト(
種テーブル)を展開して膨大な数のHTMLを自動的に生成できます。
TxWriterは spmap と同じフォルダーに納められています。
TxWriterは、ウィンドウ形式のアプリケーションソフトではなく、コマンドプロンプト(DOS窓)から起動します。
takeinツールで生成された種別文献ファイル(sp_lit.csv)には、分布図作成の根拠となった文献のリストが種毎に収められています。
TxWriterはこのファイルを基に、種ごとの著者名、文献名リストを作成します。
ファイル形式は、HTML、もしくはプレーンテキストです。
起動方法:
文献リストを作成するには、例えば
TxWriter -alias1 -area -allarea .\explain
などと入力します。
ここで .\explain は出力先のフォルダ名です。適当に読み替えて下さい。フォルダを指定しないとカレントフォルダに吐き出されます。
explain フォルダの下に別名1をファイル名とするファイルが大量に生成されるはずです。-alias1は、ファイル名に別名を使うという指示です。
-areaオプションを指定していると地域ごとに文献リストが作成されます。
-allareaオプションを指定していると全地域を通して文献リストが作成されます。
-areaと-allareaは両方同時に指定できます。指定した順序に応じて出力順も変わります。
-area -allareaの順だと、
地域1の文献
地域2の文献
地域3の文献
...
全地域通しての文献
-allarea -areaの順だと、
全地域通しての文献
地域1の文献
地域2の文献
地域3の文献
...
このツールには他にもオプションがあります。詳しくは、
起動オプションの説明を読んで下さい。
HTML
HTML形式で作成する場合、コマンドラインで-htmlを指定するか、
あるいは、
spmap.iniの[TxWriter]セクションで
DefaultFileTypeをhtmlに設定しておきます。
前述のようにファイル名として和名を指定すると、以下のようなファイルが作成されます。
![](./TxWriter_ResultHtml.png)
種毎のHTMLの他に種の索引ページ ( _index.html ) も作成されます。
また、HTML間で共通な、字体や、段落毎の字下げ定義は、共通スタイルシート(_text.css)にまとめて記述されます。
共通スタイルシートを変更するだけで、全てのHTMLの書式を変更できます。
各HTMLには、種名と、文献は必ず含まれますが、
spmap.iniの[TxWriter]セクションの
HtmlImageURLxxや
HtmlImageListxxを設定することにより、画像を含めることもできます。
右の出力例では、spmapで作成した分布図を張り込んでいます。
詳しくは、以下の
インターネット図鑑の説明をお読み下さい。
表示する項目や字体も
spmap.ini の記述を変更することにより、ある程度制御できます。
完全な英語版HTMLを作成することもできます。英語版HTMLでは、日本語固有の部分を置き換える必要がありますが、これらの作業にも
spmap.ini の設定が必要です。
テキスト (文字だけ必要な人)
あなたは、HTMLなど不要で、他の文書に張り込む目的で文献リストが欲しいだけなのかもしれません。
このような場合、プレーンテキストで吐き出すことができます。
プレーンテキスト形式で作成する場合、コマンドラインで-txtを指定するか、
あるいは、
spmap.iniの[TxWriter]セクションで
DefaultFileTypeをtextに設定しておきます。
プレーンテキストでは、2通りもしくは3通りのファイルが作成されます。
種名ファイル(*.hdr)
文献ファイル(*.lit)
![](./TxWriter_ResultText.png)
種名ファイル(*.hdr)には、種名が納められています。文献ファイル(*.lit)には、文献リストが記述されます。
2つのファイルとは別に、もう1つ説明文用のファイルを作ることもできます。種の説明を追加したい場合、このファイルに記述して他のファイルに取り込ませるのに使います。
説明ファイルの拡張子は spmap.ini 内で定義します。
拡張子txtには特別な意味があります、spmap分布図表示画面は、
説明ボタンがクリックされたとき、*.txt ファイルを説明文と見なして取り込み、表示する機能をもっています。
説明定義を空文字にすると説明ファイルも出力されなくなります。
生成されたこれらのファイルをHTMLのOBJECT要素として埋め込むとWEBで公開可能なドキュメントが作成できます。
注:
Windows XP の Service Pack2 がインストールされているコンピュータでは、 Internet Explorer V.6.0 Sp2 で、サンプルを表示しようとすると警告が表示されます。
これは、サンプルがJAVAScriptを使用し、しかも動的にwebページを作成しているためです。
情報バーで OK をクリックし、さらに警告が表示されているタイトルバーをクリックすると、メニューが表示されます。
「ブロックされているコンテンツを許可」を選ぶと正常に表示されます。
種を選んで説明ボタンをクリックすると説明が新しいウィンドウに表示されます。
ただし、ここでも警告が表示されるので、先ほどと同じような操作が必要となります。
この煩雑な操作は、Internet Explorer V.6.0 Sp2 の仕様によるものです。
煩雑さを避けたい方は、Netscape など他のブラウザソフトを使ってください。
TxWriterで作成されるHTMLファイルには、分布図、写真、動画、音声(オーディオ)など様々な要素を張り込むことができます。
従って、生物の形態、行動、鳴き声などの紹介にも使えます。
説明文や、HTMLの断片もテキストとして取り込むことができるので、かなり自由に編集できます。
HTML型式なので、インターネット上で公開することもできますし、CD図鑑などにも使えます。
起動方法
図鑑を作成するには、例えば
TxWriter -alias1 .\explain
などと入力します。
ここで .\explain は出力先のフォルダ名です。適当に読み替えて下さい。フォルダを指定しないとカレントフォルダに吐き出されます。
explain フォルダの下に別名1をファイル名とするファイルが大量に生成されるはずです。
-alias1 オプションは、ファイル名に別名1を使うという指示です。
このツールには他にもオプションがあります。詳しくは、
起動オプションの説明を読んで下さい。
種毎のHTMLの他に種の索引ページ ( _index.html ) も作成されます。
また、HTML間で共通な、字体や、段落毎の字下げ定義は、共通スタイルシート(_text.css)にまとめて記述されます。
共通スタイルシートを変更するだけで、全てのHTMLの書式を変更できます。
写真等の張り付け
ところで、HTMLに張り付ける図や写真はどこで指定するのでしょうか?これは設定ファイル
spmap.ini に記述します。
spmap.ini の[TxWrter]セクションに
HtmlImageURL1=../map/*.png
HtmlImageURL2=../picture/*.jpg
HtmlImageURL3=../behavior/*.mpeg
HtmlImageURL4=../comment/*.txt
................
HtmlImageList1=../encyclopedia/map.list
HtmlImageList2=../encyclopedia/photograph.list
HtmlImageList3=../encyclopedia/movie.list
HtmlImageList4=..encyclopedia/comment.list
................
などの記述を書くことで任意の要素を取り込むことができます。
全部で10指定できます。
HtmlImageURL1 〜 HtmlImageURL10
HtmlImageList1 〜 HtmlImageList10
URLxx と Listxx
HtmlImageURLxx と HtmlImageListxx は何が違うのかというと、
URLxx は、ファイルのタイプ別に1つのフォルダにまとめ、全部の種のファイルを納めている場合
Listxx は、種毎に異なるフォルダに納めている場合、あるいはファイル名が任意の場合
に使います。
例えば、URL1 では
../map/*.png と記述していますが、
これは、HTMLを吐き出すフォルダの1つ上に戻ると map という別ホルダがあり、
その中に拡張子 png のファイルが多数納められていることを指示しています。
そしてこれらのファイル名には、生物名(学名、別名1、別名2)が使われていて、ファイル名を手掛かりにどのファイルを HTML に張り込めばよいか判るはずであると仮定されています。
生物名を可能な限り当てはめてみて、該当するファイルが見つからなければ、HTMLには何も埋め込まれません。画面に警告メッセージが表示されるだけです。
パス名は、HTML から見た相対パスです。TxWriterから見たパスではダメです。
ドライブ名を含んだ絶対パスもダメです。
パス名の書き方が、Windows スタイルではないことに注意して下さい。
"\" で区切った ..\map\*.png はダメです。
フォルダ構成の例
TxWriter.exe
.\map\Argiope amoena.png
\Argiope-boesenbergi.png ← 属と種小名の間をハイフンで繋いだ例
\Argiope_bruennichii.png ← 属と種小名の間をアンダースコアで繋いだ例
\アオオニグモ.png
\.png
......
.\explain\Argiope_amoena.html
\Argiope_boesenbergi.html
\Argiope_bruennichii.html
\アオオニグモ.html
......
一方、List1 では
../encyclopedia/map.list と記述していますが、
これは、HTMLを吐き出すフォルダの1つ上に戻ると encyclopedia という別のホルダがあり、
その中にテキスト型式のファイル map.list があり、
このファイルの中に具体的な種毎の画像ファイル名(相対パス指定)が記述されていることを意味しています。
フォルダ構成
TxWriter.exe
.\encyclopedia\map.list
.\map\Argiope amoena\distribution.png
\Argiope-boesenbergi\distribution.png
\Argiope_bruennichii\distribution.png
\別のフォルダ\アオオニグモ\分布図.png
......
.\explain\Argiope_amoena.html
\Argiope_boesenbergi.html
\Argiope_bruennichii.html
\アオオニグモ.html
......
そして、map.listの中身は、
,./map/Argiope amoena/distribution.png
,./map/Argiope-boesenbergi/distribution.png
,./map/Argiope_bruennichii/distribution.png
,./map/別のフォルダ/アオオニグモ/アオオニグモの分布図.png
......
上の例では、ファイル名自体には生物名を含んでいません。パス名のどこかに生物名が使われていれば、TxWriterは、リスト内から該当する生物のファイルを推定します。
該当するものが複数見つかってしまった場合、リストの後ろの方で見つかったものが有効とされます。見つからなければなにも埋め込まれません。
ファイルの管理方法に応じて、都合のよい方を使って下さい。
以下に、注意点をまとめておきます。
張り込むファイルは、HTMLから見た相対パス指定にする。
・リストに記述する時も、HTMLから見た相対パスで記述する。
・パス名の区切りは、Webスタイル(スラッシュ "/" 区切り)にする。Windowsスタイル("\")はダメ。
・ファイル名に学名を使うとき、属と種小名の間に半角空白1つあけるか、ハイフン "-" 1つ、あるいはアンダースコア "_" 1つでつないだファイル名とする。
・インターネットを介して参照できるようにしたいのならば、和名や空白を含んだファイル名を使わないほうが良い。
写真などが表示されないときは?
一番ありそうな原因は、HtmlImageURLxxなどに記述したパス名がWindowsスタイルになっている場合です。
フォルダ間の区切りは、円記号"\"ではなく、スラッシュ"/"で書いて下さい。
HTML に埋め込まれるパス名は、Webスタイルである必要があります。"/"が Web の流儀です。
×   ..\picture\*.jpg ---> ○   ../picture/*.jpg
二番目に考えられる原因は、、HtmlImageURLxxなどにドライブ名を含んだ絶対パスで書いてしまっているというものです。
Web上では、ドライブ名は使えません。常に相対パス名で指定して下さい。
×   C:\spmap\picture\*.jpg ---> ○   ../picture/*.jpg
三番目に考えられる原因は、、HtmlImageURLxxなどのパス指定の視点が、HTMLから見たものになっていないことです。
TxWriterからみた相対パスを指定しないで下さい。出力先のHTMLからみた相対パスを指定して下さい。
フォルダ構成の例
C:\spmap\TxWriter.exe
\picture\*.jpg
\expain\*.html ← HTMLから見た相対パスが正しい
......
×  
./picture/*.jpg ---> ○  
../picture/*.jpg
四番目に考えられる原因は、、ファイル名やフォルダ名が部分的にしか一致していないことです。
例えば、spmap.ini で
HtmlImageURL1=../picture/*.jpg
を指定して、実際のファイル名が、
アオオニグモ_♀.jpg
アオオニグモ_メス.jpg
アオオニグモ_female.jpg
の何れかであった場合、生物名を当てはめてみたとき、ファイル名は部分的にしか一致しないため、該当なしと見なされます。
このような場合、spmap.iniには次のように定義しておきます。
HtmlImageURL1=../picture/*.jpg
HtmlImageURL2=../picture/*_♀.jpg
HtmlImageURL2=../picture/*_メス.jpg
HtmlImageURL2=../picture/*_female.jpg
上記の記述に従うと、アオオニグモ.jpg があれば、それがHTMLページの先頭に表示されます。
以下 _♀、_メス、_female の順に表示されます。
実在しないファイルは、読み飛ばされ、HTML上では、次の画像が繰り上げられて表示されます。(TXWriterの警告メッセージは出ます)。
他のWebサイトの画像をリンクしたい
残念ながら、
spmap.iniの HtmlImageURLxx などに外部サイトのURLを直接に指定して画像をリンクさせることは、このソフトではできません。
しかし、外部リンクを記述したHTMLの断片を作っておけば、それを取り込むことはできます。
例: HTML断片の記述
<DIV CLASS="mapimage">
<IMG SRC="http://homepage2.nifty.com/spmap/doc/etc/アオオニグモ.jpg">
<BR CLEAR=ALL>
</DIV>
アオオニグモ.txt として ../picture の下に保存し、spmap.ini で
HtmlImageURL1=../picture/*.txt
を指示する。
ヒント:
[戻る] ボタン など共通の要素を張り付けるにはどうしたらよいでしょうか。
良い方法があります。
ワイルドカードも生物名も含まないパス名を記述した場合、そのファイルが実在していれば、どの生物にも適合します。
HTMLの断片を記述したテキストファイルを作り、生物名を含まないファイル名を付け、HtmlImageURLxxに指定すると、全てのHTMLにそのファイル内容が埋め込まれます。
埋め込まれる位置は、URLxx の 番号順です。HTMLページ先頭近くに埋め込みたいのであれば HtmlImageURL1 に記述し、末尾に埋め込みたいのであれば、HtmlImageURL10 に記述します。
例: 以下のようなHTMLの一部を記述し、ReturnBtn.txt として保存する。
<div style="text-align: right; margin-right: 2em;">
<a href="./_index.html">戻る</a><br>
</div>
<br>
spmap.ini の[TxWriter]セクションに以下の1行を記述
HtmlImageURL10=../ReturnBtn.txt
![TxWriter Html出力結果の図](./TxWriter_ResultHtml2.jpg)
TxWriterを起動してHTMLを作成。できあがったHTMLページ下部の右端に
戻る リンクが表示されます。
以下に、TxWriterで指定可能な起動オプションを目的別に示します。
| 意味 | 文献リスト作成 | 図鑑作成 |
-sci | ファイル名に学名を使用 | 択一 必須 | 択一 必須 |
-alias1 | ファイル名に別名1(和名)を使用 |
-alias2 | ファイル名に別名2(和名)を使用 |
-code | ファイル名に種コードを使用 |
-allarea | 文献名を全地域通して出力します | 最低1つ 両方指定可 | 任意 指定時は文献出力 |
-area | 文献名を地域別に出力します |
-html | HTMLファイルを作成します | 択一 省略時はspmap.iniに従う | 不可 強制的にHTML |
-txt | プレーンテキストファイルを作成します |
-geo | 地域メッシュや緯度経度データにも文献を付ける | 任意 | 任意 指定時は、-areaも必要 |
-template | インデックスにテンプレートを使用 | 任意 | 任意 |