中庸が目標

日記系になるのだろうか。予定は未定。 発言したいときには発言できないと。

bibtexword.dot -> bibtexword-ja.dot

microsoft wordでもbibtexが使いたい。 という人は他にもいたらしい。

で、探してみたのだが、 bibtex4word.dot が紹介されているページ とか Bibtex Word Macro くらいしか見付けることができなかった。

で、bibtex4wordは希望通り動かず。 細かく設定できそうで、頼りになりそうだっただけに残念。 その分、コードを読みきれない状態です。

対して、 Bibtex Word Macro というものにも手を出したのですが、これはまぁなんとかなりました。 やっぱりDLしたままでは動かなかったのですが、延々といじり、とりあえず英語、日本語でも参考文献を出すことができるようにはなりました。 一応、うちの環境(日本語WinXP SP2, Excel 2003)でも動くようになったらしい。 まぁ英語と日本語での名前の表記法が違ったりしてまだまだ修正しなければならないのですが。 まぁ、動いたということは正義ということで。

以下、その差分です。 wordのvbaに書かれていた標準モジュールを c:\wk\bas-fr\*.bas と c:\wk\bas-ja\*.bas に 全部(標準モジュール名).basとエクスポートして、 変更前(bas-fr)と変更後(bas-ja)とのdiffをとってみた。

C:\wk>diff bas-fr bas-ja
diff bas-fr bas-ja
diff bas-fr/StyleNumbered.bas bas-ja/StyleNumbered.bas
15a16,18
>             .MatchAllWordForms = False
>             .MatchSoundsLike = False
>             .MatchFuzzy = False
84c87,88
<         .TypeText Text:="Bibliographie"
---
> '        .TypeText Text:="Bibliographie"
>         .TypeText Text:="Reference"
92c96
<         reference = "[" & i & "] " & vtab
---
>         reference = "[" & i & "] " & vbTab
diff bas-fr/libBibtex.bas bas-ja/libBibtex.bas
25a26,28
>             .MatchAllWordForms = False
>             .MatchSoundsLike = False
>             .MatchFuzzy = False
188,189c191,194
<                 tmp = Chr(Asc(parts(i)))
<                 result = result & UCase(tmp) & ". "
---
> '                tmp = Chr(Asc(parts(i)))  ' for mac
>                 tmp = (parts(i))  'for windows
> '                result = result & UCase(tmp) & ". "  'for europian style name notation
>                 result = result & UCase(tmp) & " "  'for japanase style name notation
diff bas-fr/libString.bas bas-ja/libString.bas
58c58,59
<     ' caract俊es sp残iaux
---
> '    tmp = str
> '    ' caract俊es sp残iaux
62,103c63,104
<     
<     ' c仕ille
<     tmp = Replace(tmp, "\,c", "椚")
< 
<     ' caract俊es accentu市 minuscules
<     tmp = Replace(tmp, "\`a", "棹")
<     tmp = Replace(tmp, "\^a", "棠")
<     tmp = Replace(tmp, "\""a", "棯")
<     
<     tmp = Replace(tmp, "\'e", "椣")
<     tmp = Replace(tmp, "\`e", "椡")
<     tmp = Replace(tmp, "\^e", "棆")
<     tmp = Replace(tmp, "\""e", "楹")
<     
<     tmp = Replace(tmp, "\^\i", "楸")
<     tmp = Replace(tmp, "\""\i", "楫")
<     
<     tmp = Replace(tmp, "\^o", "椹")
<     tmp = Replace(tmp, "\""o", "楴")
< 
<     tmp = Replace(tmp, "\`u", "椰")
<     tmp = Replace(tmp, "\^u", "楡")
<     tmp = Replace(tmp, "\""u", "楞")
< 
<     ' caract俊es accentu市 majuscules
<     tmp = Replace(tmp, "\`A", "ヒ")
<     tmp = Replace(tmp, "\^A", "・)
<     tmp = Replace(tmp, "\""A", "棧")
<     
<     tmp = Replace(tmp, "\`E", "・)
<     tmp = Replace(tmp, "\^E", "・)
<     tmp = Replace(tmp, "\""E", "・)
<     
<     tmp = Replace(tmp, "\^I", "・)
<     tmp = Replace(tmp, "\""I", "・)
<     
<     tmp = Replace(tmp, "\^O", "・)
<     tmp = Replace(tmp, "\""O", "棗")
< 
<     tmp = Replace(tmp, "\`U", "・)
<     tmp = Replace(tmp, "\^U", "・)
<     tmp = Replace(tmp, "\""U", "棣")
---
> '
> '    ' c仕ille
> '    tmp = Replace(tmp, "\,c", "椚")
> '
> '    ' caract俊es accentu市 minuscules
> '    tmp = Replace(tmp, "\`a", "棹")
> '    tmp = Replace(tmp, "\^a", "棠")
> '    tmp = Replace(tmp, "\""a", "棯")
> '
> '    tmp = Replace(tmp, "\'e", "椣")
> '    tmp = Replace(tmp, "\`e", "椡")
> '    tmp = Replace(tmp, "\^e", "棆")
> '    tmp = Replace(tmp, "\""e", "楹")
> '
> '    tmp = Replace(tmp, "\^\i", "楸")
> '    tmp = Replace(tmp, "\""\i", "楫")
> '
> '    tmp = Replace(tmp, "\^o", "椹")
> '    tmp = Replace(tmp, "\""o", "楴")
> '
> '    tmp = Replace(tmp, "\`u", "椰")
> '    tmp = Replace(tmp, "\^u", "楡")
> '    tmp = Replace(tmp, "\""u", "楞")
> '
> '    ' caract俊es accentu市 majuscules
> '    tmp = Replace(tmp, "\`A", "ヒ")
> '    tmp = Replace(tmp, "\^A", "・)
> '    tmp = Replace(tmp, "\""A", "棧")
> '
> '    tmp = Replace(tmp, "\`E", "・)
> '    tmp = Replace(tmp, "\^E", "・)
> '    tmp = Replace(tmp, "\""E", "・)
> '
> '    tmp = Replace(tmp, "\^I", "・)
> '    tmp = Replace(tmp, "\""I", "・)
> '
> '    tmp = Replace(tmp, "\^O", "・)
> '    tmp = Replace(tmp, "\""O", "棗")
> '
> '    tmp = Replace(tmp, "\`U", "・)
> '    tmp = Replace(tmp, "\^U", "・)
> '    tmp = Replace(tmp, "\""U", "棣")

C:\wk>

見たら変更したのはは結構少ないのね。 それもほとんどがコメントアウト。 wordでのマクロの作業を追っていっただけで、結構時間がかかってしまったのに…。 まぁ面白かったからいいか。

それにしても、統合開発環境はすごい。 VBAのエディタは、ブレークポイントは設定できるわ、そのときの変数一覧を見ることもできるわ。 すばらしい。 こんなに頭を使わなくても良い道具がそろっているとは知らなかった。 無知とは罪。 今まで、真剣に暗算してました。

まぁ、とりあえず、使えそうだから、いいか。

ここらへん を見て、あーうらやましいなー、と思いながらいじりまわしてました。

あ、そういや、豆腐文字とかは出ないなぁ。 それが救いかな?

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://314159265358.blog52.fc2.com/tb.php/523-fe84f5b6
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

FC2ブログ