[JM:00351] Re: [POST:DP] man man2html.1

Back to archive index

R4000 2.2 tati****@kc5*****
2011年 8月 25日 (木) 01:17:25 JST


こんばんは、立花@鎌ヶ谷市です。

In <20110****@maple*****>,
 at Date: Wed, 24 Aug 2011 22:09:41 +0900 (JST),
  on Subject: [JM:00348] Re: [POST:DP] man man2html.1 ,
   長南洋一 <cyoic****@maple*****> writes:

| > .\"O This can be used as a stand-alone utility, but is mainly intended
| > .\"O as an auxiliary, to enable users to browse their man pages using
| > .\"O a html browser like
| > .\"O .BR lynx (1),
| > .\"O .BR xmosaic (1)
| > .\"O or
| > .\"O .BR netscape (1).
| > これはスタンドアローンのユーティリティとしても使えますが、主な目的は、
| > ユーザーが man ページを
| > .BR lynx (1),
| > .BR xmosaic (1),
| > .BR netscape (1)
| > などの html ブラウザを用いて見ることができるようにするための補助をする
| > ことです。
| 
| > .TS
| > l l.
| > foo(3x)	"http://localhost/cgi-bin/man/man2html?3x+foo"
| > method://string	"method://string"
| > www.host.name	"http://www.host.name"
| > ftp.host.name	"ftp://ftp.host.name"
| > name @ host	"mailto:name @ host"
| > <string.h>	"file:/usr/include/string.h"
| > .TE
| > .LP
| > .\"O (The first of these can be tuned by options - see below.)
| > .\"O No lookup is done - the links generated need not exist.
| > .\"O Also an index with internal hyperlinks to the various sections
| > .\"O is generated, so that it is easier to find one's way
| > .\"O in large man pages like
| > .\"O .BR bash (1).
| > (最初のリンクはオプションによって変更できます - 以下の記述を参照のこと)
| > リンク先の確認は行われず、リンク先が存在していなくてもリンク行が生成
| > されます。文書内部での、セクションなどへのハイパーリンクも生成されます。
| > したがって
| > .BR bash (1)
| > などの大きなマン・ページで必要な部分を探すのが楽になります。
| 
| 最初の引用部分では、「man ページ」ですが、二番目では「マン・ページ」
| になっています。「マン・ページ」というのは、普通に使う表現ですか。

「man ページ」に統一します。

| 「最初のリンクは」というのが何を指しているか、よくわかりません。
| "http://localhost/cgi-bin/man/man2html?3x+foo" のことですか。
| もしそうだったら、
| 
|   上に列挙した最初のものについては、オプションによって細かい調整が
|   可能です。

これですね。

| > .\"O .SH OPTIONS
| > .\"O When reading from stdin, it is not always clear how to
| > .\"O do .so expansion. The \-D option allows a script to define
| > .\"O the working directory.
| > .SH オプション
| > 標準入力から読み込むとき、 .so の展開に関してはっきりしない場合もあり
| > ます。 \-D オプションを用いれば、スクリプトからワーキングディレクトリ
| > を指定することができます。
| 
| この一節が理解できませんでした。.so expansion というのは何でしょう。
| debian squeeze では /usr/share/man/ja/man1/fgrep.1.gz の内容が
| 
|   .so man1/grep.1
| 
| ですが、これのことでしょうか。つまり、man2html /usr/share/man/ja/
| man1/fgrep.1(.gz) を実行すると、man2html は /usr/share/man/ja/man1/
| grep.1(.gz) を読み込んでくれる (残念ながら、わたしのところでは
| man2html を試してみることができません)。
| 
| ところが、zcat /usr/share/man/ja/man1/fgrep.1.gz | man2html と
| 標準入力からの入力では、man2html には fgrep.1.gz のパスがわからない
| ので、grep.1.gz のパスも特定できない。そのときは、-D オプションで
| fgrep.1.gz のパスを指定してやれば、カレントディレクトリを /usr/share/
| man/ja に変更してから man2html の変換を実行するので、man1/grep.1 を
| 見つけることができる。そういうことを言っているのでしょうか。
| 
| もしこの解釈が正しいのなら、「標準入力から読み込む場合は」と
| はっきり条件を限定した方がよいと思います。たとえば、
| 
|   標準入力から読み込む場合は、.so の展開をどうするかが必ずしも
|   明白ではありません。そういうときでも、-D オプションを使えば、
|   スクリプトの方でワーキングディレクトリの位置を明示することが
|   できます。

手元で少し man2html を動かしてみましたが、.so に対しては
動作が確認できませんでした。
文章としては、長南さんの試訳が合っていると思います。

| > .\"O The general form of a hyperlink generated for a man page reference is
| > 参照先がマン・ページであるハイパーリンク、一般に以下のような形式で生成
| > されます。
| > .IP
| > <method:cgipath><man2htmlpath><separator><manpage>
| 
| 「ハイパーリンク、一般に」は「ハイパーリンクは、一般に」と書く
| つもりで、「は」を書き忘れたのでしょうか。

直します。

| > .BI \-\^H " host[.domain][:port]"
| > .\"O Set method:cgipath to
| > .\"O .RI http:// host.domain:port .
| > method:cgipath を
| > .RI htttp:// host.domain:port
| > に設定します。
| 
| htttp:// host.domain:port は t が一個多い。

直します。

| > .\"O On a machine without running
| > .\"O .BR httpd ,
| > .\"O one can use
| > .\"O .B lynx
| > .\"O to browse the man pages, using the lynxcgi method.
| > .\"O When some http daemon is running, lynx, or any other browser,
| > .\"O can be used to browse the man pages, using the http method.
| > .\"O The option \-l (for `lynxcgi') selects the former behaviour.
| > .\"O With it, the default cgipath is \fI/home/httpd\fP.
| > .B httpd
| > が稼動していないマシンでは、
| > .B lynx
| > で lynxcgi を用いればマン・ページを閲覧することができます。
| > http デーモンが稼動している場合は、 lynx でも他のブラウザでも閲覧でき
| > ます。オプション \-l (`lynxcgi' の意味) は前者を選択します。これを指定
| > すると、デフォルトの cgipath は \fI/home/httpd/\fP になります。
  :
| このへん実際の経験がないので、間違えているかもしれませんが、
| 「lynx で lynxcgi を用いれば」は語順が逆なんじゃないでしょうか。
| 
|   httpd が稼働していないマシンでは、lynxcgi メソッドを使用すれば、
|   lynx で man ページを閲覧することができます。http デーモンが稼動
|   している場合は、http メソッドを使えば、lynx でも他のブラウザでも
|   man ページの閲覧が可能です。オプション -l (`lynxcgi' を意味する)
|   は前者の動作を選択します。その場合、デフォルトの cgipath は
|   /home/httpd になります。

lynxcgi が効くのは、lynx だけのようです。
lynx で閲覧できるようにするための説明のようなので、
「lynx で lynxcgi を用いれば」で合っているのではないかと。
lynxcgi *メソッド* 、http *メソッド* といきなり出てくるメソッドって
何、と読み返してみると
<method:cgipath><man2htmlpath><separator><manpage>
の method のところを指しているのかな。
従来の和訳では、文中の method はあえて訳出せずにいるのはそのへんを
嫌ったのかもしれません。

この部分、元のままから変更せずとも良いかな、と思います。

| > .\"O The option \-H \fIhost\fP will specify the host to use
| > .\"O (instead of \fIlocalhost\fP).  A cgi script could use
| > オプション \-H \fIhost\fP は (\fIlocalhost\fP の代わりに) 用いるホスト
| > を指定します。環境変数 SERVER_NAME が設定されていれば、  cgi スクリプ
| > トから
| > .IP
| > man2html -H $SERVER_NAME
| > .LP
| > .\"O if the variable SERVER_NAME is set.  This would allow your machine
| > .\"O to act as a server and export man pages.
| > のように用いることができます。これによって、お使いのマシンを、マン・ペー
| > ジを提供するサーバーのように動作させることができます。
  :
| それから、「お使いのマシンを、マン・ページを提供するサーバーのように
| 動作させることができます」は、「サーバーとして」ではないのでしょうか。
| でも、こういう as は普通「として」と訳しそうですから、「のように」と
| 訳したのには、何か理由があるのかもしれません。

「として」でなく「のように」である意図が読み取れないので、ちょっと
修正しがたいなぁ、と。

とりあえず、後でまたドラフトを出します。

| # diff.1 のチェックもしているのですが、なかなか進みません。
| # gnumaniak には将来性がなさそうなので、この diff の man ページに
| # 手を入れて、もうちょっとわかりやすくする意味があるのだろうか。

gnumaniak-1.8 ベースで出来る分まででしょうね。でも長南さんの指摘は
非常に有益だと思ってます。

--
tati****@kc5*****				立花 晃@鎌ヶ谷市




linuxjm-discuss メーリングリストの案内
Back to archive index