Info の source file は .texi や .texinfo などの拡張子を持つファイルとして提供されます. 例として,jgawk の日本語 Info をインストールする手順を考えてみましょう.
Mule(Emacs) で,jgawk.texinfo を読み込み,M-x texinfo-format-buffer を実行します.しばらくたつと,『Now save it』と言ってくるので, 言われるままに保存します.すると,以下の8つのファイルが生成されているはずです.
jgawk-info jgawk-info-1 jgawk-info-2 jgawk-info-3 jgawk-info-4 jgawk-info-5 jgawk-info-6 jgawk-info-7
次に個人用の Info を置いておくディレクトリ(例えば,~/info
)を作り,
生成された8つのファイルをそのディレクトリに移動します.そして,
~/info/dir
という名前のファイルを用意します.
このファイルは,~/info
に入れている Info
の構成を記録しておくファイルです.今回の例では次のようになります.
-*- Text -*- This is the file .../info/dir, which contains the topmost node of the Info hierarchy. The first time you invoke Info you start off looking at that node, which is (dir)Top. File: dir Node: Top This is the top of the INFO tree This (the Directory node) gives a menu of major topics. Typing "d" returns here, "q" exits, "?" lists all INFO commands, "h" gives a primer for first-timers, "mTexinfo" visits Texinfo topic, etc. --- PLEASE ADD DOCUMENTATION TO THIS TREE. (See INFO topic first.) --- * Menu: The list of major topics begins on the next line. Info in ~/info * gawk J: (jgawk-info). GNU AWK Manual (Japanese)
その上で,~/.emacs
に次の設定を加えます.
(setq Info-default-directory-list (append Info-default-directory-list (list (expand-file-name "~/info"))))
上の設定は,サイト全体の Info よりも個人用の Info を優先したい場合の設定です. サイト全体の Info を優先する場合は下記のようにします.
(setq Info-default-directory-list (cons (expand-file-name "~/info") Info-default-directory-list ))
これらの設定を加え,Mule(Emacs) を再起動すると,C-h i で表示された (DIR) から個人用の Info が辿れるようになります.
最近の Emacsen では M-x texinfo-every-node-update で同じことができます.
Info 形式の文書を作成するとき,@node に next node や prev node, up node の指定を手作業で行うのは大変面倒です. そこで,簡単な Perl のスクリプトを作成しました. このスクリプトは,Info が menu などによる木構造を持っていることを仮定して, 不十分な @node 文を補完します.引数を指定せずに実行するとマニュアルを表示しますので, 詳しくはそれを参照してください.
また,このスクリプトを使うと,袋小路になっているノードが無くなるので, 多少 Info が読みやすくなります.
このスクリプトを,Emacs Lisp の Info に適用する場合,次のようにします.
tar xzf elisp-manual-19-2.4-jp2.0.tar.gz cd elisp-manual-19-2.4-jp2.0 texinfo.perl elisp-jp.texi rm elisp-jp elisp-jp-* make elisp-jp
例のように,Top ノードを含んでいるファイルを指定して実行すると, @include 文によって参照されている他のファイルも自動的に書き換えます.
[Top] / [Emacs Lisp Tips] / [Texinfo Tips]