歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

安裝和使用SGMLtools-Lite打開DocBook

SGMLtools-Lite 是 SGML 處理軟件的 Python 前端。基本上,SGMLtools-Lite 簡化了將 DocBook 文檔轉換成希望分發的一種或幾種格式的過程。
  
  如果您是 Linux 用戶,那麼根據您使用的發行版和在安裝期間選擇的選項,可能系統上已安裝了原始 SGMLtools 包。不過,原始 SGMLtools 項目沒有維持多長時間,SGMLtools-Lite 項目成了該項目的接任者。
  
  SGMLtools-Lite 的安裝
  SGMLtools-Lite 項目在 Sourceforge 上托管(請參閱本文稍後部分的參考資料)。根據您的需要,可以從那裡下載 RPM 或 tar-gzip 壓縮的源碼。RPM 是針對 Red Hat 6.2 構建的,它也曾在 SuSE Linux 上測試過。它們可能不能在其它發行版中正確工作,所以請小心使用。
  
  安裝 SGMLtools-Lite 之前
  不幸的是,SGMLtools-Lite 沒有包括您需要的所有文件。還需要安裝其它三個包 - SGML ISO 實體聲明以及 DocBook DTD 和 DSSSL 樣式表。大多數發行版都具有帶有這些文件的包;有關鏈接,請參閱參考資料。
  
  從源碼進行安裝
  要從源碼安裝 SGMLtools-Lite,將 sgmltools-lite-3.0.0.tar.gz 文件復制到一個空的目錄中,在那裡展開它,然後將目錄更改到新的 sgmltools-lite-3.0.0 目錄:
  
  tar -zxvf sgmltools-lite-3.0.0.tar.gz
  cd sgmltools-lite-3.0.0/
  
  在執行任何其它操作之前,檢查 sgmltools-lite-3.0.0 目錄中是否有 "config.cache" 文件。如果有,在運行配置之前將它除去。如果文件在配置 make 時出現,可能會導致問題。
  
  rm config.cache
  ../configure
  make
  make install
  
  到目前為止應該就是這些。要查看是否安裝了 SGMLtools-Lite,運行以下命令:
  
  sgmltools --help
  
  如果已正確安裝和配置了 SGMLtools-Lite,您應該看到以下消息:
  
  SGMLtools version 3.0.0
  
  Usage:
  
   sgmltools [OPTION...] [INPUT-FILE...]
  
  Convert SGML files into various output formats.
  
  Options:
   -v --verbose     Print verbose output
   -d --debug      Do not remove temporary files
   -b: --backend=    Backend to use
   -j: --jade-opt=    Options passed on to jade
   -s: --dsssl-spec=   DSSSL spec to use
   -V --version     Print version number and exit
   -h --help      Print usage and exit
   -l --license     Print license information
  
  For help on a specific backend, use "--backend xyz --help".
  
  從 RPM 進行安裝
  如果使用的是基於 RPM 的系統,可以使用 RPM 來安裝 SGMLtools-Lite。需要下載最新的 sgmltools-lite 包和支持文件。下載了這兩個 RPM 後,繼續使用 -i 選項安裝它們。您還是可以通過運行 sgmltools -- help 命令來測試安裝,確保每個部分都安裝成功。
  
  安裝疑難解答
  要使 SGMLtools-Lite 能正確工作,您可能需要做的一件事就是設置 SGML_CATALOG_FILES 環境變量,以使 SGMLtools-Lite 知道在什麼地方查找目錄文件。可以通過手工發出設置正確環境變量的命令來做到。在我的系統上使用的就是這種方法(是的,輸入工作可能有些繁重)。
  
  eXPort SGML_CATALOG_FILES=/usr/local/share/sgml/stylesheets/docbook/catalog:
  /usr/local/share/sgml/entities/iso-entities-8879.1986/iso-entities.cat:
  /usr/local/share/sgml/dtd/jade/dsssl.cat:
  /usr/local/share/sgml/stylesheets/sgmltools/sgmltools.cat:



  /usr/local/share/sgml/dtd/sgmltools/catalog:
  /usr/local/share/sgml/dtd/docbook/3.1/docbook.cat
  
  要避免在每次登錄時都不得不執行這一步,您可能需要繼續設置 .bash_profile 中的 SGML_CATALOG_FILES 環境變量。請注意,如果在一個 x-term 中設置環境變量,可能無法擴大到其它 x-term,因此如果收到錯誤,需要通過檢查來確保正確設置環境。
  
  使用 SGMLtools-Lite 產生輸出文件
  一旦安裝了 SGMLtools-Lite,使用起來就相當簡單。SGMLtools-Lite 主要用來從 DocBook 文件中產生 Html、PostScript、RTF 或純文本文件。還可以使用 SGMLtools 來將 Linuxdoc 文件轉換成 DocBook 格式。
  
  產生 HTML 文件
  以下是如何使用 SGMLtools-Lite 來產生 HTML 輸出的方法。如果所產生的文檔帶有圖像,則需要引用不帶有文件擴展名的圖像名。例如,不是這樣引用:
  
     <screenshot>
      <graphic fileref="../images/datebook1.gif"><graphic>
     <screenshot>
  
  而希望這樣使用:
  
     <screenshot>
      <graphic fileref="../images/datebook1"><graphic>
     <screenshot>
  
  在處理 DocBook 文件時,如果產生的是 HTML 文件,SGMLtools-Lite 需要的是 gif,如果產生的是 PostScript 文件,需要的是 EPS 文件。在產生 HTML 時,SGMLtools-Lite 自動附加 .gif 擴展名,因此 HTML 文檔可以正確使用。
  
  要從名為 book.sgml 的 DocBook 文件中產生 HTML 輸出,輸入以下命令:
  
  sgmltools -b html book.sgml
  
  "-b" (後端)參數告訴 SGMLtools-Lite 產生 HTML 輸出。
  
  這將創建一個名為 "book" 的目錄,並且 HTML 文件在其中。如果您的 DocBook 文檔調用其它文件,SGMLtools-Lite 也將處理它們,並自動創建索引和“頁面”之間的導航。
  
  由 SGMLtools-Lite 產生的 HTML 標記過於花俏。在把文件上載到服務器之前,您需要對它們運行 "HTML Tidy" (請參閱參考資料)。HTML Tidy 不僅可以整理代碼,它還會用 Css 規則替換例如 <font> 和 <center> 這樣的顯示標記。
  
  產生 PostScript 文件
  要產生 PostScript 輸出,使用以下命令:
  
  sgmltools -b ps book.sgml
  
  由 SGMLtools-Lite 產生的 PostScript 輸出看上去很專業,適合於許多文檔的使用,例如軟件手冊或公司報告;通常情況下,會使用排版程序來產生這些文檔。SGMLtools-Lite 甚至還可以直接產生封面和目錄表。
  
  產生 RTF 文件
  如果需要與使用 Word 的人共享文檔,則需要輸出多文本格式 (Rich Text Format),或 RTF 格式的文件。如果使用 SGMLtools-Lite,這一過程和產生任何其它輸出類型的過程一樣簡單:
  
  sgmltools -b rtf book.sgml
  
  不幸的是,據我所知,Microsoft Word 沒有導出到 DocBook 的選項。
  
  產生純文本文件
  最後,如果需要,可以用 DocBook 創建純文本文件。要使用 SGMLtools-Lite 產生純文本,使用 "-b txt" 參數。
  
  將 Linuxdoc 轉換成 DocBook
  在某些情況下,也許要負責維護 Linuxdoc 格式的文檔。可能您所在公司是使用 Linuxdoc 來編寫文檔的,也可能您碰巧遇到一些以 Linuxdoc 編寫的舊文檔。幸運的是,SGMLtools-Lite 的一個特性是能夠將文檔從 Linuxdoc DTD 轉換成 DocBook DTD。
  
  要將名為 Howto.sgml 的 Linuxdoc 文件轉換成 DocBook 格式,使用以下命令:
  
  sgmltools -b ld2db Howto.sgml
  
  這將從 Linuxdoc 文件中創建 DocBook SGML 文件。然後,可以使用新的 DocBook 文件來產生其它各種類型的文件。SGMLtools-Lite 不能從 Linuxdoc 文件中產生除 DocBook 以外的輸出。



  
  要將名為 Howto.sgml 的 Linuxdoc 文件轉換成 DocBook 格式,使用以下命令:
  
  sgmltools -b ld2db Howto.sgml
  
  這將從 Linuxdoc 文件中創建 DocBook SGML 文件。然後,可以使用新的 DocBook 文件來產生其它各種類型的文件。SGMLtools-Lite 不能從 Linuxdoc 文件中產生除 DocBook 以外的輸出。



Copyright © Linux教程網 All Rights Reserved