From: Toshiro Kuwabara Date: 2000-05-17T00:58:05+09:00 Subject: [ruby-list:22642] Re: (RD) Verbatim Toshです。 In message "[ruby-list:22597] Re: (RD) Verbatim" on 00/05/16, GOTO Kentaro writes: >>僕が暴走した時には、ごとけんさんがとめてください。(^^;; >Toshさんは暴走しないと思うけど :-) 僕は既になんどかまつもとさんに助けられていると思ってましたが。(^^;; >>ふぅむ。なるほど。 >>そもそもキャプションってどんなものですかね? >>ごとけんさんの例にあったのはかなり長かったけど、普通は1行におさまる >>程度に短いですよね? > >>つまり、Labelの候補として使えるでしょうか? >>それならば、キャプションを特別な要素として扱うのに十分な理由だと >>思えるのですが。 > >多分、一般にはLabel+註という機能があると思います。どちらかと >言うと註はオプショナルな気もしますね。僕の好みというか、業界 >依存なんでしょうけど Figure や Table はそこだけ見て図の見方 >がある程度分かるのが好きです。たとえば、 ちょっと一般的な(?)本の場合どうなっているかを見ようと手元の本を ぱらぱらとめくってみました。 日本語の本だと、Chaptionは大抵の場合10文字程度で1文におさまり、 名詞句(?)であることが多い様です。 例外的に長い例はアンチパターンの本のP113に50文字くらいのものが ありました。ぱらぱら見た程度では、2番目に長いのは20文字程度で しかしこれは1文におさまる名詞句になっていました。 > :::Figure:srr.rb and clnt.rb::: > server side | client side > =================================|======================================= > % ruby svr.rb | % ruby clnt.rb 2745 > server is on 2745 | addr: AF_INET:2476:localhost:127.0.0.1 > # is accepted | peer: AF_INET:2475:localhost:127.0.0.1 > # is gone | yahho > | yahho > | ^D > | % > :::Caption::: > ::: まず svr.rb を動かし、そのポート番号を使って clnt.rb を動かす。 > ::: ^D(こんとろーるD)を打った時点で「# is gone」 > ::: が出力される。 以上からこれは特殊な例に見えます。こういう長い説明文は キャプションにはいれず、図の中に書いている例はいくつか見受けられ ました。 この場合だと、元のキャプションは全て図(表?)の中にいれてしまって、 キャプションを「サーバーとクライアントの動作」等とする、のでしょうか。 >またLabelはFigureの属性であってCaptionの属性ではない気も少し >します。一方CaptionはFigureのなかに置きますがやっぱりFigure >のメタ情報と思います。 それはわかります。 図のキャプションと図のタイトル(RDではこれはLabelと共通)はともに 同じレベルの図の属性です。 しかし、多くの場合キャプションが図を一言で説明する名詞句で構成 されている事実から、これは図のタイトルと同様の物として使われて いるのではないかと思われます。 つまり、提案はFigureのCaptionセクションの中にLabelという属性 を付加するのではなくて、CaptionセクションをそのままLabelにする、 ことです。 >LaTeX だと自動生成される図の番号を使えますが、あれもあると良 >いですけど、これはRD向きじゃないかも知れない。 それって、「図 2.1」みたいな番号ってことですか? それはRDのこと、というよりはRDtoolの機能としてってことですよね? >>なるほど。前か後ろのどちらか、でよいかと思いました。 > >はい、実際は前後どちらか一方をユーザが選べると良いと思います。 あ、それはそのつもりで書いてました。言葉が少なくてもうしわけない です。 >>ある程度の意味情報を与える必要があるのはわかります。特に >>Verbatimはかなり色々と詰め込まれてますからね。 > >ですよね。 このあたりの背景は重要に思えたのでまとめてみました。 ごとけんさんにはいまさらなことになりそうですが。 # MLに流すべきだったかも。 >>CSSを見て、Emphasisにクラスの指定ができるべきなのだろうかと >>考えた事もあります。 >> ((*class:text*)) # => text >>みたいな感じで。 >>これはちょっとごちゃごちゃしすぎるかと思って提案する前に破棄 >>しましたが。 > >そうですね。インラインのなかに構造を持ち込むくらいなら新たな >インラインを検討した方がよいようにも思います。((<..|...>)) >なんかは僕も使っちゃいますがあまり好きではありません。 RDにはHTMLでいうところのAttributeみたいなものを持っている要素は Referenceだけなので、そういう意味で"((<..|...>))"は特殊な用法と 言えると思います。 しかし無いと無理がでて来ますし、それほどわかりにくいわけでもない と思います。代わりの案もないですし。 >ところで、やっと最近 Perl cookbook を買ったのですが、そこで >は次のような区別が設けてあり見やすいです。 > >: Italic > ファイル名、コマンド名、URL または新出の術語。 >: Bold > コマンドラインオプション。 >: Constant Width > 関数名、メソッド名とその引数。入力例。コード片。 >: Constant Bold Italic > 実行例中の出力。 > >どの書体かは選べないにしても、ここに出てくるモノの種類をイン >ラインで指定する方法を検討するのは悪くないかも知れません。こ >のうち、RDで指定できるのはURLとコード片くらいでしょうか(逆に >変数なんかがあるわけですが)。 本の様なメディアはフォントを変える事で見やすい表示を簡単に 実現できますが、RDの場合、Inlineのカッコは増えれば増える程 見づらくなりがちなので、あまり多くを加えるのは難しいかと 思います。 >また、実行例と、コードを分ける仕組みはあると良いですね。 >Verbatim の :::Execution::: で :::Code::: とか。 Rubyの場合、実行例の形式には良く使われるものでも2種類(もっと?) あるので、区別の必要があるかもしれません。 # むしろフォーマッタが自動判別っていうのが現実的でしょうか。 ひとつは、ごとけんさんのxmpでの出力にもなっている "a b c".split(/\s/) #=> ["a", "b", "c"] みたいなやつで、もうひとつはシェルからスクリプトファイルを 実行した時の $ ruby foo.rb .... みたいなやつです。 --- Tosh Toshiro Kuwabara