荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (清风浮云 人生), 信区: Linux
标  题: Emacs 的 texinfo 模式(二)(fwd)
发信站: BBS 荔园晨风站 (Wed Oct  4 12:30:03 2000), 站内信件

【 以下文字转载自 georgehill 的信箱 】
【 原文由 georgehill.bbs@smth.org 所发表 】
发信人: GoldenEagle (鹫*只想飞), 信区: Linux
标  题: Emacs 的 texinfo 模式(二)(fwd)
发信站: BBS 水木清华站 (Thu Jan 20 18:14:27 2000)


来自ana的主页 http://ana.163.net/

-------------------------------------------

                第一小节        Updating Commands  更新命令

    你可以使用更新命令来做以下事情:

    * 插入或更新节点的 `Next', `Previous', `Up' 指向。

    * 插入或更新章节的目录。

    * 建立 Texinfo 文件的主要目录。

    当然你也可以使用这些命令来更新整个文件或文件的某一部分的所有节点和
目录。

    这些更新命令只适用于传统的 Texinfo 文件,它们的层次结构就象一本书。

在这些文件中,结构命令必须紧跟在 `@line' 行后面,除了那些 `Top'
`@node' 行。( 一个节构命令行就是以 `@chapter', `@section' 以及类似命令
开始的行)

    你可以在一个 `@node' 行后面立即输入结构命令行,或者在一个单行的
`@comment'命令行或一个单行的 `@ifinfo' 命令行后输入结构命令行。你不能
在`@node' 行和结构命令行之间插入其他行。仅仅是 `@comment'行或
`@ifinfo'行可以插入。

    使用更新命令的文本必须有 `Top' 结点且后面跟着一个 `@chapter' 节点
或者其他同等的命令行。注意如果文件仅仅有 `@chapter' 级别的节点,目录更
新命令将不会产生主目录。目录更新命令仅仅能产生含有低级别节点的目录。要
产生一个章节的目录,你必须提供一个 `Top' 结点。

    目录更新命令将删除指向其他 Info 文件的目录条目。这是它的一个不足。
一个变通的解决办法是使用交叉参考指向其他的文件。目录更新命令不会影响交
叉参考。

    Texinfo 模式主要用到的有五个更新命令:两个命令用来更新一个单行或者
一部分区域中的节点指向或目录; 两个更新一个文件中所有节点指向或目录; 还
有一个命令 `texinfo-master-menu' ,用来建立整个文件的主目录,或者,用
来更新整个文件的所有节点和目录。

    `texinfo-master-menu' 命令是一个主要命令:

`C-c C-u m' `M-x texinfo-master-menu'

     建立或更新一个包括所有目录的主目录。(假如可能的话,合并已经存在目
录中的描述)

    使用参数 (前置参数, 用 `C-u'), 将在建立主目录前首先建立或更新所有
的节点或常规目录。

    使用 `texinfo-master-menu',Texinfo 文件必须有一个 `Top' 结点并且
至少有一个子节点。

    在编辑完 Texinfo 文件后,你可以输入:

    C-u M-x texinfo-master-menu

    或

    C-u C-c C-u m

    这将首先更新所有的节点和目录。

    剩下的更新命令也用来做类似的更新节点或目录的工作。

    这些命令是:

`C-c C-u C-n'
`M-x texinfo-update-node'

    插入光标所在的节点的 `Next', `Previous', `Up' 指向,如果 `@node'
行已经有了 `Next', `Previous', `Up' 节点指向,那么旧的指向将被删除,然
后插入新的指向。使用参数 ( 前置参数,使用 `C-u' 命令 ),这个命令将会更
新区域( 在标记点和光标之间的文本 ) 所有的 `@node' 行。

`C-c C-u C-m'
`M-x texinfo-make-menu'

    建立或更新光标所在节点的目录。使用参数,这个命令将更新或建立区域中
的目录。

    当使用 `texinfo-make-menu' 更新或建立目录时,已有目录条目中的描述
被拷贝到对应新目录中拥有相同节点名的目录条目中。假如节点名不同,描述不
会被拷贝到新目录中去。

`C-c C-u C-e'
`M-x texinfo-every-node-update'

    插入或更新当前缓冲区的所有节点的 `Next', `Previous', `Up' 指向。

`C-c C-u C-a'
`M-x texinfo-all-menus-update'

    建立或更新当前缓冲区的所有目录。使用参数将在对目录进行操作前首先插
入或更新所有的节点指向。

    假如主目录已经存在,`texinfo-all-menus-update' 命令将更新它,但是
假如主目录不存在,此命令将不会创建主目录。( 使用 `texinfo-master-menu'

创建主目录 )

    使用命令:

    C-u C-c C-u C-a

    或

    C-u M-x texinfo-all-menu-update

    更新所有的节点和目录。

    变量 `texinfo-column-for-description' 定义了描述缩进的列数。缺省值
是 32 ,尽管经常使用 24 。你可以设置这个变量通过使用 `M-x
edit-options' 或者使用命令 `M-x set-variable' 。

    使用命令 `texinfo-indent-menu-description' 可以定义已存在的目录条目

的描述缩进值。假如需要,你可以使用命令 `texinfo-insert-node-lines' 来插

入丢失的 `@node' 行。

                 更新时所要求的事项

    在使用更新命令时,你必须把 Texinfo 文件分层组织好。当你手工组织文
档结构的时候,不要向下跳级结构。你可以从 `Top'节点跳到章节,而不是段落;

你可以从章节跳到段落,但不能跳到子段。但是,你可以向上跳过任何层次,例
如,从一个子段跳转到章节。

    每一个 `@node' 行或结构命令行看起来就象这样:

     @node     Comments,  Minimum, Conventions, Overview
     @comment  node-name, next,    previous,    up
     @section Comments

    或者象这样 ( 没有 `@comment' 行):

     @node Comments, Minimum, Conventions, Overview
     @section Comments

    在这个例子中,`Comments' 是结点和段落的名字。下一个结点叫
`Minimum',上一个结点叫 `Conventions'。`Comments' 段落定义在
`Overview' 节点中,也就是 `Up' 指向的节点。( 可以用 `@ifinfo' 行代替
`@comment' 行 )

    假如文件有 `Top' 节点,它必须叫做 `top' 或 `Top' 并且是文件的第一
个节点。

    目录更新命令用来在章节中建立段落目录,或者是段落中的子段落目录。这
也就意味着如果你要建立章节目录那么你必须有一个 `Top' 节点。

    偶然的,`makeinfo' 命令将建立 Info 文件,这种情形通常是因为
Texinfo 文件缺乏 `Next', `Previous', `Up' 指向。假如你能确认你的文件将
被 `makeinfo' 格式化,那么你不需要使用这些更新命令。然而,`makeinfo'
和 `texinfo-format-...' 命令都需要你在文件中插入目录。

                        其他的更新命令

    除了五个常用的更新命令外,Texinfo 模式还提供了一些其他命令:

`M-x texinfo-insert-node-lines'

    在 `@chapter', `section' 和其他段落命令前插入 `@node' 行。

    使用参数 ( `C-u' 前置参数 ), `texinfo-insert-node-lines' 不仅仅插入

`@node' 行,它还将以相应的节点名插入章节或段落标题。假如已经存在的节点行

缺乏名字的话它将以标题插入。因为节点名字要比章节或段落标题简明得多,所以

通常你得手工编辑插入的节点名。

    例如,以下的命令把整个缓冲区标记为一个区域并且插入 `@node' 行和标题


        C-x h C-u M-x texinfo-insert-node-lines

    ( 注意这条命令将把标题作为节点名插入 `@node' 行;
`texinfo-start-menu-description' 命令把标题作为描述插入目录条目。然而,

在多数情况下,你需要编辑插入的文本。)

`M-x texinfo-multiple-files-update'

    在多个文件中更新文档的节点和目录。使用 `C-u' 作为前置参数,在外部
文件中建立和插入一个主要的目录。使用带数字的前置参数,象 `C-u 2',在外
部文件中建立和插入目录之前首先更新所有的目录和所有的 `Next',`Previous',

`Up'指向。这条命令在 `@include' 文件有详尽描述。

`M-x texinfo-indent-menu-description'

    以定义的列数缩进目录的描述。你可以使用这条命令定义更多的缩进。使用
`C-u' 参数,这条命令缩进区域中的每个目录的每条描述。然而,这条命令不能
缩进多行描述的第二行和其他行。

`M-x texinfo-sequential-node-update'

    立即插入节点的名字。这意味着子段落的 `Next' 节点也许就是下一章。连
续节点在小说和其他连续的文档中很有用。( 然而,在 Info 中,`g *'命令使
你能够顺续浏览文件,所以顺续节点不是很需要 ) 使用前置参数,此命令将连
续更新区域中的所有节点。

-------------------------------------------

--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.34.143]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店