|
アルビレオです。
>私の考えでは、秀丸のウインドウ3つを上、中、下と三つに分けて、
>上に原文ファイル、下に対訳ファイル、そして中にマクロの中で
>作成していくタグ情報ファイルをリアルタイムで表示するように
>したいと思います。原文、対訳文それぞれの一文を視覚的に表示する
>にはその行だけ反転表示をさせて、この文とこの文が対応することを
>タグ情報ファイルに書き込んでもいいですか?見たいなダイアログを
>出して、それでOKならボタンを押して、自動的に書き込んでくれる
>みたいな方式です。
秀丸はウィンドウを3分割できません。
それに対応付けの作業自体はマクロ内でやるより普通にテキストエディタの機能
を使ってコピー&ペーストを繰り返した方が融通が利いてやりやすいと思います。
たとえば、まずマクロが原文と訳文を識別できるように訳文の s タグ名を大文
字にします。
前にあげられたマクロでは<s>〜</s>ごとには改行されていないので、原文と訳
文の両方でその処理もやっておいた方がいいでしょう。
【原文用】
replaceallfast "><s id=",">\\n<s id=",regular;
replaceallfast "</s><","</s>\\n<",regular;
【訳文用】
replaceallfast "<head id=","<HEAD id=";
replaceallfast "><s id=",">\\n<S id=",regular;
replaceallfast "</s><","</s>\\n<",regular;
replaceallfast "<s id=","<S id=";//←いらないかも
次に対応付け情報用に新規ファイルを開いて、原文と対訳文のファイルから内容
をコピーしていきます。
原文を丸ごとコピーしてから、対応する訳文を挿入していくと楽でしょう。
以下の内容はそうやって作りました。
body,div,pの番号はsタグにも情報が含まれていて、あるとかえって自動化の邪
魔になるので削除します。
<head id=1.1.h1>あいうえお</head>
<head id=1.1.h1>aioueo</head>
<s id=1.1.p1.s1>あああ。</s>
<S id=1.1.p1.s1>aaa.</s>
<s id=1.1.p1.s2>いいい。</s>
<S id=1.1.p1.s2>iii.</s>
<s id=1.1.p1.s3>ううう。</s>
<S id=1.1.p1.s3>uuu.</s>
<s id=1.1.p1.s4>えええ。</s>
<S id=1.1.p1.s4>eee.</s>
<s id=1.1.p1.s5>おおお。</s>
<S id=1.1.p1.s5>ooo.</s>
<s id=1.1.p2.s1>かかか。</s>
<S id=1.1.p2.s1>kakaka.</s>
<s id=1.1.p2.s2>ききき。</s>
<S id=1.1.p2.s2>kikiki.</s>
<s id=1.1.p2.s3>くくく。</s>
<S id=1.1.p2.s3>kukuku.</s>
<s id=1.1.p2.s4>けけけ、こここ。</s>
<S id=1.1.p2.s4>kekeke.</s>
<S id=1.1.p2.s5>kokoko.</s>
<s id=1.1.p3.s1>さささ。</s>
<S id=1.1.p3.s1>sasasa.</s>
<s id=1.1.p3.s2>ししし。</s>
<s id=1.1.p3.s3>すすす。</s>
<s id=1.1.p3.s4>せせせ。</s>
<S id=1.1.p3.s2>shishishi,sususu,sesese.</s>
<s id=1.1.p3.s5>そそそ。</s>
<S id=1.1.p3.s3>sososo.</s>
ここまでできたら、あとはマクロ一発で一気に目的のテキストができるはずです。
まず不要な情報を削除。
replaceallfast ">.*</(s|head)>$",">",regular;
…の続きはちょっと気力がありません。
まあかなりわかりやすくなったとは思うので、もっとレベルの高いマクロ職人さ
んにお願いしたいところです。
それからフォーマットについて気になったのですが、
【原文】
<s id=1.1.p1.s1>あああ、いいい。</s>
<s id=1.1.p1.s2>ううう。</s>
【訳文】
<s id=1.1.p1.s1>aaa.</s>
<s id=1.1.p1.s2>iii,uuu.</s>
のような場合はどうするのでしょう?
またパラグラフは完全に1対1で対応していると考えていいのでしょうか?
パラグラフの対応も一致しないことがあるのなら、かなり複雑になりそうです。
正直なところ最後の変換は完全に自動化できるはずなので、できればPerlなどを
使った方がいいと思います。
|
|