何で読もうと思ったか忘れたけど,読んだ途端,うごわああああと思った.(ほとんど何も言っていないに等しい)
いや,あのね,分かってるんだ,原文読んでるわけじゃないから訳文にすごく左右されるって分かってるんだ.
それにしたって,リルケ以来の昂奮だった.震えた,うん,震えた.どこからこんな思考が舞い降りてくるんだろう.
これがまだ若い頃の作品だと言うんだから驚きだ.でも,多分,この浮遊感は若くないと出てこないんだろうなあ.そう思うと,この後ホフマンスタールが劇作に向かってほとんど詩がないのは,残念だけれど,それはそれとしてその短い詩作の迸りを文章に映していてくれたことに感謝するべきなのかもしれない.
ホフマンスタール詩集 (岩波文庫)
しばらく追随していなかったので「愛用ソフト」更新.
そして,今,ATOKを新しくするべきか悩んでいる.明鏡が新しい版になってるんだよなあ.ソフト自体の機能は今のバージョンで間に合っているから迷う.
物語文のテキストファイルから縦書きPDFを作るためにTeXソースに変換するRubyスクリプトを以前作った.
縦書きにするので,!や?がたくさん重なるときは必ず偶数である(まあ,あんまりたくさん繋がる文章は滅多に書かないのだが).
それで,こないだ変換処理をかけていて失敗していることに気づいた.
以前書いていたRubyのソースはこうだ.
if line =~ /[?!][?!]/
line.gsub!(/([?!])([?!])([^、-◯])/){"\\rensuji{" +to_single($1)+to_single($2)+"}\\quad "+$3}
line.gsub!(/([?!])([?!])([、-◯])/){"\\rensuji{" +to_single($1)+to_single($2)+"}"+$3}
end
「!」や「?」の後ろの文字まで検索対象にしていたのは,次の文字が普通の文字だったときは空白を開け,そうでなければ空白を開けない処理にするためだった.が,長文の変換を書けた結果,いくつか残ってしまう「!!」や「??」がある.
しばらくにらめっこしていて,これだと文末や,カギ括弧の前にはヒットしないことにやっと気がついた.
それで,処理を変えて,まずは全て半角にしてrensuji処理をし,その後に次の文字が普通の文字の所は全角空白を入れることにした.
if line =~ /[?!][?!]/
line.gsub!(/(?|!)(?|!)/){"\\rensuji{" +to_single($1)+to_single($2)+"}"}
line.gsub!(/(rensuji\{.*\})([^、-◯|\\rensuji])/){$1+"\\quad "+$2}
end
こんな感じ.
ちなみに,to_singleは,これより前で定義しており,!や?を半角にするメソッドなんだけど,trメソッドで書けなかったのがずっと疑問だった.それで,今回,調べてみたら,trはそのままだと日本語処理できないから,jcodeやnkfを読み込んで拡張しなければいけないのだと分かった.さらに,Rubyは1.9からjcodeは無くなっちゃったみたい.
なので,
require 'nkf'
def to_single(s)
s = NKF::nkf("-s", s.tr("!?","!?"))
return s
end
にしたら,うまくいった!
あと,TeX的にエスケープしなければならない&が文中に出てきたので,以下のコードを追加.
if line =~ /&/
line.gsub!(/&/, "\\\\&")
end
あんまり物語文に半角の記号が出てくることは少ないんだけど,ちょっと英文を書いた部分があったので.\を4つ重ねなければいけないのがミソ.この記号も&だけじゃなく増えそうだなあとは思う.