2010年6月26日

ほんとの面倒くさがり屋のためのMS-Wordファイル読解法

おととし書いた「面倒くさがり屋のためのMS-Word 2007ファイル読解法」「...旧版Wordファイル読解法」は、このブログのタイトルに恥じないものでありました :-)

Mac OSX にもともと含まれている「textutil」を使えば、“コマンド一発!”だったのです。Wordファイルをテキストに変換するなら、
$ textutil  -convert  txt  hogehoge.docx
これだけで、hogehoge.txtにテキストが書き出されています。作動時間もほんの一瞬です(長大な文書だとそれなりに時間はかかるんでしょうが、私が扱っている記事ぐらいの分量なら、ほんとに一瞬です)。

OSX 10.4ではdocだけでしたが、10.6ではdocxも扱えます。(10.5ではどうでしょう?)

そればかりか、textutilは、逆にテキストをワード文書やHTML文書に変換することだってできます。-convertオプションの引数には、txt、html,、rtf、rtfd、doc、docx、wordml、odt、webarchiveがありますので、これらの間で相互変換ができるのです。

いやはや、Macの/usr/bin/あたりをもっと掘ってみましょう。すてきなものが埋まっているようですよ。


新たなるS.s. liaodongensis発見のお知らせでした (^_^;;

2010年6月19日

museumの仕事講座2回目:古文書

芦屋市立美術博物館(サイトへ)の「市民学芸員養成講座」を受講してます。

残念ながら、学芸員資格取得に必要な「博物館実習」の単位にはなりません。
しかし、その内容は、ひょっとしたら、それ以上かもしれません。

初回はオリエンテーションだったので、今回の「古文書・古記録の調査」から本論です。

同館の山形隆司学芸員(写真左)から、古文書や用紙の歴史的背景や制度上の問題、実際の取り扱い技術などについての講義を受ました。

実習は江戸〜明治初期の本物の古文書の目録づくり。いや〜、読めません。普段、活字ばかり読んでいるので、青蓮院流—御家流のさらさらさらりっとした文字が読めません。
私にあたったのは、素麺の売り渡し価格が約定と異なっていることについての訴状のようです。押印がないので、控えなのかも...
内容はともかく、村人がこういう達筆?で文書が書けた、この時代は、なかなかすごいです。

ところで、現代だと用紙サイズはJISなどの規格がありますが、近世以前は、用紙サイズ←紙漉の枠幅←肩幅という関係で自然に決まってきたんだそうです。書状が写真のように細長く折られているその幅はだいたいどれも同じですが、実は、書き上げた書状を手でくるくると巻いた後、ぺたんと押しつぶしているだけ。これも手の大きさ(親指と人差し指でつくる輪の大きさ)がもとになるので、だいたい揃うという訳。...という話も山形さんからうかがったこと。

文書の内容・書式についての約束事はかなり厳格だったのに、用紙サイズや折り方はとても大雑把というかおおらかというか... この点も面白いです。



ところで、日本は公文書の管理がうまくいっていないらしい。今回見たような近世文書は、庄屋などまとめて保管されていたものですが、明治以降は、例の「日米密約」文書も首相が自分のうちに持って帰ってしまっていたり...  ヨーロッパでのように公文書館などで一元管理しないと、いろんなことが有耶無耶になりますよね。

2010年6月16日

ブログのタイトルを変えました

どうです?

新タイトルの縁起については別ページを設けて紹介しています。
http://lamium.blogspot.com/p/ss-liaodengensis.html


旧タイトル「Lamium amplexicaule」は私が大学4年の時、研究につきあってくれた、シソ科オドリコソウ属のホトケノザです。そういえばこのブログを始めたころ、あまり写りの良くない写真を載せてましたね。お暇な時に捜してみてください。

せば!

2010年6月15日

行連結sedスクリプト

私がつくっているのは新聞形式なので、一つ一つの記事は短いのです。そのため、原稿をメール本文で遣り取りすることがあります。

また、記事の中の段落も短く、メールサーバーでのSMTPの行長制限(1,000chracters)を超えることもあまりないのですが、メーラーが自動的に78桁以下に改行して送信してくることもあるし、古くからインターネットを使っている著者が、手ずから改行して送ってくれることもあります。

でも、それを組版するには、段落内の行を連結し直さなくてはなりません。もともと短い記事だから、手作業でもそれほど手間ではないのですが、ものぐさな私はそれをsedにさせてます。


★2011.11.18訂正:「P」と「D」を実行しないと、各段落の1行目が処理されなようです。そういえばはじめてこのスクリプを書いた時、この二つのコマンドを使った記憶があるのですが、長い間使ってなくて、思い出しながら書いたら、案の定、抜けてました。


スクリプトA: 段落冒頭の字下げを全角空白でしてある原稿用
:loop
$!N
s/\(.\+\)\n\([^ ]\+\)/\1\2/
t loop
P
D

 は全角空白です。

スクリプトB: 段落冒頭の字下げをしないで、空行で段落を区切ってある原稿用
:loop
$!N
s/\(.\+\)\n\(.\+\)/\1\2/
t loop
P
D

ほんとのことを言うと、MacOSXを仕事に使いだしてから、sedはあまり使わなくなっていたんです。この行連結スクリプトは、ずーっと以前(10年近く前?)、FreeBSDで編集作業をしていたころ使っていたもの。

最近になって、紙の新聞に加えてWeb版を公開することになり、そうなると、元の記事からWeb用にふさわしい表記に書き換える作業(全角数字を半角数字に書き換えるなど)が出てきました。それで、sedの出番となり、そのついでに記憶の底から引き出してきたのがこの行連結スクリプトです。

googleで検索してみても、行連結のsedスクリプトは見つけにくいので、ひょっとしたら誰かの役に立つかもと、ここに掲載する次第です。

2010年6月13日

Macのsedはやっぱり変! でも『ネコのマロン...』は面白そう

MacOSXのsedは、まだマルチバイト文字がうまく扱えないようです。

このsedでも、

 script_0  y/1234567890/1234567890/g

は、環境変数LANGがja_JP.UTF-8にセットされていればちゃんと動きますし、modernな正規表現も「E」オプションをつければ使えるのですが、下のtest.txtを
 script_1  s/[^]+/NEKO/g
で編集してみると... 元のままのテキストが出力されるだけ。patternがマッチしていないようです。

test.txt
[A]
コのマロン参院選に立つ。』の著者さん編集担当さんには
鳩山首相の辞任はとんだとばっちりではないですか?

今回の参議院選挙に間に合わせて公職選挙法を改正してット選挙を
解禁することはすべての党派で一致していたのに、辞任のドタバタで
会期を延長しないと改正が間に合わない...

ところでット選挙が解禁されても私がつくっているような印刷物での
選挙は従来どおりほとんどできないままになるようです。

[B]
コのマロン,参院選に立つ。』の著者さん編集担当さんには

[C]
コのマロン参院選に立つ。』の著者さん,編集担当さんには


そこで、マルチバイト文字である「」をシングルバイト文字の「,」に替えてみると...
 script_2  s/[^,]+/NEKO/g

編集結果は:
[A]
『NEKO
鳩山首相の辞任はとんだとばっちりではないですか?

今回の参議院選挙に間に合わせて公職選挙法を改正してNEKO
解禁することはすべての党派で一致していたのに辞任のドタバタで
会期を延長しないと改正が間に合わない...

ところでNEKO
選挙は従来どおりほとんどできないままになるようです。

[B]
『NEKO,参院選に立つ。』の著者さん編集担当さんには
[C]
『NEKO,編集担当さんには

変な文章になりますが、これは意図どおり。script_2は正しく作動しました。


私が編集しているのは日本語テキストなので、MacOSXのsedがこの有様では仕事になりません。(あ、書き忘れましたが、この記事でのスクリプトや処理対象テキストのエンコードはUTF-8です)。

そこで、GNUのsedをインストールしてみました。GNU sedでは「+」はエスケープしないといけないので、スクリプトは、
 script_3  s/[^]\+/NEKO/g

編集結果は:
[A]
『NEKO参院選に立つ。』の著者さん編集担当さんには
鳩山首相の辞任はとんだとばっちりではないですか?

今回の参議院選挙に間に合わせて公職選挙法を改正してNEKO
解禁することはすべての党派で一致していたのに辞任のドタバタで
会期を延長しないと改正が間に合わない...

ところでNEKO私がつくっているような印刷物での
選挙は、従来どおりほとんどできないままになるようです。

[B]
『NEKO編集担当さんには
[C]
『NEKO参院選に立つ。』の著者さん,編集担当さんには
はい、これも意図どおり (^_^)y これなら仕事に使えます。


なお、『ネコのマロン、参院選に立つ。』(植松眞人著, 保育社から7月上旬発売予定)は、ネット選挙が主なテーマじゃなくて今まで政治や選挙に興味がなかったり敬遠していた人々、または政治に興味を持ち始めた学生たちに、選挙のしくみをネコのマロンを通して楽しみながら知ってもらいたい...と企画されたのだそうです。

選挙や投票とは何か、参院選の任期のこと、など基本的なことから説明します、とのこと。つまり、私が上のtest.txtで書いたようなことは心配ないということです。


この本について詳しくは「ほいくしゃの本屋さん」サイトのページをご覧ください。
http://hoikusha-shop.jp/SHOP/9784-586-08510-1.html



なお、なお、GNU sedはオリジナルのソースからコンパイルしました。4.2.1版なのですが、MacOSX 10.6のXcodeであっさりインストールできましたよ。
MacPortとかFinkとかを使おうかと思ったのですが、それ自体がちょっと大層な(かつて、OSX 10.4で使った折の印象)システムなのでやめました。それに、MacPortだとsedをインストールするにはgettextとlibiconvが必要、gettextはexpat・libiconv・ncursesの3つが必要で、さらにncursesはncurseswが必要、戻ってlibiconvにはgperfが必要.......こんな風に芋蔓式にインストールするものが増えていくのも難儀なことでした(これはFinkでも、*BSDやLinuxのパッケージ管理システムでも同じですね)。今回、sedのソースだけでコンパイルできたってことは.... あの芋蔓はいったい (@_@;;