1 coreutils の日本語版 info マニュアルのインストール方法と
2 使用法を簡単に説明します。コマンドラインから "info coreutils-ja" と
3 打ち込むと、日本語 info が読めるようなら、coreutils-ja.info がすでに
4 きちんとインストールされています。「1 インストール」の項目を飛ばして、
10 1.1 インストール、あるいは dir ファイルへの登録
12 1.3 /usr/share/info ディレクトリ以外へのインストール
13 1.4 info ファイルの作成 (おまけ 1)
14 1.5 html ファイルの作成 (おまけ 2)
17 2.1 日本語版 coreutils info マニュアルの呼び出し方
18 2.2 info マニュアルにおける基本的なキー操作
25 1.1 インストール、あるいは dir ファイルへの登録
26 -----------------------------------------------
28 インストール方法と言うより、coreutils-ja を info のトップレベル・
29 メニューに登録して、"info coreutils-ja" や "info cat-ja" などで
30 日本語の info マニュアルが読めるようにする方法です。
32 この登録をしないでも、coreutils-ja.info ファイルをカレントディレクトリに
35 info -f ./coreutils-ja.info
37 と打ち込めば、coreutis-ja の最初のページを開くことができます。さらに、
38 そのページをスクロールすると見ることのできるメニューをたどって
39 (あるいは、info の m コマンドを使って)、各コマンドの説明に飛ぶことが
40 できます。しかし、それでは不便でしょう。"info ls-ja" や "info cat-ja" で、
41 誰でも直接 ls や cat の日本語マニュアルが読めた方が便利です。そこで、
42 coreutils-ja.info を info のトップレベル・メニューに登録します。
44 作業は、root ユーザになって行います。info のトップレベル・メニューが
45 記載されているファイルは、標準では /usr/share/info/dir です。
46 coreutils-ja.info を /usr/share/info ディレクトリにコピーしてください。
48 cp coreutils-ja.info /usr/share/info
51 info ファイルは、gzip などで圧縮することができます。
53 GNU の install-info コマンドで coreutils-ja.info を dir ファイルに
54 登録します (注 1)。install-info の書式はこうです。
56 install-info [OPTION]... [INFO-FILE [DIR-FILE]]
58 カレントディレクトリが /usr/share/info なら、具体的なコマンドは、
61 install-info coreutils-ja.info dir
63 注 1: debian のようにディストリビューション独自の install-info
64 コマンドが入っていることがあります。その場合は、マニュアルで
65 使用法を調べるか、GNU の install-info (debian では、ginstall-info
66 という名前で入っている) を使ってください。
68 圧縮ファイルの場合でも ".gz" まで指定する必要はありません。もちろん、
69 付けても構いません。これで、インストール完了です。"info dd-ja" などで
75 coreutils-ja.info をアンインストールしたい場合は (登録から削除したい
76 場合は)、次のように --delete オプションを使います。
78 install-info --delete coreutils-ja.info dir
80 そして、coreutils-ja.info (または、coreutils-ja.info.gz) を消去します。
84 1.3 /usr/share/info ディレクトリ以外へのインストール
85 ----------------------------------------------------
87 coreutils-ja.info は、一応 /usr/share/info ディレクトリにコピーする
88 ことを想定して、作ってありますが、info コマンドのサーチパスにある
89 ディレクトリなら、そこにコピーしても、たぶん問題なく使用できます。
91 info コマンドの現在のサーチパスは、info 実行中に H キーを押せば、
92 見ることができます (info の古いバージョンでは h キーでした)。
93 /usr/local/share/info というディレクトリが存在すれば、
94 "/usr/share/info:/usr/local/share/info:." になっていると思います。
95 存在しなければ、たぶん "/usr/share/info:." だけです。また、環境変数
96 INFOPATH によってサーチパスを /usr/share/info に追加することもできます
97 (環境変数 INFOPATH については、info info-stnd を参照してください)。
99 coreutils-ja.info を /usr/share/info 以外に置く場合は、
100 install-info コマンドの引数の dir には、/usr/share/info/dir を
101 指定してもよく、info ファイルをコピーしたディレクトリ中の dir (たとえば、
102 /usr/local/share/info/dir) を指定してもよいでしょう。後者の場合、
103 info コマンドが、実行時に両方の dir を統合して、トップレベルのメニューを
106 coreutils-ja.info を /usr/share/info/ja といった、info コマンドの
107 サーチパスにないディレクトリにコピーする場合は、環境変数 INFOPATH を
108 利用すればよいと思います。他にも方法がありますが、説明は省略します。
110 1.4 info ファイルの作成 (おまけ 1)
111 ----------------------------------
113 coreutils-ja.info の配布には、texi ファイルも含まれているかもしれ
114 ません。coreutils-ja.info が既に存在する場合、以下を実行する必要は
115 ありませんが、texi ファイルを修正して、自家特製の info ファイルを
116 作りたいこともあるかもしれません。そこで、念のため、texi ファイルから
117 info ファイルを作成する方法を書いておきます。
119 texinfo 6.3 から makeinfo の日本語対応が向上しました (UTF-8 対応が
120 進んだということだと思います。でも、日本語の禁則処理には未対応の
121 ようです)。そこで texinfo 6.3 に含まれる makeinfo を使用することを
122 想定しています。それ以前のバージョンの makeinfo では、行末の処理が
125 同一バージョンの次の 6 ファイルを一つのディレクトリに集めます。
127 constants.texi (英語日本語共通)
130 coreutils-ja.texi (日本語に翻訳したもの)
131 parse-datetime-ja.texi (同上)
134 そのディレクトリで、makeinfo コマンドを実行します。
136 makeinfo --no-split coreutils-ja.texi
138 --no-split オプションを付けずに makeinfo を実行すると、複数に分割
139 された info ファイルが生成されます。しかし、この分割された info
140 ファイルを info コマンドで表示すると、ページによっては白黒が反転して
141 しまうことがあります。ですから、makeinfo は --no-split を付けて実行した
144 注意: makeinfo のバージョンによっては、日本語をうまく扱えないことが
145 あります。たとえば、Debian jessie の makeinfo 5.2 がそうです。
147 1.5 html ファイルの作成 (おまけ 2)
148 ----------------------------------
150 info 形式のマニュアルの閲覧法は、あまり直感的とは言えません。
151 そこで、html 形式に変換したくなるかもしれません。それには、texi2html
154 texi2html がすでにインストールされているとします。たとえば、1 node
155 1 ファイルの形で html ファイルを作るには、次のようにします。
157 まず、必要な texi ファイルがあることを確認してください。必要な texi
158 ファイルは、info ファイルを作成する場合と同じで、次の 6 個です。
164 parse-datetime-ja.texi
167 上記の texi ファイルのあるディレクトリの直下に html ディレクトリを
168 作って移動し、texi2html コマンドを実行します。
172 texi2html --split node ../coreutils-ja.texi
174 node ごとではなく、章ごとに分割したかったら、"--split chapter" です。
175 texi2html の詳しい使い方については、"man texi2html" で調べてください。
177 なお、makeinfo に --html オプションを付けても、texi ファイルから html
178 ファイルを作ることができます。こちらについての詳細は、"info texinfo" の
179 "Generating HTML" をご覧ください。
182 -------------------------------
184 細田さんという方のおかげで、texinfo 6.3 以降なら、日本語の texi
185 ファイルから pdf が作れるようになりました。LuaTex 0.95 以降、または
186 XeTeX 0.9998 以降 (後者の場合は、zhspacing も)、それに、texinfo-ja.tex
189 texinfo-ja.tex ファイルについては、ディストリビューションによっては、
190 texinfo 6.3 以降でも、/usr/share/texmf/tex/texinfo に texinfo.tex
191 と txi-ja.tex はあっても、texinfo-ja.tex が存在しないかもしれません。
192 そんなときは、texinfo の開発元から、texinfo パッケージをダウンロードして、
193 texinfo-ja.tex を取り出せばよいでしょう。
195 texinfo-ja.tex を texi ファイル群と同じディレクトリに置き、
196 coreutils-ja.texi ファイルのヘッダに以下のような行を書きます。
198 \input texinfo-ja (\input texinfo を書き換える)
199 @documentencoding UTF-8 (なければ追加)
200 @documentlanguage ja (同上)
202 そして、LuaTex を使うなら、以下を実行します。
204 $ PDFTEX=luatex texi2pdf coreutils-ja.texi
206 これで pdf ファイルができるはずですが、筆者のところでは、「xkeyval
207 がない」というエラーが出て、止まってしまいました。xkeyval.* は、
208 debian stretch では texlive-latex-recommended パッケージに
209 入っています。それを入れることで pdf ファイルの作成に成功しました。
211 より詳しくは、細田さんのお書きになった記事をご覧ください。
213 http://www.trueroad.jp/2016/05/14-01.html
218 2.1 日本語版 coreutils info マニュアルの呼び出し方
219 --------------------------------------------------
221 coreutils-ja.info のインストールが済んでいるなら、コマンドラインから、
223 info coreutils-ja (coreutils マニュアル全体の最初のページ)
224 info chmod-ja (chmod コマンドの info マニュアル)
226 のように打ち込めば、coreutils 全体や coreutils に属する個々のコマンドの
227 日本語 info マニュアルを開くことができます (注 1)。英語版のマニュアルを
228 読むには、"info coreutils" や "info chmod" とタイプします。
230 注 1: なお、"info coreutils-ja 'chmod invocation'" といった
231 呼び出し方もあります。一般に info コマンドの書式は、
232 "info [OPTION]... [メニュー項目名] [メニュー項目名]..."
233 です。メニューが階層を持っているとき、メニュー項目の連鎖を
234 指定することで、深いところにあるセクションを直接呼び出せる
235 わけです。たとえば、"info mew copyright" とすれは、他の
236 プログラムのマニュアルの Copyright セクションではなく、
237 Mew プログラムの Copyright セクションを直接開くことができます。
239 info マニュアルの読み方の基本は、「メニューの項目にカーソルを
240 合わせてリターンキーを押せば、そのページに飛ぶ。スペースで先へ進み、
241 バックスペースで後戻りする。q キーで終了する」です。もっと複雑な
242 (便利な) 使い方については、以下で説明します。
244 日本語版 coreutils info マニュアルの呼び出し方は、もう一つあります。
245 info プログラムを引数なしで実行すると (注 2)、info マニュアルの
246 トップレベル・メニューが開きます。そこで、coreutils-ja, chmod-ja
247 などのメニュー項目を探して、カーソルを合わせ、リターンキーを押せば、
248 日本語マニュアルが表示されます。でも、キー操作を使った方が手間が
249 かかりません。トップレベル・メニューの画面で m キーを押すと、最下行に
250 (Emacs でいうミニバッファに) 「メニュー項目:」(英語なら 「Menu item:」)
251 というプロンプトが出ます。それに対して、コマンド名に -ja を付けて
252 打ち込み、リターンキーを押せばよいのです。たとえば、m キーを押して出た
253 「メニュー項目:」プロンプトに対して chmod-ja と打ち込めば、日本語版の
254 chmod コマンドのマニュアルが、chmod だけなら、英語版のマニュアルが
257 注 2: info マニュアルは info コマンドだけでなく、Emacs でも読めます。
258 Emacs の info リーダーを呼び出すには、Emacs 上で C-h i、または
259 M-x info とタイプします。そうすると、info のトップレベル・
260 メニューが開きます。古めの Emacs (たとえば、Emacs22) をご使用に
261 なっている場合は、日本語が文字化けして、読めないかもしれません。
262 Emacs23 以降なら、たぶん大丈夫です。Emacs の info リーダーの
263 使い方は、info コマンドとほぼ同じです。
265 coreutils-ja、chmod-ja などと -ja を付けるのは、info プログラムを
266 起動するときと、info のトップレベル・メニューにいるときだけです。
267 coreutils-ja であれ、dd-ja であれ、すでに日本語版の coreutils
268 マニュアルのどれかを開いている場合は、-ja をコマンド名の後ろに付ける
269 必要がありません。と言うより、付けてはいけません。
271 coreutils-ja の内部では、コマンドのメニューがあるページなら
272 (スクロールしないとメニューが見えませんが、coreutils-ja の最初の
273 ページもその一つです)、m に chmod などとコマンド名を続けて、リターン
274 キーを押すだけで、たいていの場合、そのコマンドの日本語マニュアルが
275 開きます (注 3)。また、g キーでノード (ほぼ章や節や項に当たります)
276 に直接飛ぶ場合も、g キーを押すと最下行に出る「ノードへ移動:」(英語なら
277 「Goto node:」) というプロンプトに対して chmod invocation などと
278 ノード名を打ち込んで、リターンキーを押せば、そのノードが開きます (注 4)。
279 メニューにリストされている項目のノード名は、たいていメニュー項目名 (英語)
280 と同じです (注 5)。m の場合も g の場合も、タブで文字列の補完ができます。
282 注 3: 厳密な言い方をすると、m ではメニュー項目名を指定します。
283 ただし、メニュー項目名の先頭から、他の項目と区別するのに
284 必要なだけの部分を指定すれば充分です。ですから、メニュー
285 項目名が chmod invocation なら、chmod というコマンド名
286 だけでよいことになります。とは言え、pr, sort、comm、tr、dir、
287 rm, date, who コマンドのような例外もあります。たとえば、
288 coreutils-ja の最初のページでは、sort で始まるメニュー項目名が
289 二つあるので (sort invocation と Sorting the output)、m に
290 sort と続けただけでは足りません。sort に続けて、スペースを
291 一回押し、それからタブを押してください。それで sort invocation
292 と補完されるはずです。rm や tr などのコマンドについても
293 同様です。date コマンドの場合は、coreutils-ja のメニューに
294 date invocation のほかに Date input formats という項目も
295 あるので、"date inv" まで指定する必要があります。
297 注 4: m はメニューのあるところでしか使えませんが、g はたいてい
298 どこでも使えます。しかし、ノード名はメニュー項目名と違って、
299 省略を受付けません。そこで、g では、タブによる補完を多用する
302 注 5: メニュー項目名とノード名が違う場合もあります。たとえば、
303 引数なしで info コマンドを実行したときに表示されるトップ
304 レベル・メニューでは、日本語 cat マニュアルのメニュー項目名は
305 cat-ja ですが、ノード名は (coreutils-ja.info ファイルの)
308 なお、m に続けるメニュー項目名では、たいていの場合、大文字小文字を
309 区別しません。g に続けるノード名の場合は、原則として大文字小文字の区別が
310 行われますが、ユーザが大文字で指定しようと、小文字で指定しようと、タブに
311 よる補完を使用すると、補完と同時に正しい表記に変更されます。
313 2.2 info マニュアルにおける基本的なキー操作
314 -------------------------------------------
316 info プログラムではキー操作をコマンドと言います。スペースを押すのも、
317 q や n キーを押すのもコマンドの実行です。
319 スペースで先へ進み、バックスペースで後へ戻ることができます
320 (スクロールします)。矢印キーで上下左右にカーソルが動きます。
321 メニューの項目やクロスリファレンスにカーソルを合わせて、リターン
322 キーを押すと、その項目に飛びます。l キーを押すと、直前に開いていた
323 ノードに戻ります。q キーで info が終了します。それに m, g, n, p, ], [,
324 u, t コマンドを知っていれば、たいてい用が足ります (そうしたコマンドの
325 動作については、下記を参照してください)。Emacs の info リーダーの
328 ああ、二つ書き忘れました。C-l (Ctrl と l (エル) を同時に押します) と
329 C-g も重要です。info プログラムは、バージョンによっては、日本語の
330 行末処理が上手ではありません。行末にゴミが入ることがあります。
331 そういうときは、C-l を押して画面を再描画すると、表示が正常になります。
333 C-g の方は、コマンドを途中でキャンセルするときに使います。
335 info 中でのキー操作の詳細は、"info info" や "info info-stnd" を
336 実行して、マニュアルを読んでください (残念ながら、英語です)。
338 注意: ここでは、info 6.3 を使うことを想定して、基本的なコマンドのみを
339 挙げておきます。バージョンによっては、使えなかったり、動作が違ったり
340 することもあります。たとえば、古いバージョンの info では、'/', 's',
341 'C-s' などで日本語の検索ができません (英語による検索はできます)。
343 Space: 1 画面スクロール (最下部の 2 行が最上部に残る)。
344 Backspace: 1 画面スクロールバック。
345 Delete: info コマンドでは Backspace と同じ (Emacs の
347 矢印キー: カーソルが上下左右に移動する。
348 Return: メニューやクロスリファレンスで、カーソル位置にある
354 H: コマンドの簡単な説明 (古いバージョンでは h)。
358 ]: レベルが違っても、ドキュメントの次のノードに進む。
359 [: レベルが違っても、ドキュメントの前のノードに戻る。
361 mメニュー項目名: 指定したメニュー項目に飛ぶ。
365 d: info マニュアル全体のトップレベル・メニューに飛ぶ。
369 l: 元のページ (すなわち、直前に読んでいたノード) に戻る。
371 s または /: 指定した文字列で正規表現検索をする (Emacs の info
372 リーダーでは、/ は使えないが、s による検索はできる)。
373 同じ文字列の検索を続行するには、less や man とは違って、
374 n ではなく、s または / に続けてリターンを押す。
375 ?: 逆方向への正規表現検索 (Emacs ではコマンドの簡単な説明)。
379 f または r: クロスリファレンスをたどる (Emacs の info リーダーでは
380 クロスリファレンスをたどるのは f だけであり、r は l の
382 i: 指定した文字列をインデックス中で探して、その参照箇所に
383 飛ぶ (coreutils-ja のインデックスは日本語化されて
384 いない。従って、日本語によるインデックス検索は、
385 今のところできない。英語によるインデックス検索は
387 ,: i コマンドでインデックス検索をしているとき、i で
388 指定した文字列にマッチする次のインデックス項目の
390 ESC C-f: 脚注があるとき、ウインドウを分割して、下のウインドウに
391 脚注を表示する (Emacs の info リーダーでは使えない)。
392 脚注のウインドウを消すには、本文のウインドウにカーソル
393 があることを確認して、C-x 1 とキーを押す (Ctrl と x の
396 2.3 g コマンドのちょっと複雑な使用法
397 ------------------------------------
399 "info ls-ja" を実行して、ls の日本語マニュアルを読んでいるとします。
400 そのとき、原文が読みたくなったら、どうしますか。info を一度終了して、
401 "info ls" を実行する。d コマンドで info のトップレベル・メニューに飛び、
402 m に続けて ls とタイプする。別の端末エミュレータから、"info ls " を
403 実行する。もちろんどれも正解です。特に 3 番目は、原文と翻訳を並べて
404 見ることができますから、有用な方法だと思います。
406 しかし、日本語マニュアルを表示している現在の info から、ls の英語版
407 マニュアルに直接飛ぶこともできます。g コマンドをこんなふうに使います。
409 g(coreutils)ls invocation
411 g キーを押すと最下行に出るプロンプトに対して (coreutils)ls invocation
414 g コマンドの正規の使用法は、次のようなものです。
418 上の書式中、同じマニュアル中での移動ならば (たとえば、coreutils-ja の
419 あるコマンドの説明から、coreutils-ja の他のコマンドの説明に飛ぶのならば)、
420 ファイル名は省略できます。また、他のマニュアル中のノードに飛ぶとしても、
421 そのマニュアルが /usr/share/info のような info のサーチパスの下にある
422 ファイルならば、そのサーチパスを基点とする相対パスで、ファイル名を指定する
423 ことができます (たとえば、/usr/share/info/ja/something.info.gz
424 ならば、ja/something.info.gz)。しかも、info や info.gz のような拡張子は
425 省略できます。そこで、日本語マニュアルから ls の英語マニュアルに飛ぶ
428 g(coreutils)ls invocation
430 でよいことになります。英語版 ls マニュアルから日本語版に戻るには、
431 l コマンドを使えば済みます。"g(coreutils-ja)ls invocation" と
434 なお、g コマンド書式中のファイル名は、絶対パスやカレントディレクトリ