古い日記 _
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Honma's Computer Life
ほんまたけるのコンピュータのある生活
更新日時 2000/ 5/ 8 (Mon) AM 0:40:19
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
[ TOP ]
2000/04/23
\ \/
/\ \
[PDF/Acrobat]Adobe Acrobat で作った PDF を印刷したら、エラーが。


Word で書いた Newsletter を PDF にするんだが、この時、Acrobat を使う。Distiller を使うと、プリンターが、fatal system error at adress 云々というエラーを吐いてしまう。PDF Writer を使えば、なんとかなっているみたい。なんなのだろう?

[ TOP ]
2000/04/16
\ \/
/\ \
[Bookstores/WWW] 発注状況照会


またまた、本屋の話。 大学生協には、発注状況照会って仕組みがあって、便利。現在注文中のものだけでなく、過去の発注状況も分かるので、二重に注文したりするのを避けられるかも。

skysoftには、「ご注文内容の照会」というのがあるが、過去にはさかのぼれない。

[ TOP ]
2000/04/12
\ \/
/\ \
[Bookstores/WWW] やっぱり、Skysoft が安いか?


7日に、「Skysoft もう使わないかも」とか書いたけど、一般書ならSkysoft かも。 大学生協は、一般書も専門書も 1.25 をかけるんだけと、Skysoft は、一般書には、なにもかけない。専門書は、1.25 かけなんだけど


\ \/
/\ \
[Trees/Word] 今度は MS-Word で autosegmental phonology


MS-Word で樹形図をきれいに描く目途がたったので、お次は、自律分節音韻論の表示でしょ。というわけで、取り組んでみた。これが、結構大変。連結の切れた対応線 delinked association line って、線分の中点を挟んで、すこしだけ離して、線分に直交する短い同じ長さの線分を2本描かなきゃいけない。垂直なら、簡単だけど、傾いた線分なら、ちょっと大変。結局、傾きは、決め打ちすることに。とほほ。

[ TOP ]
2000/04/07
\ \/
/\ \
[Bookstores/WWW] インターネットの本屋


洋書は、最近、もっぱら、 大学生協で、って話。

洋書を買う時、急ぎなら、Amazonとか、Barnes and Noblesとか使うんだろうけど、急がないなら、日本の本屋さんに頼むことになるよね。

で、何処にするかなんだけど、近くに文教堂って本屋があって、ここが、 skysoftってところと提携してるので、ここを良く使ってた。

ここが良いのは、送料がかからず、ドルに為替をかけるだけってところ。送料がかからないのは、送らないから。本屋の流通に流して、注文した人に本屋まで、取りに行かせる(来させるか?)のだ。近くに、文教堂がある人には、お得感がある。少なくとも、あった。

最近、Skysoft からメールが届いて、今まで指定していた受け取り用の店舗が受け取り用に使えなくなるとのこと。溝口には、3軒も店舗があるから、整理するんだろうなって思っていたら、溝口からは、撤退らしい。

最寄り、っていう意味だと、武蔵新城なんだけど、行かないよ。で、渋谷にした。渋谷は、文教堂ではなく、旭書店。遠くなって、不便になるから、もう使わないかも。

Skysoft VISA カード なるものを作れば、送料は、ただらしい。でも、このカードの年会費がかかるんだねこれが。

なんで、こんなことになったのかと、考えてみた。文教堂は、最近、 JBOOKという日本の書籍をはじめ、ビデオ、CD、パソコンソフト、ゲームソフトを売るような店をはじめたのだが、こっちが忙しいのか?

紀伊国屋も良いんだけど、いちいち送料、かかるし、そもそも高い。

で、最近は、もっぱら、 大学生協を、利用しているってこと。生協も送料は、かからない。Skysoft と同様、店舗に取りに行く。組合員なら、組合員割引(10%off)で買えるのが魅力。

専門書の杜というものがあることに、最近、気が付いて、見にいってみた。まだまだ、たいしたことない、って感じ。


\ \/
/\ \
[Trees/Word] 続 MS-Word で均整のとれた樹形図を書く方法


昨日に引き続き 樹形図ネタ。

自分で、オートシェイプしたくないけど、Word VBA は、明るいって人のため。

次のマクロ tree2, tree3 は、それぞれ、現在の段落に対して「文字列といっしょに移動する」ようにいいかげんな大きさの二又と三つ又の枝を挿入するためのもの。

この「文字列といっしょに移動する」っていうことの意味は、各自ヘルプなどで調べてほしい。って、Word VBA 使う人には余計なお世話か?

枝振りについては、二又の場合は、二等辺三角形の等辺の二辺として、三つ又の場合は、二又の二辺に加え、第三の枝を等辺の間の角からの垂線として、描画した。枝は、グループ化されているので、枝全体を変形したい時は、グループ化されたまま、変形すればよいが、個々の枝の角度や長さを調節したい時は、グループを解除してから、それぞれの枝を変形してほしい。

Sub tree2()
'
' tree2 Macro
' 記録日 00/04/06 記録者 ほんまたける
'
Set myRange = Selection.Paragraphs(1).Range
With ActiveDocument.Shapes
.AddLine(200, 0, 150, 40, myRange).Name = "branch1"
.AddLine(200, 0, 250, 40, myRange).Name = "branch2"
.Range(Array("branch1", "branch2")).Select
End With
Selection.ShapeRange.Group.Select
End Sub
Sub tree3()
'
' tree3 Macro
' 記録日 00/04/06 記録者 ほんまたける
'
Set myRange = Selection.Paragraphs(1).Range
With ActiveDocument.Shapes
.AddLine(200, 0, 150, 40, myRange).Name = "branch1"
.AddLine(200, 0, 200, 40, myRange).Name = "branch2"
.AddLine(200, 0, 250, 40, myRange).Name = "branch3"
.Range(Array("branch1", "branch2", "branch3")).Select
End With
Selection.ShapeRange.Group.Select
End Sub


「マクロの実行の仕方なんて知らん」という人のために、二又、三つ又の枝を含んだ Word 文書を下に置くので、この文書から、cut and paste して、使うことも可能。

樹形図を含む Word 文書

[ TOP ]
2000/04/06
\ \/
/\ \
[Trees/Word] MS-Word で均整のとれた樹形図を書く方法


MS-Word で、均整のとれた樹形図を描く方法を見つけた。描き方の説明をする前に、前提知識をいくつか。

MS-Word では、簡単な図を描くための仕組みが備わっている。この仕組みは、いわゆる「ドロー系」である。

「ドロー系」とは、「ペイント系」に対するもの。簡単に図形の描かれ方の違いをいうと、ペイント系のソフトは、ピクセルと言われる小さな点の集まりを用いて描かれるのに対して、ドロー系のソフトでは、直線、四角形、円弧等の部品(描画オブジェクト)により構成されているということだ。

ペイント系のソフトとしては、Windows に標準で付いてくる Microsoft Paint ってやつがある。こいつをいじってみたら分かるが、既に描いてある図形を描き直そうとすると、消しゴムみたいなやつで、ゴシゴシして消してから、もう一度描き直さなきゃならない。また、ゴシゴシ消せば、背景も消えてしまう。

一方、ドロー系のソフトでは、複雑に見える図形は、実は、単純な部品を組み合わせて描かれている。それぞれの部品を OHP のシートのような透明なものに描いておいて重ね合わせたような状態と考えてもよい。そのため、それぞれの部品毎に変更することが、可能。この「変更」というのは、消しゴムでゴシゴシ消すようなやり方ではなく、変形と言べき。直線なら、長さや傾き、太さなどが変えられるし、四角形なら、縦横の長さ、辺の太さなどが変えられる。また、どの図形も回転できる。

さて、ドロー系のソフトで均整のとれた図形を描くために便利な仕組みだが、オートシェイプ、グリッドとグループ化の3つが差しあたって重要。Word のヘルプなどで意味を調べてほしい。

いよいよ、本題。樹形図を書いてみよう。

オートシェイプとしては、樹形図を描くためには、直線と二等辺三角形があれば、十分。

まず、準備。グリッドをそれなりに細かく設定。この方が細かい作業が可能。例えば、縦(つまり、行グリッド)も横(つまり、文字グリッド)も、3 pt ぐらい。また、描画オブジェクトをグリッド線に合わせるように設定。その上で、グリッドを表示するようにしておいて、さらに、細かい作業を楽にするために、表示の倍率を、かなりあげる。例えば、500 %。

準備が済んだら、いよいよ、描画。統語論用の樹形図なら、二又の枝と三つ又の枝、二等辺三角形を部品として用意しておくと便利かも。二等辺三角形は、オートシェイプとして用意されているから、二又、三つ又の枝を描いておいて、グループ化しておくよい。それぞれの大きさ縦横の比率などは、実際用いる時に、変形させればよい。

[ TOP ]
2000/04/05
\ \/
/\ \
[bookmark/Word] 続 MS-Word のブックマーク


一応、出来た。カーソル位置のブックマーク名を知る方法のこと。どういう仕組みと言っていいのか、まだ、良く分からないので、もう少し、整理してから、書くことにする。experiment.doc

あれれ、次で良いのかな?すごい簡単?

MsgBox Selection.Bookmarks(1).Name

でも、これだと入れ子になったブックマークがうまく扱えないようだ。いずれにしても、ブックマークの外でマクロを走らせた時のエラーの処理を考えないといけない。

[ TOP ]
2000/04/04
\ \/
/\ \
[bookmark/Word] MS-Word のブックマーク


Word のブックマークという仕組みは、非常に使いにくい。

どの位置にブックマークを仕掛けたかは、表示することは(非常に醜いやり方だと思うが)できる。

しかし、そのようにして仕掛けたブックマークの名前を知ることが、非常に困難だ。

私が考え付く一番良い方法は、[ブックマーク] ダイアログを使う方法。メニューから [挿入]-[ブックマーク] として、表示されるダイアログで、「挿入されている順」というところにチェックを入れれば、ブックマークの名前が、挿入されている順に並ぶので、これを手がかりにするのだ。あまりにも、「プリミチヴ」過ぎる。

そこで、なんかマクロを書いてみようとしたのだか、これもまた、VBA の仕様が直観に反する。

(a) ヘルプによれば、「Selection.BookmarkID で得られる「ブックマークの番号」は、文書内でのブックマークの位置と対応している」ということなので、これを使えば、なんとかなりそう。

(b) また、ヘルプによれば、「ブックマークの名前を得るためには、Bookmarks(index) を使用して Bookmark オブジェクトを取得する。引数 index にはブックマーク名またはインデックス番号を指定する。ブックマーク名は正確に記述すること。ただし、大文字と小文字は区別されない。「インデックス番号」は、 Selection または Range オブジェクトに含まれるブックマークの名前の順序を表す」ということなので、ここでいう「インデックス番号」ってやつと上で見た「ブックマークの番号」というものが、対応していると思って、やってみたが、違う。

例えば、下のようなコード。

 1: Sub GetBMName()
2: ' GetBMName Macro
3: ' by HONMA, Takeru honmat@st.rim.or.jp
4: ' 2000/04/04
5: '
6: ' 変数 aBMnum を宣言し、
7: ' BookmarkID property を用いて、カーソル位置の Bookmark の位置を獲得
8: Dim aBMnum
9: aBMnum = Selection.BookmarkID
10: MsgBox "ブックマーク の番号" & aBMnum
11: MsgBox "ブックマーク の名前" & ActiveDocument.Bookmarks.Item(aBMnum).Name
12: End Sub
11 行目では、確かに、文書中でのブックマークの位置が、文書の頭からの番号で表わされていることが分かる。

しかし、12 行目では、意図したものとは別のブックマーク名が表示される。理由は、ヘルプに書いてある下のような仕様のためである。

「Document オブジェクトでは、[ブックマーク] ダイアログ ボックスのブックマークの一覧でアルファベット順に表示されたブックマークの位置を表します。」

つまり、BookmarkID では、文書に出てくる順で番号をふるのに、Bookmark.Item(index).Name では、index が、アルファベット順に並べた時の番号が使われるってこと。

具体的に書くと次の通り。文書に、ggg, bbb, aaa という名前のブックマークが、この順で設定されていたとする。bookmarkID は、この順に1、2、3とブックマークの番号を返してくる。一方、Bookmark.Item(index).Name で、ブックマークの名前を得ようとすると、index に、1 なら、aaa が、2 なら bbb が、3 なら ggg が返ってくる。

なんてこった。なんだマクロを走らせる時に、ダイアログボックスの仕様に縛られなきゃいけないの?わざわざ、アルファベット順にソートしなくても良いのに。

うーむ、分からん。カーソル位置のブックマーク名を得るにはどうしたらいいのだー!

[ TOP ]
2000/04/02
\ \/
/\ \
[TIPA/LaTeX] TIPA って何?


TIPA って何?とかいう質問があるかもしれないので、一応手がかりだけ。

東大の福井先生のお作りになった TeX 用の IPA フォント。発音を書き表わすための記号だ。

詳しくは、どっかの CTAN のミラーで、拾ってほしい。

TeX や LaTeX で新たにフォントをインストールする方法とかも、どっかで勉強してほしい。

[ TOP ]
2000/04/01
\ \/
/\ \
[word-processable/LaTeX] 続 pa2ascii.bat


ある人から、下のようなメールをもらった。

>ところで、「コンピュータのある生活」の3月23日分にかかれていることに関してで
>すが、ps2ascii.batはTIPAを処理できるんでしょうか。これができれば、
>まさに、スグレものだと思うんですが。


この日記にも読者がいるということで、感激。で、調べてみた。

「処理できる」っていうのは、どういう意味かによるが、一応、なんらかの ASCII 文字になっているというぐらいの意味なら、なんとかなっているようだ。

まあ、それより、問題なのは、漢字が通らないことなのだが。

さて、systematic なものではないですが、ちょっと実験してみた。まず、下のようなソースを作ってみた。

\documentclass{article}
\usepackage{tipa}
\begin{document}
% まずは、小文字一文字の記号
\textipa{abcdefghijklmnopqrstuvwxwz}

% 次は、大文字一文字の記号
\textipa{ABCDEFGHIJKRMNPOQRSTUVWXYZ}

% 数字等を使った記号
\textipa{1234567890@}

% engma の二種類の書き方
\textipa{\ng N}

% Right-tailed n for retroflex nasal の二種類の書き方
\textipa{\textrtailn \:n}

% すこし複雑な例
% ash, undotted i, undotted j, slashed o, o-e ligature, capital o-e ligature
\textipa{\ae \i \j \o \oe \OE}

% small capital A, small capital B
\textipa{\;A \;B}

% hocktop b for voiced bilabial implosive
\textipa{\!b}

% c いろいろ
\textipa{c-\textbarc-\texthtc-\v{c}-\c{c}-C-\textstretchc }

% explanation のアクセント付き音声表記
\textipa{[""Ekspl@"neIS@n]}

% a with diacritics
\textipa{\'a\"a\~a\r{a}}
\end{document}


これを、タイプセットして、dvipsk で Postscript にしたものをps2ascii してみると、下のようになった。不思議なことに、実際は、改行を入れた位置に、スペースが入った状態で一行になった。なぜだろう。

abcdefghijklmnopqrstuvwxwz
ABCDEFGHIJKRMNPOQRSTUVWXYZ
1234567890@
NN
i"i"
aeijo/oeOE
A`
a` a'
c-c-A'-^c-c,-C-A^
[-Ekspl@"neIS@n]
'a"a~a*a


c いろいろのところで、ハイフンを入れたのは、文字の境を分かりやすくするためのつもり。c のいろいろのところを見ると、補助記号が、後置されたり前置されたりして、なんだかちぐはぐ。a につけた補助記号は、たまたまかも知れんがすべて前置されてる。


E-mail: honmat@st.rim.or.jp
All Rights Reserved, Copyright (C) 2000 ほんまたける

メモ このページをご覧いただきまして、ありがとうございます。是非、感想を聞かせてください。
[EOF]