通用语法惯例:- 所有可打印ASCII字符都可以出现在Texinfo文件中,并表达它自身含义,但'@'、'{'、'}'除外,‘@’是用来表示命令,‘{’和‘}’用来包括某些命令的参数。可以在它们前面添加一个'@'来表示它们自身,如:'@@','@{','@}'。
- 一个或多个空行表示分段。仅仅换行符作为行结束,而不是CRLF,所以一个空行意味着两个连续的换行。如果需要的话,可以用@noindent来阻止段落缩排。
- Texinfo支持英语中的引号和其它语言中的引号,后面会讲到如何插入引号。
- 一行中的三个连字号'---'生成长括折号,通常用于句子中;两个连字号生成短括折号,通常用于数字范围,如”June 25-26“。单个连字号表示它本身,通常用于混合单词中。info程序为了屏幕显示,通常将将三个连字号缩减为两个,两个缩减为一个。另外在表示源码时,任何数目的连字号仍表示它字面意义上的内容,如@code,@example。
- 注意:不要在Texinfo文件中使用tab字符(除了在verbatim模式中)。Tex使用变宽字体,这意味着让tab在所有环境中工作正常是不切实际的。其次,Tex把tab当作单空格处理,这看起来与源文件中的tab意义不同。此外,'makeinfo'并不对tab做特殊处理,所以在输出中的样子会与输入文件有很大的出入。为了避免这个问题,GNU Emacs的Texinfo模式会把用户的输入的TAB转换成多个空格。当然了,EMacs中可以用'untabify'命令将一个区域中的tab转换为多个空格,或者在shell中使用'unexpand‘命令。
注释:
- 单行注释
@comment(或者它的简写 @c)
@comment或@c后面的内容不会出现在info文件或打印手册中。
@comment或@c可以出现在一行的任何位置,只有它后面的内容会被注释掉
有些命令是作用于一整行的(如@settitle,@setfilename),这时有能使用注释命令。 - 多行注释
@ignore ...注释内容 @end ignore
|
这两条命令都要顶格,并单独占一行,中间的内容为注释内容 被@ignore或者@ifset,@ifclear条件包住的文本会被忽略,因为它们没有被捐献到格式化的输出中。但TeX和makeinfo仍会解析被忽略的文本,因为它要找到@ignore命令结束的位置,如果在注释中出现不正确的@命令用户可能会收到错误报告。
Texinfo文件的最小要求:- 扩展名(.texinfo .texi .txi .tex)Texinfo更倾向于长扩展名,因为它们可读性好,短扩展名适用于不能处理长文件名的操作系统。
- 为了能够转换为可打印手册和info文件,Texinfo文件必须以如下行开始:
\input texinfo @setfilename info-file-name @settitle name-of-manual
|
随后是文件内容,最后必需以如下行结束:解释:
- 行”\input texinfo“告诉TeX使用texinfo.tex文件作为模板,将Texinfo的@命令转换为TeX排版命令。
- 行"@setfilename",指定info文件名,告诉TeX打开辅助(auxiliary)文件,@setfilename之前的所有文本都会忽略掉。
- 行"settitle"指定打印手册的页眉(或页脚),在HTML格式中为中的内容。严格的说@settitle是可选的,不介意的话可设为“Untitled”。
- @bye命令独占一行,标志文件结束,停止格式化处理。
下面是一个例子,它只包含少量的格式和页眉起始及页脚结束模式:\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename info-file-name @settitle name-of-manual @c %**end of header |
说明:
- 每一行中的'-*-texinfo-*-告诉Emacs编辑时进入Texinfo模式
- 另两行@c是可选的,但在运行TeX或info时是必须的。
阅读(5531) | 评论(0) | 转发(1) |