分享
 
 
 

水木-Emacs 的 texinfo 模式 (二)

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

水木-Emacs 的 texinfo 模式 (二)

null ana

返回〗〖转发〗

来自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-xedit-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 *'命令使你能够顺续浏览文件,所以顺续节点不是很需要 ) 使用前置参数,此命令将连续更新区域中的所有节点。

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

iamafan@linuxaid.com.cn

责任编辑:知识库管理员(2001-01-03 16:34)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有