Texinfo

Texinfo 是一種排版語法,用於從單一來源檔案同時產生線上與印刷形式的文件(例如 、、 等檔案格式,以及專屬的超文字格式 )。同名的電腦程式實作了此語法,並由GNU計畫透過自由軟體基金會以自由軟體形式建立與發布。

Texinfo 的主要目的在於提供一種能夠輕鬆排版軟體手冊的方法。與 LaTeX 類似,書籍常見的各種功能,例如章節、交叉參照、表格與索引等,皆可在文件中使用。透過 Texinfo 提供的各種輸出產生器,使用者只需維護單一來源檔案,即可同步更新多種文件形式,例如網站上的線上文件,以及利用 TeX 排版系統產生的印刷文件。

Texinfo 官方文件指出,「Texinfo」一詞的第一個音節應與英文「speck」押韻,而非「hex」。此發音源自於 TeX 的讀法,其中字母 X 並非代表英文字母 X,而是代表希臘字母 χ(chi)。維護者亦表示,「Texinfo」應僅將字首 T 大寫,其餘字母皆使用小寫。

輸出格式
為了讓多種文件輸出格式能在原始 Texinfo(.texi)來源檔案修改後同步更新,Texinfo 提供了多種語法轉換工具,可將 Texinfo 檔案轉換為其他格式。其中大部分轉換工作由 GNU Texinfo 發行版所附的 程式(亦稱 )完成。

;HTML
:(使用 產生。)由於 HTML 是全球資訊網上文件呈現的標準語言,因此此輸出格式可有效用於建立線上說明文件頁面。官方手冊指出, 所產生的 HTML 輸出刻意保持簡潔,以獲得最大的可攜性與可及性。此外, 的 HTML 輸出具有高度客製化能力。

;DVI
:(使用 產生。)DVI(Device Independent File Format,裝置無關檔案格式)由 TeX 排版系統輸出,可用於產生特定裝置所需的命令,供檢視或列印使用;例如可進一步轉換為 PostScript( 檔案)。

;PDF
:(使用 或 產生。)PDF 格式以 PostScript 語言為基礎,由 Adobe 開發,用於可攜式文件交換。其能夠精確呈現文件外觀,並支援任意比例縮放。PDF 的設計目標是提供跨平台的文件交換能力,可透過各種軟體進行檢視。預設情況下,Texinfo 使用 (TeX 的一種變體)輸出 PDF 文件。

;LaTeX
:(使用 產生。)LaTeX 是建立於 TeX 之上的排版系統。其輸出結果可進一步處理為 DVI、PostScript 或 PDF 格式。

;DocBook
:(使用 產生。)DocBook 是一種以 XML 為基礎的技術文件標記語言,在整體架構上與 Texinfo 有若干相似之處。透過 程式,也可將 DocBook 檔案轉換為 Texinfo 格式。

;EPUB
:(使用 產生。)EPUB 是一種專為可攜式裝置閱讀電子書所設計的格式,其本質上是 HTML 的衍生格式。

;XML
:(使用 產生。)與其他輸出格式不同,XML 輸出並非最終成品,而是對 Texinfo 原始碼的直接轉寫。Texinfo XML 輸出的主要目的,是讓文件能夠進一步透過 XML 工具進行處理。

;Info
:(使用 產生。)Info 是一種專用格式,本質上是將原始 Texinfo 文件轉寫為純文字,同時加入少量控制字元,以區分節點並提供選單、交叉參照、索引等導覽功能。Info 格式檔案可透過隨 Texinfo 一同發行的 程式瀏覽,也可使用多種第三方 Info 閱讀器 開啟。

;純文字
:(使用 產生。)此格式與 Info 輸出幾乎相同,但會省略用於導覽的控制字元。

Man 頁面輸出
值得注意的是,標準 Texinfo 工具並不支援輸出為 man 頁面格式。雖然 Texinfo 被用作 GNU 軟體的官方文件系統,而 GNU 軟體通常運行於 Linux 等類Unix系統環境中;在這些系統裡,man 頁面向來是傳統的文件格式,但其設計理念有所不同。

其中一項原因是 man 頁面具有嚴格且固定的慣例格式,傳統上主要作為快速參考指南使用;相較之下,Texinfo 通常用於撰寫教學文件與完整的參考手冊。此外,許多 GNU 專案幾乎完全不維護 man 頁面,而是在所附的 man 頁面中提示讀者參閱 Info 文件(man 頁面本身往往會註明其內容較少維護)。

Texinfo 原始碼檔案
Texinfo 可讓使用者如同撰寫書籍般組織文件內容,包括章節、交叉參照與索引等結構。其來源檔案基本上接近純文字,但技術上屬於以命令標記的格式化文字。這些命令皆以「@」字元開頭。

以下為部分來源檔案範例:

@node Top
@top Short Sample

@node First Chapter
@nodedescription The first chapter is the only chapter in this sample.
@chapter First Chapter

@cindex chapter, first
This is the first chapter.

這些命令可用於標示文件結構,例如章節;也可用於標記文字、範例、清單與表格,或指定僅在特定輸出格式中處理的內容。

歷史與現況
Texinfo 為 GNU計畫的官方文件系統。GNU Texinfo 發行版採用 GNU通用公共授權條款授權。

Texinfo 格式由理察·史托曼建立,其結合了另一套在麻省理工學院使用、用於印刷輸出的系統 BoTeX,以及同樣由史托曼建立、建構於 TECO 版 Emacs 之上的線上超連結文件系統 Info。

BoTeX 本身則是建立於更早期的系統 Bolio 之上。Bolio 與大衛愛穆恩有關,並曾用於 Lisp機器的文件撰寫。 後來 BoTeX 被改寫為使用 TeX 作為輸出系統。

羅伯特·查塞爾協助史托曼建立了第一個用於產生 Info 文件的 Emacs Lisp 轉換器。根據 GNU 官方的說法,Texinfo「大致上以 布萊恩·里德的 Scribe 以及當時其他文件格式化語言為基礎」。

Texinfo 軟體發行版的開發工作先後由布萊恩·福克斯主導(至 3.8 版)、卡爾·貝里主導(至 5.2 版),並自 2014 年 12 月起由 加文·史密斯負責維護與開發。

參見

  • GNU計畫
  • TeX
  • LaTeX
  • Info
  • DocBook

注释
參考資料

评论 (0)

  • 还没有评论,来抢沙发吧。