Tuesday, May 29, 2007

制作自己的man手册

 
 
 
 
制作自己的man手册

转自: http://bbs.chinaunix.net/viewthread.php?tid=834378&extra=page%3D1

一直以来没有发现制作man手册的文章。写了一篇供大家参考补充。
不是很完善,大家可以继续完善它。

关键命令:

groff   groff_man  gzip

其中大部分宏标签可以通过 man groff_man来查看。

主要宏标签

QUOTE:
.\"
在行首的注释



QUOTE:
\"
在行中的注释



QUOTE:
.TH title section [extra1] [extra2] [extra3]

其中section 为1-8之前的数字. extra1 在下中. extra2 在左下  extra3在上中
TH在文件的开始



QUOTE:
.SH 从行首开始,靠左边,宽体



QUOTE:
.SS 和.SS不同之处加了一个"边界" ,宽体



QUOTE:
.TP n
TP标签下的第2行开始缩进n个字符 (在第1行超过n字符的前提下) n默认值为7



QUOTE:
.sp

空行



QUOTE:
.B

宽体,如果本行没有文字,则.B标签的下一行为宽体



QUOTE:
.I

加下划线



QUOTE:
\fB文字\fR

将该文字设置成宽体



QUOTE:
\fI文字\fR

将文字加下划线



QUOTE:
.为\&.

-为\-






顶部
ELM
管理员
Rank: 9Rank: 9Rank: 9


UID 1
精华 1
积分 10
帖子 422
阅读权限 200
注册
状态 离线
发表于 09:22  资料  个人空间  短消息  加为好友 
以下为一个例子 用到上面所说的标签:

新建文件:
touch hello.1

编辑该文件

QUOTE:
.\" author : mq110

.TH Hello 1 "2006-9-26" "GNU" "GNU tools"         \"  hello(1)  GNU tools  hello(1)
                                                  \"  GNU       2006-9-26  hello(1)
.SH Name                                          \"  left
hello \- GNU hello                                 \" - must be \-
.SH SYNOPSIS
.B hello
.RB [\fB\-help\fR]
.RB [\-a]
.sp
.SH DESCRIPTION
this is a test\&.
.TP
\fIitalic\fR
.sp
.sp
.TP 3
123456789
890

groff -Tascii -man hello.1
看到显示的结果

cp hello.1 hello.1.bak
备份一下

gzip hello.1
生成hello.1.gz

mv hello.1.gz /usr/share/man/man1

man hello





顶部
ELM
管理员
Rank: 9Rank: 9Rank: 9


UID 1
精华 1
积分 10
帖子 422
阅读权限 200
注册
状态 离线
发表于 09:24  资料  个人空间  短消息  加为好友 
groff -Tascii -man hello.1

显示的结果

[root@Firewall man]# groff -Tascii -man hello.1

QUOTE:
Hello(1)                           GNU tools                          Hello(1)



Name
       hello - GNU hello

SYNOPSIS
       hello [-help] [-a]


DESCRIPTION
       this is a test.

       italic



       123456789
          890




GNU                                2006-9-26                          Hello(1)

可以看着这个显示做修改。


man hello的效果

QUOTE:
Hello(1)                                                 GNU tools                                                Hello(1)

Name
       hello - GNU hello

SYNOPSIS
       hello [-help] [-a]

DESCRIPTION
       this is a test.

       italic

       123456789
          890

GNU                                                      2006-9-26                                                Hello(1)



 

No comments: