カテゴリー「マイコンピュータ」の44件の記事

メモ: html での上付き文字と下付き文字の垂直アラインメント

[メモ:理科年表 [物理/化学部 旋光物質] における用語の誤りに就いて] (2012年4月8日[日) を書いた時に、普通に原稿を書くと、比旋光度の上付き文字と下付き文字が [α]20D と云うようにズレてしまうので、初め TeX で画像化する積もりだったが、「ナンダカメンドー」と思って、泥縄式で html の範囲内で処理した (もう誰かが既にヨリ優れたものを発表していると思う。ただ、チョット探したが見つからないので、自分で作っちゃった方が早そうだったのだ)。

私が現に使っている以外のシステムでは旨くいかないかもしれないし、ブラウザによっても表示がズレてしまう可能性があるが、今のところは私自身のモニタ上では、「コンナモンダロー」と云う結果が得られるので、使うことにした。

ついでに、度数単位の上付きの丸 "°" の後に出来る空白を詰めておいた。

備忘のため、処理方法を顕在化しておく。

  1. 未処理:コード [α]<sup>D</sup><sub>20</sub>/(&deg;) 結果 [α]D20/(°)

    処理済:コード [α]<sup>D</sup><sub style="margin-left:-0.7em">20</sub>/(<span style="letter-spacing:-0.7em">&deg;)</span> 結果 [α]D20/(°)

  2. 未処理:コード [α]<sup>22</sup><sub>D</sub> 結果 [α]22D

    処理済:コード [α]<sup>22</sup><sub style="margin-left:-1em">D</sub> 結果 [α]22D

margin-left や letter-spacing の値は、フォントによって微妙に変える必要が出てくるだろう。

| | コメント (0) | トラックバック (0)
|

ブログテンプレート変更

previous template of nousenew template of nouse本ブログ (nouse) のテンプレートを、2007年4月21日(土) から使用してきた [ノート(2列左)] から [シンプルコレクション2/ブラウン(2列左)] に変更した。記事本体部分の幅をひろくするのが目的である。

対比のため、以前のテンプレートによるイメージを左側に、新しいテンプレートによるイメージを右側に示しておく。

| | コメント (0) | トラックバック (0)
|

katex 事故その後

[xyzzy で事故2件: バッファタブが消え、katex.l のバイトコンパイルが出来なくなった。] (2010年7月17日[土]) で報告した katex の異常な振る舞いは、試行錯誤しているうちに数日してなくなった。おそらく原因は、outline-tree2 のインストールを正しくしなかった報いなのだろう。

outline-tree2 そのものは便利なので、今だにもう一度使つてみたい気はあるのだが、また何か失敗して、katex が使えなくなることを考えると二の足を踏んでしまう。

そもそもが、「タウバー型定理についてもザックリと纏めておこう」と、自分でも意図が良く説明が付かないことを始めたのがキッカケだった。しかし、タウバー型定理の説明は、原稿のあちらこちらに散らばってしまって、話の流れに乗りつつ、整合性のある叙述をしようとすると、原稿の「あちら」や「こちら」や、そして「あちら」・「こちら」以外の箇所を何度も経巡る必要が出てきたのだ。

「マーク」を使えば良いと言う訣にはいかなかった。「マーク」だと文脈が見えづらいのだ。

そこで outline-tree2 を導入してみたのだが、その結果は良好だった。「事故」が起こったのは、私が一度インストールに失敗したときに、うまくアンインストールできなかったせいだろう。それにしても xyzzy で tex ファイルを作っていて katex が言うことを聞かないと云う状況は、「鱠を吹かせる」のに十分な打撃だったのだ。

作成中の tex ファイルが大きくなりすぎて、いま再び「事故」を起こす訣にはいかないと云う思いもある

その tex ファイルは、ついに 500KB を超えてしまった。dvi ファイル化すると 1150KB超。pfd ファイルでは 1220KB超である。つまり、少なとも、現時点であってさえ、そのままの形ではココログでの発表は不可能だと云うことだ (アップロードできる限界は、多分1024KB付近)。こうした制限を設けることでニフティは見す見す商機を逸していると思うのだが、ことは私企業の経営判断に属することなので、とやかくや言うまい。

取り敢えず、現在の私が気になっているのは、いつになったら原稿が完成するのかと云うことだ。自分で書いていて、予測が付かないのだから、情けないと言えば情けないのだが、どうにも仕方がない。一応、峠は越している筈なのだが、原稿が書き終わってからも見直す必要がある。今までの経験から言うと、そこでまたドッサリと訂正が入ることになるのだ。ヤレヤレ。

tex ファイルと言えば、katex 支配下で入力していて (或いは、 tex モードと言うべきかもしれない。正確なところを私は知らない)、"&" を打ち込むと、エスケープも文字が付いて "\&" がバッファに示される。これは TeX の仕様として、基本としては当然そうであるべきなのだが、コントロール文字としての (つまりエスケープ文字が付かない) "&" が必要な時も "\&" なることがある。これも "\&" を出してから "\" を消去すれば、その場しのぎの解決にはなる。しかし、何度も繰り返して "&" が使われる局面だと、それ専用の関数 [(defun put-ampersand () "put an ampersand character" (interactive) (insert #\&)) みたいな感じ] を作って、global-set-key で適宜のキーにバウンドした方が良いようだ。

もっもと、そのキーはストローク数が少なくないと意味がない。ミニバッファに "quote-char" を呼び出して、そこから "&" を入力することができるからである。

| | コメント (0) | トラックバック (0)
|

xyzzy で事故2件: バッファタブが消え、katex.l のバイトコンパイルが出来なくなった。

今作っている tex ファイルが大きくなりすぎて (現在 430KB 超)、編集箇所の移動が面倒になったので outline-tree2を xyzzy に入れた。

outline-tree そのものは便利で、有り難かったのだけれども、どう云う訣か、バッファタブが消えてしまった。

しかし、これは「仕様」ではないらしい。何故なら、作成者 OHKUBO Hiroshi さんの紹介している outline-tree2 のスクリーンショットではバッファタブが見えるからだ。

インストールの手順 (NetInstaller で、旨くインストールできなかったので、OHKUBO 氏のウェブページ「xyzzy 関連」に従って手動でインストールしたのだが、そこで手違いをした可能性はある) か、設定を間違えたのかしらん、と、思いつつも、そして、かなり不便であったのは事実なのだが (バッファの選択は、ツリー表示されているバッファをクリックしても可能なのだが、ノード数が多すぎると、フレームから外れてしまう)、それ以上に大きななファイルの編集を行ないやすくなる利便性の方が勝っていたので、使い続けていた。今行っている tex ファイル作成が済んだら、outline-tree2 をアンインストールすれば良いと思っていたのだ。

しかし、ここで、dviファイルも大きくなって、閲覧が目次だけではしづらくなったため、索引も付け加えることにした。ところが katex のディフォルトの索引作成プログラムは makeindex だったのだな。それを mendex に変えるよう katex.l を書き直して、byte-compile したら「IFフォームの形式が不正です」と云うエラーメッセージがでて、コンパイルが止まってしまった。。。

「これは仕方がない」と、katex.l の変更を元に戻して、念のため、それを byte-complie したら、やはり「IFフォームの形式が不正です」と云うエラーメッセージがでて、コンパイルが止まってしまった。「え!?」と思ったが、原状回復し切れていないか、或いは、気付かないうちにファイルを変更してしまったか、と云う可能性があるから、それを確かめるため、アーカイヴファイルから、katex.lを抜き出して、それをバイトコンパイルしてみたのだが、同じ症状が出る。

mendex のことは、取り敢えず脇に置いておくにしても、さすがに、この事態は放置できないので、どうにかしようと思ったが、残念ながら、私には現象の裏で何が起こったのか、サッパリ分からない。

因果関係がハッキリしているわけではないが、最近 xyzzy がらみで行った変更と言えば、outline-tree2 の導入だけだから、対処法としては、それをアンインストールするしか思いつかないが、ネット上を調べても、アンインストール手順に就いての情報が見当たらない (OHKUBO 氏さえ、書かれていないようだ)。

そこで、outline-tree2 の導入時に xyzzy フォルダや、そのサブフォルダに入れたプログラムを移動して、.xyzzy 中の outline-tree2 設定をコメントアントしたしてみた。勿論、xyzzy 上からは outline-tree2 は消えたのだが、バッファタブは復活せず、そして katex.l のバイトコンパイルもできないままでいる。

頭を抱えている。

[補足]2010-07-18 [日]
バッファタブが消えた件は解決した。

\xyzzy\usr フォルダ下にある .xyzzy.history ファイルを削除した所、今までディスエーブルであったメニューの[表示>ツールバー]がアクティブになり、そこの[バッファ]にチェックを入れると、バッファタブが表示されるようになった。

| | コメント (0) | トラックバック (0)
|

メモ:光ディスクドライブ遭難記

昨日(2010-04-12 [月])、エクスプローラ上に光ディスクドライブが表示されていないのに気が付いた。実は、光ディスクドライブを使うことは滅多にないので、何時からそうなっていたのか分からない。

「滅多に使わない」と言っても、マイクロソフト社が発行する "MS Office" へのパッチを当てる際には、オリジナルのディスクをドライブに挿入することが求められることがある (ことが多い?)。

実は、MS Office も滅多に使わないのだけれども、システムの安全上放置する訣にはいかないから、ドライブが absent だと云うのは、早晩困ったことになりそうだ。

と言うか、目の前にみえるハードウエアが、システム上消えているのは、何かシステムに良からぬことが起こった証拠である。「大問題」なような気がする。

で、例によってジタバタし始めたのだが、やはり「例によって」事態は多岐亡羊としてしまった。

「システムの異常」に就いては、何となく「身に覚え」があって、暫く以前になるが [あのWindowsカスタマイズソフト「窓の手」復活へ、Windows7対応版が開発中 - GIGAZINE] (2010年02月05日 01時07分46秒) を参考にして「窓の手」の設定を変更・追加したり (「窓の手」は導入していたが、当時の必要最低限の設定しかしないで済ませていた)、やはり GIGAZINE で紹介されていた Shock Bookmark (これは韓国製のソフトでハングルが文字化けするのが残念だが、やはり便利である) をコンテキストメニューに組み込んだところ、コンピュータの使い勝手が格段に良くなったので、調子に乗って、それからも時々システムに手を入れていたのだ。

そこで、設定を変えたり、ソフトをアンインストールしたりしてみたが、事態は一向に改善されない。。。

この手の設定変更は、システムの再起動や、ログオフ・ログオンしなければならないことが多いので、結構手間がかかる。そして、その度ごとに、エクスプローラを開けて、ドライブが復活しているか確認するのだが、結果は梨のつぶてだ。

それどころか、フリーの仮想ドライブソフトが、光ディスクイメージをマウントできなくなっていたのだ。事態は思っていたより深刻らしいのだった。「こんなもの入れておくから悪いんだ」と独り決めして、即座にアンインストールし、そして、この場合必要かどうか分からないが、「念の為に」再起動。。。したが、やはり効果無し。

少し途方に暮れた。

この時点になって、ようやく、本来なら最初にしなければならないことをしていないことに気付いたのだ。「『デバイスドライバ』はどうなっているんだろう?」

で、コントロールパネル中の「システム」を開いて「ハードウェア」タブをクリック、「デバイスマネージャ」ボタンを押して、「DVD/CD-ROM ドライブ」を調べてみると、見事に全部デバイスドライバが飛んでいた!!! (本当に「!」が並んでいたのだ)。かなり途方に暮れた。

この事態に直面して、思いつくことは一つしかなかった。「ドライバ」の更新だ。右クリックしてコンテキストメニューを出し、「ドライバの更新」を選択したのだが、これが失敗してしまうのだ。「どう云うことだ???」

ディスクからドライバが消えていると云うのは理解しがたかったのだが、仕方がない。光ディスクドライブを購入した際に同梱されてきた (「筈の」。随分以前だから記憶が曖昧になっている) を、部屋中探してみたのだが、見つからない。「激しく途方に暮れた」りはしなかった。「販売元のサイトに行けば、デバイスドライバがあるじゃろ」と思ったからだ。

で、光ディスクドライブの品番をキーフレーズにして google で検索してみると [FAQ:お客様サポート:コンピュータ周辺機器:プレクスターホームページ] と云うページがヒットしたのだな。

冒頭にこう書いてある。「デバイスマネージャーのCD/DVDドライブすべてに"!"マークがついて、ドライブが正常に認識できなくなった。」

「おぁ。これだ!」と思いましたね。

そこには、レジストリファイルの簡単な編集 (項目を2つ削除) するようにとの処方が示されていた。

で、その通りしてみたところ。光ディスクドライブは、エクスプローラに復活したのでした。めでたし。めでたし。

でも、光ディスクドライブを使う機会がまだないので、実際に動くかどうかは確認していなかったことに、たった今気がついたりする。

| | コメント (0) | トラックバック (0)
|

メモ: xyzzy の KaTeX モード。特に katexmth.l に就いて

かなり大きな tex ファイルの編集をし始めたので、TeX システムを更新し、合わせて、xyzzy に KaTeX モード (Thu Oct 11 2008 Version 1.67.1.12) をインストールした。

「や、此は便利だ」と下中濔三郎ばりの台詞を呟きたくなるほど、入力が楽だ。

しかし、便利な分だけ、瑕疵が、と言うか、私の「癖」との相性が気になる (KaTeX の使いやすさの一部は、私の癖を覚えさせた xyzzy 上で動くことによっている)。

で、まぁ、どこが不満かと云うと、取り敢えずは、数式モードで ;l と入力すると \ell と変換されることだった。これは dvi ファイルでは、所謂「リットルのエル」に変換される。スクリプト体のエルなど、あまり使うことはないと云う気がするので (大体、小学校の算数の教科書で最初に出会った時に感じた、前後の書体とそぐわない気持ちの悪さが忘れられない)、ここは \log が出るようにしたいと思ったものだった。

何とか直せないかな?

しかし、少し調べてみると、そして、もっとも直接的には katexmth.l の中を覗いてみると、【イメージ補完の追加方法】と云うコメントがあった。曰わく:

;;;	  標準のイメージ補完では、「;」で始まる数式記号補完と、「:」で始
;;;	まるギリシャ文字補完が使用可能ですが、これ以外の文字で始まる補完
;;;	シリーズも定義することができます。例えば、「,」で始まる次のよう
;;;	な補完シリーズを定義する場合を考えてみます。

で以って、そこに書いてあることに従って .xyzzy に

; 関数補完
(setq KaTeX-math-funcs-list
      '(("l"	"log")
	("as"	"arcsin")
	("ac"	"arccos")
	("at"	"arctan")
	("ch"	"cosh")
	("ln"	"ln")))

;補完用変数の登録
(setq KaTeX-math-key-list-private
      '(("," . KaTeX-math-funcs-list)))

と追加してみたのだが、何も起こらない (katexmth.l には「これらを ~/.emacs に書いておけば、math-mode で自分専用のイメージ補完が利用できます」とあるが、ここは断然 ~/.emacs を ~/.xyzzy と読み替えるべしだろう)。

結局、「;l で \log を出させる」その他の、私好みへの変更は、katexmth.l 内のリストを修正することで済ませたが、何となく釈然としない気分だ。「どこが悪いのかなぁ」と思いつつも、原因を特定できないでいるので、時々、ネット内を参考となる情報を求めてウロウロする (そう言えば、[ユーザー辞書] が出来ているのか出来ていないのかハッキリしないのも気にかかっている)。

そうしているうちに、KaTeX の親ソフトである YaTeX に就いて、以下のような注意に出会った。

§8 yatex/yatexmth.el について注意すべきところ
\bigtriangleup に対応するキーの /\- は /\\- の間違いじゃないかと思う。なぜなら /\- のままだと \leftharpoonup のキーである /- と衝突してしまうから。よって必要ならソースを修正して使ったほうがよい。
--YaTeX マニュアル

「あぁなるほどね」と思ったので、私の katexmth.l も修正した。

どうでもいいことなんだが、ついでなので書いておく:

YaTex と KaTex はひらがなで「やてふ」・「かてふ」と表記されたりする。ま、これ以外のひらがな表記はあり得ないだろう。で、これに漢字を当てて、「野鳥」・「花鳥」が使われていたりするのだ。

何らかの諧謔であるのだろうから、小言幸兵衛ばりに目くじらをたてるは薄みつともないとは思うのだが、「野鳥」・「花鳥」の「歴史仮名遣ひ」は「やてう」・「くわてう」であって「やてふ」・「かてふ」ではない。

「野鳥」はともかく、「花鳥」は「花鳥風月」という成句があるくらいで、人口に膾炙した表現なので、やや気になるのだ。

そう言えば、江戸時代の吉原に「花鳥」と云う花魁がいたそうな。自らの見世に火を放って捕えられ、当然火焙りになるところを、何故か八丈島に流されたのだが、その八丈から、佐原喜三郎らと「島抜け」をして (八丈島からの島抜けのたった一つの成功例の由)、挙げ句、再度捕えられて、山田浅右衛門に首を刎ねられたと云う。(岡本綺堂に「大阪屋花鳥」の一篇がある。[花鳥] は、子母沢寛の「真説・"座頭市"物語」の中でも触れられている。)

「てふ」に漢字を当てるなら、取り敢えずは「蝶」かなぁ。安西冬衛に [春] と云う一行詩があるのは良く知られている。



てふてふが一匹韃靼海峡を渡つて行つた。

--安西冬衛/[軍艦茉莉] (1929)

でも、「か」には、巧い言葉が思いつかない。「佳」とか「夏」とか、あることはあるのだが、釈然としない。「鹿」も、歴史仮名遣ひで「か」だが、「鹿蝶」だと、すぐ「猪鹿蝶」と混ぜっ返されそうだ。

| | コメント (0) | トラックバック (0)
|

ガジェット "Revolver Maps 2.0 Beta"

1週間ほど前になるかと思うが、久しぶりに [ブログパーツをさがせ] に行ってみたら、[カウンター・アクセス解析/解析] のページに、面白いガジェット (回る地球で教えてくれるアクセスマップ!Free 3D Visitor Maps) が紹介されていたので、左側の欄に貼り付けてみた (しばしば --恐らくサーバに過負荷が掛かる時だと思われるが-- 表示が消える)。

それが、[Revolver Maps - Free 3D Visitor Maps] で、回転する地球の画像上に、訪問者の (恐らく、リモートホストレベルだろうが) 所在位置がドット (色はディフォルトでは赤だが、15種類のうちから選択可能) でマッピングされていくと云うものだ。

地球画像の大きさは 180px × 180px から 350px × 350px まで 2px 刻みで選択可能。機能が簡易化されているが、ヨリ小さい画像 (96px × 96px から 160px × 160px) のものもある 。また、地球儀風ではなく、2次元の静止画世界地図 (衛星写真の地球全体像をそのまま長方形に投影した感じ。メルカトール図法っぽくなっている)

私が貼り付けたのは Javascript を利用したものだが、Flash を使ったものもある由。

ディフォルトでは、アクセス者自身を含めて、最近の訪問者の所在位置が、しばらくの間国旗付きで表示される。また、これもディフォルトでは、[アクセスカウンタ/最近の訪問者] が表示される。背景の宇宙空間の星を表示するかどうかのオプションもある。

ミニヴァージョンでは省略されている機能だが、地球画像をクリックすると自転が止まる。また、ドラッグすると、地球を東西南北の様ざまな方向に回動することができる。さらに、ポインタで地球を自転方向 (またはその逆方向) にスナップすると、それに応じて、地球が回転しだす。

ボタンでは、地球画像の拡大・縮小や、自転軸の傾斜角の変更、自転 (逆転) 速度の変更が可能である。また、十字キー風のボタンを押すと、提供者サイト (Revolver Maps) の該当ページへ飛んで、そこで、更に大きな画像 (600px × 600px) を見ることができる。

利用方法は、[回る地球で教えてくれるアクセスマップ!Free 3D Visitor Maps] を参照して頂きたいが、要するに、オプションを選択してから Javascript のコードをコピーし、それを自分のサイトに貼り付けるだけだ。

利用条件があるので、それを参照されたいが、その内容をザッと紹介すると。

  1. 利用者は13歳以上であること。
  2. 利用者は「人間」でなければならない (つまり、ロボットによるアカウント作成禁止)。
  3. 違法な目的のための利用禁止。
  4. 利用者のサイトにおいて、このガジェットは明瞭な形で表示されねばならない。コードの改変禁止。
  5. 他の利用者への迷惑行為禁止。
  6. このサービスは、通知が行なわれないまま、改変又は一時的・永久的に停止されることがある。
  7. 利用者のアカウントは、トラヒック過多の原因になる場合、通知が行なわれないまま、削除されることがある。
  8. 利用は、利用者の自己責任。利用による損害は補償されない。
  9. このサービスの如何なる部分に就いても、改変・複製・販売等を禁止する。

| | コメント (0) | トラックバック (0)
|

Winshell3.3 の Runtime Error

LaTeX ファイル作成支援ソフトWinShell を 3.3 にヴァージョンアップしたところ (Download WinShell) 、新規プロジェクトを作成しようとすると runtime error が出て、ソフトが強制終了されるようになった。

プロジェクトを作らないままでなら新規の TeX ファイルは作れるようだ。

この事例と全く一致するのか、私には判断できないが、類似の現象はネット上に報告されている。

  1. 3.2.1でVisual C++ Runtime Error!で涙目になったから,必死で旧版を探して使っている件 - BiBoLoG
  2. TeX総合スレ III の「296:10/03(金) 10:49 NtmTXPou0 」と「297:10/03(金) 11:03 NtmTXPou0 」
  3. TeX Q & A スレッド (50001-50500)」の「[qa:50060] Runtime Error」。この件に就いて、奥村晴彦は MSXP での Msvcirt.dll 7.0.x の欠陥に関るのではないかと推測しており (「TeX Q & A [qa:50078] Re: Runtime Error」参照)、 MS は「修正プログラム」も発表しているが、私はまだ試していない。
  4. TeX Q & A スレッド (50001-50500)」の「[qa:50292] WinShellのRuntime errorの再現性とダウングレード」では Winshell をダウングレードする対処法が報告されていて、その結果は良好だった由。
  5. Winshell の 公式サイト "WinShell - LaTeX User Front End" 中のフォーラム "WinShell - Forum" でも、報告されていて (WinShell - Forum - Miscellaneous - run time error!)、WinShellWinShell を一旦閉ぢてから WinShell.ini ファイルを削除し、その後 Winshell を再開することが薦められているが、これでは解決しないようだ。

| | コメント (0) | トラックバック (0)
|

[nouse: 一般相対論によるサニャック効果の導出] の URL (所謂「固定リンク」) に就いて

先日、本ブログの [nouse: 一般相対論によるサニャック効果の導出] (2007年9月30日[日]) に、[nouse: ホロノミー (holonomy) としてのサニャック効果 (Sagnac effect): 物理篇 ] (2008年11月 8日[土]) へのリンクを補足して、保存しなおしたところ、記事の URL (所謂「固定リンク」) が変わってしまった。

具体的には、ファイル名が "post_4f1e.html" から "post-4f1e.html" に変えられていたのだ。

「事故を防ぐ」と云う観点から、投稿記事の URL をココログが独自の方針で割り当てるのは、ある程度理解できる。しかし、一旦割り振った URL を変えてしまってどうするのだ。ファイルシステムが成立しないではないか。作成したファイルの内容の自己同一性を担保するのは、「公序良俗に反しない限り」投稿者 (厳密には「著作者」だが表見的には「投稿者」である) のみの責任であるとともに、投稿者のみの権利である (これは著作者人格権に関わる)。そして、同一の URL は、ファイルの内容の自己同一性の基本的な表示なのだ。

このブログ中の既存記事には [nouse: 一般相対論によるサニャック効果の導出] へのリンクを張ったものが複数存在する。それは現在リンク切れの状態になっている。しかし、リンクを張りなおしすと、リンク元の記事自体の URL が変わってしまう可能性があるので迂闊に手を出せない。

また、検索エンジンでも、古い方の記事にヒットした場合はリンク切れになっている。

ココログスタッフの猛省を促したい。

| | コメント (0) | トラックバック (0)
|

メモ:ユニコードファイル二題。テキストソートと xyzzy の設定

私は、xyzzy エディタを用いてテキストを作成している。そのコードは基本的にユニコード (utf-8n) で、改行コードは lf である。以下の話題は、この事実に関する。

[nouse: 大野晋・丸谷才一『日本語で一番大切なもの』引用文索引] (2008年3月1日[土]) で引用文を五十音順 (辞書配列順) にソートする際には ruby を使用した (勿論、テキストソースでは、各引用文冒頭にその読みのひらがな化してソートタグに付けてある)。これは、xyzzy の filter-buffer でバッファ内容を sort.exe に喰わせた所、ゴミを吐き出したためで、恐らくは、xyzzy が呼ぶようになっている sort.exe がユニコードに対応していないのだろう。Windows で動くユニコード対応の sort.exe を少し探してみたが、出てこない。早々と諦めて ruby なら当然ユニコード対応になっているはずだと、方針を切り替えたのだ。

呆気ないほど簡単に [Rubyのほそ道・けもの道] で、テキスト・ファイル全体のソートを行なうスクリプトが見つかった。5行の短いものだが、こうしたものでさえ、私のような素人が作ろうとすると、些細な所で躓いて、ひどい苦労をするものだ。作成者の Minagawa Mitsuo さんに感謝する由縁である (入力ファイル名が "input.txt" 限定、出力ファイル名が "output.txt" 固定だが、一回限りの利用には何の問題もない)。

実際に引用文ファイルを流した所、綺麗にソートされた output.txt が出来た。それに leading 部分を付けたのが、[nouse: 大野晋・丸谷才一『日本語で一番大切なもの』引用文索引] である (フランス語詩と英語詩については別扱いにして最後にもってきてある)。

ただし、うつかりしていて、改行コードが cr+lf のままになってしまっているのが残念だ。


その後、「引用文索引」ファイルから、一行づつ切り取って別々の記事として [nouse: ああしやごしや、ええしやごしや] (2008年3月4日[火]) から [nouse: Oh, to be in EnglandNow that April's there,And whoever wakes in EnglandSee,.....] (2008年3月21日[金]) までの記事としてポストした。

その際、操作の効率化のために、いままで余り使わなかった find-file でファイル名指定をして新規バッファを開き、「引用文索引」ファイルから冒頭一行をカットして、新規バッファにペーストして保存するようにした。其の数、497。

しかし、テキストソートの話を書こうとして、ファイルを幾つか見直した時に、そうして作った「シングルカット」ファイルのコードがユニコードでなく、Shift-JIS になっていることに気付いたのだ。数秒間呆然としたね。全部が Shift-JIS なのか確かめた訣ではない (なにしろ 497 個だから) が、その可能性はある。おいおい。

改行コードは勿論と言うか、何と言うか、cr+lf だ。再び、おいおい。


この記事の冒頭でも書いたが、私はテキストを、コードは基本的にユニコード (utf-8n) で、改行コードは lf で作成する。従って、新規バッファで作成したファイルを、ファイル名を指定して保存する際にはディフォルトで utf-8n, lf になるように、次のような設定を .xyzzy に書き込んである。

; 文字コード : utf8n
(set-buffer-fileio-encoding *encoding-utf8n*)

; 改行コード : LF
(set-buffer-eol-code *eol-lf*)

だから、当然 find-file でファイル名を指定した場合も、この指定が生きていると思いこんでいたのだ。

しかし違うのだな。考えてみれば、これは当然なのだ。関わる関数が違うからね。

と云う訣で [mieki256's diary - xyzzyで特定種類のファイルの文字コードを指定] を参考にして、*find-file-hooks* に add-hook して、取り敢えず find-file でファイルを作成した時は全部 utf-8n, lf になるようにしてしまった。本当は、拡張子でキチンと場合分けをしなければならないのだが、まぁ「取り敢えず」ということで...

それで思い出した。xyzzy の「新規作成」でファイルを作成すると、やはりディフォルトは Shift-JIS, cr+lf なのだった。まぁ、「新規作成」でファイルを作ることは多くないのだが、それでも時々あって、そのたびにコードの変更をしなければならず「ウザイ」と思っていた。ついでに、それも直しておこうと云うことで、次のようなことをしてみた。これで良いのか、自分でも心許ないのだが、一応設定が変わったようだ。

;「新規作成」も utf-8n, lf
(setq *default-buffer-mode* 'text-mode)

(add-hook '*text-mode-hook* 'my-text-mode-hook)

(defun my-text-mode-hook ()
(progn (set-buffer-fileio-encoding *encoding-utf8n*) (set-buffer-eol-code *eol-lf*)))


| | コメント (1) | トラックバック (0)
|

より以前の記事一覧