荔园在线

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

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


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

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


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

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

                使用 Texinfo 模式

    你可以以任何你喜欢的编辑器来编辑 Texinfo 文件。Texinfo 文件和其他
的 ASII 文件没有任何不同。然而,GNU Emacs 有一个特殊的Texinfo 模式,它
提供了许多命令和工具来改进你的工作。

    这一章描述了 Emacs 的 Texinfo 模式的特征,但并不介绍 Texinfo 的格
式化语言。也许你需要返回到开始目录阅读 Texinfo 格式化语言的详细介绍。

*目录:

*Texinfo Mode Overview::        Texinfo 模式有那些有用特性。
*Emacs Editing::                Texinfo 模式的编辑特征。
*Inserting::                    怎样插入经常使用的 @ 命令。
*Showing the Structure::        怎样显示文件结构。
*Updating Nodes and Menus::     怎样建立和更新节点和目录。
*Info Formatting::              怎样格式化 Info 文件。
*Printing::                     怎样格式化文件的打印部分。
*Texinfo Mode Summary::         简介所有的 Texinfo 模式命令。

         第一节  Texinfo 模式概览

    Texinfo 模式提供了许多有用的特性:

    *插入经常使用的 @ 命令。

    *自动建立 `@node' 行。

    *显示 Texinfo 源文件的结构。

    *自动建立或更新节点的 `Next', `Previous', `Up'的指向。

    *自动建立或更新目录。

    *自动的建立主要目录。

    *为 Info 文档格式化部分或文件的整个部分。

    *设置和打印文件的部分或整个部分。

    也许最有用的两个特性是插入常用的 @ 命令和建立节点指向和目录。

               常用的 GNU Emacs 编辑命令

    在多数情况下,常用的编辑命令和文本模式下一样,Texinfo 模式仅仅是加
入了一些新的命令和工具。主要的区别在于段落填充。在 Texinfo 模式下,段
落分隔变量和符号表被重新定义,这样导致有一些行是孤立行。也就是说,
`M-q'(`fill-paragrph')(段落填充--也就是段落重排)命令在重排段落的时候,
不会把一个索引命令分隔到段落中的其他行去。

    另外,Texinfo 模式设置变量 `page-delimiter' 值为
`texinfo-chapter-level-regexp'; 它缺省匹配关于章节等的等价的命令。通过
这样设置,你可以从一个章节跳转到另一个章节通过使用命令 `C-x ]'
(`forward-page')(向前一页)、`C-x ['(`backward-page')(向后一页)和`C-x
p'(`narrow-to-page')(页间跳转)。

    你可以给 Texinfo 随意起名,但是最好以以下几个后缀给文件命名:
`.texinfo', `.texi', `.txi', `.tex'。尽管对于许多系统来说文件扩展名的
长度有限制,我们仍然推荐使用长后缀。当你查看一个以 `.texinfo',
`.texi',`.txi'为后缀的文件时,GNU Emacs 自动的进入 Texinfo 模式。当你
查看的文件的第一行有文本 `-*-texinfo-*-' 时,Emacs 也会自动的转入
Texinfo 模式。假如你在 Emacs 的其他模式中时,你可以用 `M-x
texinfo-mode' 进入 Texinfo 模式。

    就象所有其他的 Emacs 特征,你可以自已定义 Texinfo 模式。它的定义非
常容易改变,这儿所说的都是缺省值。

                插入常用的命令

    Texinfo 模式提供了许多命令来插入各种常用的 @ 命令。

    用输入 `C-c' 两次再跟 @ 命令的第一个字母来插入命令。

`C-c C-c c'
`M-x texinfo-insert-@code'

    插入 `@code{}' 并且把光标放在括号中间。

`C-c C-c d'
`M-x texinfo-insert-@dfn'

     插入 `@dfn{}' 并且把光标放在括号中间。

`C-c C-c e'
`M-x texinfo-insert-@end'

     插入 `@end' 并且试图插入正确的单词,就象 `example'或 `table'。(这
条命令不能正确的处理嵌套列表,但是可以插入适当的单词)

`C-c C-c i'
`M-x texinfo-insert-@item'

     插入 `@item' 并且把光标放在下一行的开始。

`C-c C-c k'
`M-x texinfo-insert-@kbd'

     插入 `@kbd{}' 并把光标放在括号中间。

`C-c C-c n'
`M-x texinfo-insert-@node'

     插入 `@node' 和一个注解行,后面列出 `Next', `Previous', `Up' 节点,

把光标放在 `@node' 后面。

`C-c C-c o'
`M-x texinfo-insert-@noindent'

     插入 `@noindent' 并且把光标放在下一行的开始。

`C-c C-c s'
`M-x texinfo-insert-@samp'

     插入 `@samp{}' 并把光标放在括号中间。

`C-c C-c t'
`M-x texinfo-insert-@table'

     插入 `@table' 后面跟一个空格,光标放在空格后面。

`C-c C-c v'
`M-x texinfo-insert-@var'

     插入 `@var{}' 并把光标放在括号中间。

`C-c C-c x'
`M-x texinfo-insert-@example'

     插入 `@example' 并把光标放到下一行的开始。

`C-c C-c {'
`M-x texinfo-insert-braces'

     插入 `{}' 并把光标放在括号中间。

`C-c C-c }'
`C-c C-c ]'
`M-x up-list'

     从一括号对中向前移出到结束的括号后,因为输入 `C-c C-c ]' 比输入
`C-c C-c }' 要容易,所以把这两个快捷键设置为同一功能。( 当然,你也可以
用 `C-f' 向前移出 )

    要将一个单词放入命令如 `@code{...}' 中时,把光标放在这个单词的前面,

然后输入 `C-u 1 C-c C-c c'。前置参数的值告诉 Emacs 把多少个单词放入括
号中间。 `1' 放入一个单词,`2' 放入二个单词,依次类推。使用负数做参数
将嵌套上一个词组。假如你没有带数字参数,Emacs 插入命令字符串并把光标放
在括号中间。这个特性只适用于那些在一行中对单词或词组进行操作的命令。如

`@kbd' 与 `@var'。

    这些命令是在分析了 `GNU Emacs Manual' 和 `GDB Manual' 手册里常用的
 @ 命令的不同来建立的。如果你想定义自已的插入命令,你可以给一个键绑定
 一个快捷键,使用缩写,或者在 `texinfo.el' 加入代码。

    `C-c C-c C-d' (`texinfo-start-menu-description') 插入命令与其他的
插入命令工作方式不同。它在一个目录条的空白处插入节点部分或插入章节标题。

( 一个目录条有三部分,条目名,节点名,描述。只有节点名是必须的,但是描
述可以帮助解释节点。)

    使用时,把光标移动到目录条所在行键入 `C-c C-c d'。这个命令以节点名
字来查找节点所在章节的标题,然后把标题做为描述插入条目中。光标放在所插
入的文本的开始以便于编辑。假如当前目录条目已经有了描述,它不会把标题插
入。

    这个命令仅仅是写描述的一个辅助。它不能代替全部的工作。一个有用的描
述并不是和节点名字完全一样的。

                显示文件结构

    你可以用 `C-c C-s' (`texinfo-show-structure') 命令显示 Texinfo 文
件章节节构。它列出了以 `@chapter', `@section' 开头的 @ 命令所在行,以
及相应的统计数字。这些行显示在另一个名叫做 `*Occur*' 的编辑窗口中。在
这个窗口中,你可移动光标到其中的某一行上使用 `C-c C-c'
(`occur-mode-goto- occurrence') 跳转到 Texinfo 文件中对应位置去。

`C-c C-s'
`M-x texinfo-show-structure'

    显示 `@chapter', `@section' 对应行。

`C-c C-c'
`M-x occur-mode-goto-occurrence'

    对应于在 `*Occur*' 窗口中光标所在行,跳转到 Texinfo 文件中相应位置。


    在使用 `texinfo-show-structure' 时,如果通过 `C-c C-c C-s'使用了前
置参数,那么它不仅仅列出以 `@chapter', `section' 等 @ 命令所在行,而且
将列出 `@node' 所在行。( 这是第一版 Texinfo 不带参数时的工作状态,因为
`@node' 行弄乱了 `*Occur*' 窗口的显示而且不常用,所以在以后的版本改变
了它的工作形式 ) 你可以通过用前置参数来检查 `@node' 所在行的 `Next',
`Previous', `Up' 的指向是否正确。

    当你在一个手册上工作时,也许只感兴趣于当前章节的结构。在这种情况下,

你可以用命令 `C-x n n' 设置你感兴趣的部分,`texinfo-show-structure' 将
只在这部分工作。想要恢复查看整个的文档,使用命令 `C-x n w '( `widen')。


    对于 `texinfo-show-structure' 命令,Texinfo 模式重新设置了分页变量
的值来适应章节的 @ 命令。这使得你可以使用 `C-x ]'(`forward-page')和
`C-x ['(`backward-page') 命令在章节中向前或向后移动。使用 `C-x p '命令
(`narrow-to-page')限定章节。

                更新节点和目录

    Texinfo 模式提供了自动建立和更新目录及节点指向的命令。这些命令都归
纳为 "update" 命令因为它们最常用在更新 Texinfo 文件。但是你也可以用它
们在`@node'行插入 `Next', `Previous', `Up' 以及建立一个目录。

    假如你没有用过这些命令,那么你必须手工输入目录和节点指向,这是一项
沉闷的工作。

*Menu:

*Updating Commands::            五个主要的更新命令。
*Updating Requirements::        怎样组织 Texinfo 的文件结构以便于使用
                                更新命令。
*Other Updating Commands::      怎样缩进描述,插入丢失的结点行,以及插
                                入结点。

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

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


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

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