Provided by: manpages-zh_1.5-1_all bug

NAME

       roff - roff 排版系統的概念和歷史

yz DESCRIPTION
       roff  是一系列排版程式,如  troff,  nroff, ditroff, groff, 等等的通稱。
       一                        roff                         排版系統包含一-
       茈i擴展的文字格式化語言和一系列程式用以列印和轉換為其他文字格式。
       傳統的,它是       Unix       的主n文本處理系統;現在,每       類Unix
       作業系統仍然附帶一 roff 系統作為核心套件。

       當今最普遍的  roff  系統是自由軟體的實現  GNU  roff,  groff(1).   groff
       之前的實現被稱為傳統的  classical  實現  (從   1973   年開始)。   groff
       實現了它的傳統的前輩的用法和功能,並且加入了更多擴展。 當前,由於 groff
       是唯一可以在        (幾乎是)        任何電腦系統上都可用的         roff
       系統,因此它是事實上的 roff 標準。

       在一些古老的            Unix           系統中,有一茈s做           roff
       的可執行檔案,實現了甚至更加古老的 Multics 作業系統中的 runoffC  參見
       HISTORY         段落。        它的功能非常有,即使與古老的        troff
       相比;它不再被支持了。 因此,在本文件中, roff 總是泛指 roff 系統  roff
       system ,不是古老的 roff 可執行檔案

       儘管歷史悠久,roff      當前還在廣泛使用中,例如,UNIX      系統的手冊
       (man pages)  ,很多軟體書籍,系統文件,標準和團體組織的文件都是用  roff
       來寫的。          roff         在文本設備上的輸出效果仍然是無可比擬的,
       並且,與其他自由的排版系統相比,它的圖形輸出也不差,
       甚至強於很多商業的系統

       最普遍的   roff   的應用是手冊   manual   pages   (簡稱   man  pages);
       它是很多作業系統中的標準文件系統

       此文件描z了圍繞   roff   system    開發的一些歷史事件;    所有    roff
       版本在用法方悸漱@些共同點,    roff    管道的細節--它經常被掩蓋在類似
       groff(1) 等等的 「前端」  之後;  對排版語言的一般的概z;  一些寫  roff
       文件的技巧; 還有到更多資料的鏈接

v HISTORY
       roff  文本處理系統有很長的一段歷史,可以回溯到60  年代。 roff 系統自酉P
       Unix 作業系統關系密切, 但是它的起源n從更扛漣@業系統  CTSS  和  Multics
       開始。

   The Predecessor runoff
       roff 系統的演變與作業系統的歷史緊密聯系。 它的 「先祖」 runoffJerry
       SaltzerCTSS 作業系統 (Compatible Time Sharing System ,相容分時系統
       (?),1961)   上的作品。   CTTS  後來發展成為作業系統  Multics  <http://
       www.multicians.org>,  Unix  的一茧萓W的來源,出現於  1963,同時  runoff
       成為文件和文本處理的主n格式。
       當時,這兩種作業系統只能運行在非常昂貴的電腦之上,              因此它-
       怳j部分用於研究和官方及x隊的任務之中

       與現代的    roff    相比,    runoff   語言可以做的事非常有。   在   60
       年代,只能產生文本的輸出。   這可以用一茠曮蚻   2   的命令   (request)
       的集合實現,      這些命令的絕大部分都保持不變地被      roff     採用。
       這種語言的模型是根據  「前電腦時代」  的排版習慣而建立的,   那時,以點
       (dot,                    `.')                    開頭的行被寫在手稿中,
       向之後進行手動排版工作的工人指示格式化的n求

       開始,runoff  程式是用  PL/1   語言寫成的,後來用   BCPL   來寫--那是
       C   編程語言的  「祖母」。  在  Multics  作業系統中,幫助系統由  runoff
       來處理,  與   roff   管理   Unix   手冊隍漣@用類似。   仍然有   runoff
       語言寫成的文件, 例如可以到 Saltzer 的主隄搰搳C參見 SEE ALSOnroff/trofft The Classical nroff/troff System
       在       70       年代,Multics       的後裔      (offspring)      Unix
       變得越來越普遍,因為它可以運行在廉價的電腦上,
       並且那時在大學裏可以很容易地獲得。  在 MIT (麻省理工,the Massachusetts
       Institute of Technology), 有人想在一台運行 Unix  的  PDP-11  電腦上驅動
       Wang  (王安公司?) 的 Graphic Systems CAT 排字機,一種圖形化的輸出設備。
       由於  runoff  在這種任務上能力有,它被  Josef   F.   Osanna,   (Multics
       作業系統的主n開發者之一,幾           runoff           移植系統的作者)
       繼續開發,成為一種更強大的文本排版系統

       runoff            這茼W字被簡化為            roff.              Ocsanna
       所設想的,極大擴展了的語言已經包含了一荍嗾膋   roff   系統的所有元素。
       所有現代的   roff   系統都試圖實現同這茖t統相容。   因此   Joe   Osanna
       是當之無愧的所有 roff 系統之父

       最扛 roff 系統有三荓延{式

       troff  (typesetter roff) 為它唯一支持的 CAT 排字機產生一蚢洇峈瑪擖X

       nroff  為終端和文本列表機產生合適的文本輸出

       roff   對最初的        runoff       程式的有功能進行奐s實現;       這-
              茧{式在後來的版本中被拋棄。  現在,  roff   這茼W字只用來指代一
              troff/nroff 系統的整體

       Osanna  的第一版用 PDP-11 的匯編語言實現,發佈於 1973.  Brian Kernighan
       加入到 roff 的開發中,使用 C 編程語言將它進行了姨g。 C 版本發佈於 1975.

       nroff/troff  程式使用的排版語言的語法記載在著名的  Troff  User's Manual
       [CSTR #54] 中,出版於 1976, Brian Kernighan 對它不斷莯,直到 1992  年。
       此文件是對傳統的    classical    troff    的說明.    所有後來的    roff
       系統都試著與這蚖〝實現相容

       1977 年,Osanna 在他  50  歲時,由於一次突發的心臟病而去世。  Kernighan
       繼續開發        troff。       下一荈}發目標是賦予       troff       一-
       荍韝@般的接口,以支持更多設備, 中間輸出格式和 「後處理」 系統。 這使得
       roff  系統的結構趨於完整,現在仍然被使用。參見  USING  ROFF  段。  1979
       年,它抭Q寫入論文 [CSTR  #97].   這虓s的  troff  版本是所有現存的較新的
       troff  系統的基礎,包括 groff.  在一些系統上,這茬]備無關的 troff 有一-
       茈i執行檔案叫做 ditroff(7).   所有現代的  troff  程式都已經自動提供了對
       distroff 完整的相容性

  ~ Commercialization
       免費的        Unix        7       作業系統商業化之後,出現了嚴囿滌h步。
       一大批不同的作業系統浮出水情A為他怍狶@的擴展間的互不相容而爭鬥。
       幸好,這種不相容沒有影響到鴝l的   troff。   所有不同的商業版本的   roff
       系統都大量使用了  Osanna/Kernighan  的開放的鴝l碼和文件,但是卻將其作為
       系統 ("their" system) 出售-- 只有很少的蚹

       古老的 Unix 和傳統的 troff 的鴝l碼在長達 20 年時間裏不再可以自由獲得。

       幸運的是,Caldera   收購了   SCO   UNIX  (2001).   隨後,Caldera  使得-
       鴝l碼可以在網上獲得,允許用於非商業用途。參見 SEE ALSO 段

       (譯注:誰能想到,現在,2003
       年,SCO會成為自由軟體和開源軟體界共同的敵人呢?               而Caldera
       又在什麼地方呢?)

   Free roff
       任何商業的 roff 系統都無法成為  roff  開發中的後繼者。  商業社會中的每-
       茪H都只對他怞菑v的事情感興趣。  這使得曾經如此優秀的 Unix 作業系統在 80
       年代一蹶不振

       作為對如此快速的商業化過程的補救 (As a counter-measure to the galopping
       commercialization,還請奐s翻譯),  AT&T Bell Labs 貝爾實驗室試圖發起一-
       茷黕_性的項目 (?,a rescue  project)  ,使用他怐  Plan  9  作業系統。
       它可以免費用於非商業用途,甚至包含了鴝l碼。 但是它有一荓M利許可証,that
       empedes the free development  (  還請解釋詞義)。  這種想法忖w過時,因此
       Plan 9 沒有被主流開發者接受為自己的孕x

       真正的補救措施  (?,  remedy)  是不斷出現的自由作業系統  (386BSD, GNU/
       Linux, 等等.) 和 80 年代到 90 年代的自由軟體工程。 他拊窶{了傳統的 Unix
       的特性和很多擴展,因此舊的  「XP體驗」  不會丟掉  (such  that  the  old
       experience   is   not   lost)。   進入   21   世紀,類    Unix    系統-
       奐s成為電腦工業中的主導因素 -- 這n感謝自由軟體

       最南的自由  roff p劃是 GNU 移植版本的 troff, 由 James Clark 建立,使用
       GNU Public License <http://www.gnu.org/copyleft>.   它叫做  groff  (GNU
       roff).  參見 groff(1) 中的概z

       groff  系統仍然在繼續開發。 它與傳統 troff 相容,但是還添加了很多擴展。
       它是第一茈i以在幾乎所有作業系統上運行的      roff      系統並且      --
       它是自由開放的。 這使得 groff 成為現在 roff 的事實標準

 USING ROFF
       很多人不會注意到他怞b使用  roff。 當你閱讀一份手冊 (man page) 時,roff
       工作在I景。  roff   文件可以使用   xditview(1x)   程式查看,它是一   X
       發行版的標準程式。參見 X(7x).  但是顯式地使用 roff 也不困難

       一些 roff 實現提供了包裝程式,使得人怚i以簡單地在命令行使用 roff 系統。
       例如,GNU  的  roff  實現  groff(1)  提供了命令行選項來避免傳統   troff
       中過長的的命令管道;  grog(1)  程式試著從文件猜測應當使用什麼參數來運行
       groff; 不習慣於指定命令行選項的人應當用 groffer(1)  程式來圖形化地顯示
       groff 檔案和手冊

  D The roff Pipe
       roff     系統由預處理器     (preprocessor),roff     排版程式和後處理器
       (postprocessor)      組成。       這種結構使用了大量的管道       piping
       機制,意思是,一系列的程式陸續地被調用,                    隊列中的每-
       茧{式的輸出就作為下一茧{式的輸入

       sh# cat file | ... | preproc | ... | troff options | postproc

       預處理器產生 roff 代碼,傳給一 roff 處理器 (例如,troff),  然後  roff
       處理器接下來產生中間輸出,傳給一茷幙B理器程式,
       用來列印或者產生最終輸出

       所有這些組件都使用它怞菑v的程式語言;  每種語言是與其他組件完全無關的。
       此外,還可以包括為特殊目標而製作 (tailor) 的 roff 宏包

       大多數        roff        文件中摻雜著使用一些包中的宏、       一茤峖h-
       蚢w處理器的代碼,還會添加  roff  語言中的一些元素。   使用者很少需n用到
       roff 排版語言的完整功能; 只有宏包的作者需n知道底層細節 (gory details)

  wBz Preprocessors
       預處理器是任何產生符合      roff     排版語言語法的輸出的程式。     每-
       蚢w處理器都有它自己的語言,在預處理器運行時被翻譯為  roff  代碼。  roff
       文件中可以包含以這種語言寫成的片段;  它怚i以被特殊的 roff 命令或宏識別
       (they  are  identified  by   special   roff   requests   or   macros)。
       加入了預處理器代碼的文件必須通過所有相應的預處理器處理之後,
       才能傳給真正的  roff  排版程式,  因為真正的  roff  排版程式會忽略所有-
       砲耵漸N碼。 預處理器只會分析並轉換指定由它處理的文件部分

       有大量的自由/商業     roff     預處理器。    一些不能在所有系統上使用,
       還有一些預處理器被認為是 roff 系統不可分割的部分。 傳統的預處理器有

              tbl     制表 (table)
              eqn     數學公式 (mathematical formulae)
              pic     繪圖 (diagram)
              refer   書目索引 (bibliographic references)
              soelim  包含標準位置的宏檔案 (macro)

       其他已知預處理器,但不是在所有系統上都可用,包括

              chem    化學公式 (chemical formulae)
              grap    構造圖元 (graphical elements)
              grn     插入 gremlin(1) 圖片

  { Formatter Programs
       A   roff   formatter   排版程式是一虒挭壎   roff    排版語言或    roff
       宏包寫成的文件的程式。      它產生中間結果     intermediate     output,
       將送入單一設備後處理器。後處理器必須在排版程式的命令行選項中指定。
       文件必須已經通過了所有需n的預處理器處理

       roff  排版程式的輸出以另外一種語言表示:  intermediate output formattroff output.  這種語言最初詳z在 [CSTR  #97]  中;它的  GNU  擴展記載在
       groff_out(5)           中。          中間輸出語言與高級的          roff
       語言相比像一種匯編指令語言。 產生的中間輸出是為一種特定的設備優化過的,
       但是對於所有設備,這種語言都適用

       roff   排版程式是整   roff   系統的核心。  傳統  roff  有兩荓延{式:
       對應字符設備的 nroff 和對應圖形設備的 troff

       通常, troff 這茼W字泛指這兩種排版程式 (is used as a  general  term  to
       refer to both formatters)。

  ] Bz Devices and Postprocessors
       設備是類似列表機、字符或圖形終端等的硬體接口,
       或者是用於轉換為另一種字符或圖形設備的軟體接口

       後處理器是將     troff     輸出轉化為一種適於某種特殊設備的格式的程式。
       對於輸出目標來說,roff 後處理器像是它怐熙]備驅動

       每種設備都有為其優化的後處理器程式。.
       後處理器解釋中間輸出,產生設備相關的代碼,傳送給設備

       設備名和後處理器程式的名稱是不固定的,                          因為它-
       怢抰鄔騛q腦的軟硬體的能力。          例如,          [CSTR         #54]
       中提到的傳統的設備名已經有了極大的改變。
       舊的硬體不再存在,舊的圖形轉換程式與現代同等功能的程式相比太不精確了

       例如,Postscript  設備 post 在傳統 troff 中分辨率是 720,而 groff 的 ps
       設備是 72000, 提高了 100 

       現在,作業系統為大多數類似列表機的硬體提供了設備驅動,    因此不必為每-
       茼C表機寫一荅S殊的後處理器

roffs{ ROFF PROGRAMMING
       roff  文件是加入了  roff  排版元素的普通文件。  roff 排版語言非常強大;
       它幾乎是一荍嗾膋熊{式語言,並且提供了擴充自赤漱葛嚏C
       使用這些元素,就可以開發為特殊程式定制的宏包。  這樣的宏包比普通的 roff
       n容易上手得多。    所以大多數人會選擇一中宏包,     不用去關心     roff
       語言的內部實現

  ] Macro Packages
       宏包是一些適於以便利的辦法格式化某種特殊文件的宏的集合。 它斨略F roff
       的使用。 一茈]的宏定義保存在一茈s做  name.tmac  的檔案中  (傳統的命名是
       tmac.name).      所有     tmac     檔案保存在標準位置的一茤峖h茈媬中。
       有關宏包的命名和位置的細節可以看 groff_tmac(5).

       文件中用到的宏包可以使用命令行選項 -m  提供給排版程式,  參見  troff(1),
       它怳]可以在文件中指定,使用   roff   語言的   「包含檔案」   命令,參見
       groff(7).

       著名的傳統宏包有  man  用來處理傳統手冊  mdoc  處理  BSD   樣式的手冊-
       間F此類書籍、文件和信件的宏集合是 me (命名也許是根據它的創造者之名 Eric
       Allman 而來),  ms  (命名來自  Manuscript  Macros),  還有  mm  (命名來自
       Memorandum Macros).

   roffy The roff Formatting Language
       傳統的   roff   排版語言記z在  troff  使用者手冊  Troff  User's  Manual
       [CSTR     #54]     中.       roff      語言是完整的編程語言,提供了命令
       (request),宏定義,轉義序列             (escape             sequence),
       字符串變量,數字或數量寄存器          (number          or          size
       registers),還有流程控制語句

       Requests 「命令」 是預定義的基礎的排版命令,與 shell 提示下的命令類似。
       使用者可以定義類似 「命令」  的元素,使用  roff  的  「預定義」  元素。
       使用者定義的命令就被叫做  「宏」  macros.   文件作者不會體會到 命令和宏
       之間用法的任何區別; 它抭ˉg在一行中,並以一蚋I (dot, `.') 開始

       Escape sequences 「轉義序列」 是以反斜槓  (backslash,  `\'.   )  開始的
       roff     元素。    它怚i以被插入到任何地方,包括文本的一行中間。    它-
       怚峔蚢窶{不同的功能,可以使用   \(   插入非   ASCII    字符,使用    \f
       改變字型,使用 \" 插入行內注釋,它怳]可以轉義特殊的控制字符,像這樣 \\,
       還有很多很多其他的功能

       Strings  「字符串」  是存儲一茼r符串的變量。  字符串以  .ds  命令存儲。
       存儲的字符串可以用 \* 轉義序列獲得

       Registers      「寄存器」     存儲數字和數量。     寄存器可以用     .nr
       命令設置,然後用控制序列 \n 來獲得它的

XiW FILE NAME EXTENSIONS
       手冊隅洏帠兢`號作為檔案擴展名,例如本文件的檔名是               roff.7,
       也就是說它放在手冊隍熔  7 章

       傳統的宏包使用包名稱作為檔案擴展名,例如    file.me   意思是使用了   me
       宏包的檔案, file.mm 使用了宏包 mm, file.ms 用的是  ms,  file.pic  則是
       pic 等等

       但是沒有   roff   文件統一的命名方式,儘管   file.tr  用於  troff  file
       在現在和當時都是一樣的 也許應當有 roff 檔案擴展名的一蚍郱

       檔案擴展名與            less(1)            格式化工具結合,會非常好用。
       它提供了用單一的方式打開各種輸入的可能性, 方法是定義一 shell 環境變量
       LESSOPEN.  這種辦法沒有什麼文件,這是一茖狺l:

       sh# LESSOPEN='|lesspipe %s'

       lesspipe 可以是一茖t統提供的命令或者是你自己的稿本。

s EDITING ROFF
       最好的  roff  文件編輯器是  Emacs,參見   emacs(1).    它提供了   nroff
       模式,適於所有種類的 roff 「方言」。 可以用下悸漫R令來激活這種模式

       當用  Emacs  編輯文件時可以輸入  `M-x  nroff-mode' 來改變模式,這裏 M-x
       意思是按住 Meta 鍵 (或 Alt) 同時點一下 x 鍵

       也可以在編輯器加載檔案的時唌A自動改變模式

       o 最好的辦法是將下惜T行注釋包含在檔案末尾

         .\" Local Variables:
         .\" mode: nroff
         .\" End:

       o 有一系列的檔案擴展名,例如手冊隍甄X展名,會自動觸發 nroff 模式

       o 理論上,可以將下悸漣C

         .\" -*- nroff -*-

         作為檔案的第一行,也可以使  emacs   在加載檔案時啟用   nroff   模式。
         不幸的是,一些程式例如 man 在這種方法中會出錯;因此請不n用它

       所有的        roff        排版程式都提供了自動的斷行以及水巧M豎直間距。
       為了不幹擾它的功能,應當注意以下幾點:

       o 不n在  roff   文件中包含空行或只包含空格的行,   而是使用「空行」命令
         (一行中只包含一蚋I),或者一行注釋 .\" (如果需n一蚨c造元素的話)

       o 不n在行漸峈躓獢A因為這會導P不可預測的行為。
         段落縮進可以以受控的方式,用 roff 命令構造出來

       o 每句話應當放到自己的一行中,因為句號後-
         悸漯躓瑼熙B理方法是根據它結束的是短語還是句子而不同的。
         n區別這兩種情況,在每句話後悼[上一荋咻

       o 另外n使用  Emacs  的  auto-fill  模式的話,最好在每句話後捲K加一茠讀
         roff 命令 (一行中只包含一蚋I)

       下悸漕狺l顯示了最佳的 roff 編輯習慣是怎樣的

              這是一 roff 文件的例子.
              .
              這是同一段中的下一句.
              .
              這是下一茈y子,它比較長,分成了多
              行;類似 `cf.' 這樣的短語可以很容易地
              識別,因為其中的「點」後惆S有換行.
              .
              (在輸出時,它怳晰|在同一段中.)
              .
              (譯注:如果使用中文的標點「。」就不用考慮這些,
              但是每句話後探咻碻`是茼n主意。少用 `.' 為妙)

       除了  Emacs,其他一些編輯器也提供了  nroff 格式檔案的支持,例如 vim(1),
       它是 vi(1) 程式的擴展

BUGS

       UNIX(R) 是 Open Group 的注冊商標。 但是在 Caldera 在  2001  年收購  SCO
       UNIX 之後,事情發生了極大的好轉

       (譯注:為什麼 2003 年 SCO 又會成為 M$ 的走狗呢?)

 SEE ALSO
       有大量的講z   roff   的文件。  講z傳統  troff  的鴝l文件仍可獲得,groff
       的所有方惜]都詳細地記錄在文件中

   Internet sites
       troff.org
              「歷史上的   troff」    <http://www.troff.org>    提供了    roff
              所有歷史方悸熒囫和指引。   這蚨纀舅揭b建設;但是,它將成為  roff
              歷史的主n來源

       Multics
              「Multics 的官方站點」 <http://www.multicians.org> 包含很多  MIT
              的項目的信息,CTSS,Multics,朽薊      Unix,還包括     runoff;
              尤其有用的是一茬N語字典,還有很多到古老的文件的鏈接

       Unix Archive
              「古老的    Unix    的檔案館」    <http://www.tuhs.org/Archive/>
              提供了古老的   Unix   的鴝l碼和一些二進制檔案  (包括  troff  的-
              鴝l碼和它的文件),它       是       Caldera       自       2001
              年以來公開的,例如著名的  Unix  版本  7  的 PDP-11 孕x版本位置是
              Unix V7 site <http://www.tuhs.org/Archive/PDP-11/Trees/V7>.

       Developers at AT&T Bell Labs
              「貝爾實驗室p算和數學科學研究所」   <http://cm.bell-labs.com/cm/
              index.html> 提供了搜索朽褻}發者信息的功能

       Plan 9 「Plan  9 作業系統」 <http://plan9.bell-labs.com> AT&T Bell Labs
              貝爾實驗室的作品

       runoff 「Jerry   Saltzer    的主間v    <http://web.mit.edu/Saltzer/www/
              publications/pubs.html>            保存了古老的           runoff
              排版語言寫成的一些文件

       CSTR Papers
              「貝爾實驗室   CSTR    網站」    <http://cm.bell-labs.com/cm/cs/
              cstr.html>  保存了鴝l的  troff  手冊 (CSTR #54, #97, #114, #116,
              #122) 還有著名的有關編程的歷史文件

       GNU roff
              「groff 的官方網站」 <http://www.gnu.org/software/groff>  提供了
              自由的 roff 實現:groff,並且它是 roff 的事實標準

  v Historical roff Documentation
       很多 歷史文件仍然可以在線獲得。 troff 語言主n的兩部手冊是

       [CSTR #54]
              J.    F.    Osanna,    Nroff/Troff    User's   Manual   <http://
              cm.bell-labs.com/cm/cs/54.ps>; (《使用者手冊》) Bell Labs, 1976;
              revised by Brian Kernighan, 1992.

       [CSTR #97]
              Brian   Kernighan,   A   Typesetter-independent  TROFF  <http://
              cm.bell-labs.com/cm/cs/97.ps>, (《設備無關的 troff》) Bell Labs,
              1981, revised March 1982.

       將 roff 作為一種「小語言」("little language") 來講z的論文有

       [CSTR #114]
              Jon  L.  Bentley  and Brian W. Kernighan, GRAP -- A Language for
              Typesetting    Graphs    <http://cm.bell-labs.com/cm/cs/114.ps>;
              (《grap: 一種圖形排版語言》) Bell Labs, August 1984.

       [CSTR #116]
              Brian  W.  Kernighan, PIC -- A Graphics Language for Typesetting
              <http://cm.bell-labs.com/cm/cs/116.ps>;                  (《pic:
              一種排版用的圖形控制語言》) Bell Labs, December 1984.

       [CSTR #122]
              J.  L.  Bentley,  L. W. Jelinski, and B. W. Kernighan, CHEM -- A
              Program for Typesetting Chemical Structure  Diagrams,  Computers
              and  Chemistry  <http://cm.bell-labs.com/cm/cs/122.ps>; (《chem:
              排版化學結構圖的程式,電腦與化學》) Bell Labs, April 1986.

  U Manual Pages
       由於它結構復雜,完整的 roff 系統包含很多很多手冊間A  每一茬ㄣyz了  roff
       的一茪鞊。 不幸的是,不同的 roff 實現之間,它怐漱漭U沒有相同的命名格式

       在 groff 中,手冊 groff(1) 包含了 groff 相關的所有文件的索引

       其他系統中,你需n自己探索,但是 troff(1) 是茷雃n的起點

@ AUTHORS
       Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.

       This  document  is  distributed  under  the  terms of the FDL (GNU Free
       Documentation License) version 1.1 or later.  You should have  received
       a  copy  of the FDL on your system, it is also available on-line at the
       GNU copyleft site <http://www.gnu.org/copyleft/fdl.html>.

       此文件是  groff,  GNU  roff  套件的一部分。  它的作者是  Bernd   Warken
       <bwarken@mayn.de>; 它的管理者是 Werner Lemberg <wl@gnu.org>.

[]
       bbbush <bbbush@163.com>

[]
       2003.11.28

mlinuxan:
       http://cmpp.linuxforum.net