新聞中心
目錄

創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、肇慶網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為肇慶等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
- 11.1. 文本數(shù)據(jù)轉(zhuǎn)換工具
-
- 11.1.1. 用 iconv 命令來轉(zhuǎn)換文本文件
- 11.1.2. 用 iconv 檢查文件是不是 UTF-8 編碼
- 11.1.3. 使用 iconv 轉(zhuǎn)換文件名
- 11.1.4. 換行符轉(zhuǎn)換
- 11.1.5. TAB 轉(zhuǎn)換
- 11.1.6. 帶有自動轉(zhuǎn)換功能的編輯器
- 11.1.7. 提取純文本
- 11.1.8. 高亮并格式化純文本數(shù)據(jù)
- 11.2. XML 數(shù)據(jù)
-
- 11.2.1. XML 的基本提示
- 11.2.2. XML 處理
- 11.2.3. XML 數(shù)據(jù)提取
- 11.2.4. XML 數(shù)據(jù)檢查
- 11.3. 排版
-
- 11.3.1. roff 排版
- 11.3.2. TeX/LaTeX
- 11.3.3. 漂亮的打印手冊頁
- 11.3.4. 創(chuàng)建手冊頁
- 11.4. 可印刷的數(shù)據(jù)
-
- 11.4.1. Ghostscript
- 11.4.2. 合并兩個 PS 或 PDF 文件
- 11.4.3. 處理可印刷數(shù)據(jù)的工具
- 11.4.4. 用 CUPS 打印
- 11.5. 郵件數(shù)據(jù)轉(zhuǎn)換
-
- 11.5.1. 郵件數(shù)據(jù)基礎(chǔ)
- 11.6. 圖形數(shù)據(jù)工具
- 11.7. 不同種類的數(shù)據(jù)轉(zhuǎn)換工具
下面是關(guān)于Debian 系統(tǒng)上可用的格式轉(zhuǎn)化工具及其相關(guān)提示的信息。
基于標(biāo)準(zhǔn)的工具,是非常好用的,但支持的專有數(shù)據(jù)格式有限.
11.1. 文本數(shù)據(jù)轉(zhuǎn)換工具
如下是文本數(shù)據(jù)轉(zhuǎn)換工具。
表 11.1. 文本數(shù)據(jù)轉(zhuǎn)化工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
libc6 |
V:923, I:999 | 12878 | 字符集 | 使用 iconv(1) 的不同語言環(huán)境(locale)之間的文本編碼轉(zhuǎn)換器 (基礎(chǔ)的) |
recode |
V:3, I:23 | 603 | 字符集+換行 | 不同語言環(huán)境(locale)之間的文本編碼轉(zhuǎn)換器(多功能的,更多別名和特性) |
konwert |
V:1, I:52 | 134 | 字符集 | 不同語言環(huán)境(locale)之間的文本編碼轉(zhuǎn)換器(高檔的) |
nkf |
V:0, I:10 | 362 | 字符集 | 日語字符集翻譯 |
tcs |
V:0, I:0 | 518 | 字符集 | 字符集翻譯 |
unaccent |
V:0, I:0 | 35 | 字符集 | 代替重音字符,使用和它們相當(dāng)?shù)姆侵匾糇址? |
tofrodos |
V:1, I:22 | 55 | 換行 | 在 DOS 和 Unix 之間的文本格式轉(zhuǎn)換: fromdos(1) 和 todos(1) |
macutils |
V:0, I:0 | 312 | 換行 | 在 Macintosh 和 Unix 之間的文本格式轉(zhuǎn)換: frommac(1) 和 tomac(1) |
11.1.1. 用 iconv 命令來轉(zhuǎn)換文本文件
| 提示 | |
|---|---|
|
|
你能夠通過如下的命令用 iconv(1) 來轉(zhuǎn)換文本文件的編碼。
$ iconv -f encoding1 -t encoding2 input.txt >output.txt
編碼值是大小寫不敏感的,且會在匹配時忽略“-”和“_”。可以使用“iconv -l”命令檢查支持的編碼。
表 11.2. 編碼值和用法的列表
| 編碼值 | 用法 |
|---|---|
| ASCII | 美國信息交換標(biāo)準(zhǔn)代碼,7位代碼不帶重音符號 |
| UTF-8 | 用于所有現(xiàn)代操作系統(tǒng)的多語言標(biāo)準(zhǔn) |
| ISO-8859-1 | 舊的西歐語言標(biāo)準(zhǔn),ASCII + 重音符號 |
| ISO-8859-2 | 舊的東歐語言標(biāo)準(zhǔn),ASCII + 重音符號 |
| ISO-8859-15 | 舊的帶有歐元符號的西歐語言標(biāo)準(zhǔn)(ISO-8859-1) |
| CP850 | code page 850,用于西歐語言的微軟 DOS 的帶有圖形的字符,ISO-8859-1 的變體 |
| CP932 | code page 932, 日語 Microsoft Windows 的 Shift-JIS 變體 |
| CP936 | code page 936,用于簡體中文的微軟操作系統(tǒng)風(fēng)格的 GB2312,GBK 或者 GB18030 的變體 |
| CP949 | code page 949,用于韓語的微軟操作系統(tǒng)風(fēng)格的 EUC-KR 或者 Unified Hangul Code 的變體 |
| CP950 | code page 950,用于繁體中文的微軟操作系統(tǒng)風(fēng)格的 Big5 的變體 |
| CP1251 | code page 1251,用于西里爾字母的微軟操作系統(tǒng)風(fēng)格的編碼 |
| CP1252 | code page 1252,用于西歐語言的微軟操作系統(tǒng)風(fēng)格的 ISO-8859-15 的變體 |
| KOI8-R | 用于西里爾字母的舊俄語 UNIX 標(biāo)準(zhǔn) |
| ISO-2022-JP | 日文郵件的標(biāo)準(zhǔn)編碼,只使用 7 位字節(jié) |
| eucJP | 老的日文 UNIX 標(biāo)準(zhǔn)的 8 位字節(jié),和 Shift-JIS 完全不同 |
| Shift-JIS | 日文 JIS X 0208 附錄 1 標(biāo)準(zhǔn) (參見 CP932) |
| 注意 | |
|---|---|
|
一些編碼只支持?jǐn)?shù)據(jù)轉(zhuǎn)換,它不能作為語言環(huán)境的值 (第 8.1 節(jié) “語言環(huán)境”)。 |
像 ASCII 和 ISO-8859 這樣適用于單字節(jié)的字符集,字符編碼和字符集幾乎指的是同一件事情。
對于多字符的字符集,比如說,用于日文的 JIS X 0213,或用于差不多所有語言的 Universal Character Set (UCS, Unicode, ISO-10646-1) , 有多種編碼方案來序列化它們的字節(jié)數(shù)據(jù)。
-
日文的 EUC 和 ISO/IEC 2022 (也被稱為 JIS X 0202)
-
Unicode 的 UTF-8、UTF-16/UCS-2 和 UTF-32/UCS-4 編碼
對于以上這些,字符集和字符編碼之間有著明顯的區(qū)別。
對某些計算機廠家而言,code page 是作為字符編碼表的同義詞來使用。
| 注意 | |
|---|---|
|
請注意,大部分編碼系統(tǒng)共享 ASCII 的 7 位字符的同樣編碼,但也有一些列外。如果你從通常所說的 shift-JIS 編碼格式,轉(zhuǎn)化老的日文 C 語言程序和 URL 數(shù)據(jù),到 UTF-8 格式,你需要使用 " |
| 提示 | |
|---|---|
|
|
11.1.2. 用 iconv 檢查文件是不是 UTF-8 編碼
你能夠通過如下命令用 iconv(1) 來檢查一個文本文件是不是用 UTF-8 編碼的。
$ iconv -f utf8 -t utf8 input.txt >/dev/null || echo "non-UTF-8 found"
| 提示 | |
|---|---|
|
在上面的例子中使用 " |
11.1.3. 使用 iconv 轉(zhuǎn)換文件名
這里是一個示例腳步,在同一目錄下,將在老的操作系統(tǒng)系統(tǒng)下創(chuàng)建的文件名編碼,轉(zhuǎn)換為現(xiàn)代 UTF-8.
#!/bin/sh ENCDN=iso-8859-1 for x in *; do mv "$x" "$(echo "$x" | iconv -f $ENCDN -t utf-8)" done
"$ENCDN" 變量定義了在老的操作系統(tǒng)下,文件名使用的原始編碼,見 表 11.2 “編碼值和用法的列表”.
對于更加復(fù)雜的情況,請使用適當(dāng)?shù)木幋a作為 mount(8) 的選項(參見 第 8.1.3 節(jié) “文件名編碼”) 來掛載包含有這樣文件名的文件系統(tǒng)(比如說,磁盤上的一個分區(qū)),使用 "cp -a" 命令來拷貝它的整個內(nèi)容到另外一個使用 UTF-8 掛載的文件系統(tǒng)上。
11.1.4. 換行符轉(zhuǎn)換
文本文件的格式,特別是行尾(換行符)編碼,有平臺獨立性。
表 11.3. 不同平臺的換行符樣式列表
| 平臺 | 換行符編碼 | 控制碼 | 十進(jìn)制 | 16 進(jìn)制 |
|---|---|---|---|---|
| Debian (unix) | LF | ^J |
10 | 0A |
| MSDOS 和 Windows | CR-LF | ^M^J |
13 10 | 0D 0A |
| 蘋果的 Macintosh | CR | ^M |
13 | 0D |
換行符轉(zhuǎn)換程序, fromdos(1), todos(1), frommac(1), 和 tomac(1), 是相當(dāng)方便. recode(1) 也是有用的。
| 注意 | |
|---|---|
|
在 Debian 系統(tǒng)上的一些數(shù)據(jù),如 |
| 注意 | |
|---|---|
|
大部分編輯器 (比如: |
| 提示 | |
|---|---|
|
對于混合 MSDOS 和 Unix 式樣的文件,統(tǒng)一到 MSDOS 換行符式樣,使用 " |
11.1.5. TAB 轉(zhuǎn)換
這里有一些轉(zhuǎn)換 TAB 代碼的專業(yè)工具。
表 11.4. bsdmainutils 和 coreutils 包中的用于轉(zhuǎn)換 TAB 的命令列表
| 功能 | bsdmainutils |
coreutils |
|---|---|---|
| 把制表符擴(kuò)展成空格 | "col -x" |
expand |
| 將空格轉(zhuǎn)換為制表符(unexpand) | "col -h" |
unexpand |
indent 包中的 indent(1) 命令能夠重新格式化 C 程序中的空格。
例如 vim 和 emacs 這樣的編輯軟件可以被用來擴(kuò)展 TAB。就拿 vim 來說,你能夠按順序輸入 ":set expandtab" 和 ":%retab" 命令來擴(kuò)展 TAB。你也可以按順序輸入 :%set noexpandtab" 和 ":%retab" 命令來復(fù)原。
11.1.6. 帶有自動轉(zhuǎn)換功能的編輯器
像 vim 這樣的現(xiàn)代智能編輯器軟件是相當(dāng)聰明的并且能夠處理任何編碼系統(tǒng)以及任何文件格式。你應(yīng)該在支持 UTF-8 編碼的控制臺上并在 UTF-8 環(huán)境下使用這些編輯器來獲得最好的兼容性。
以 latin1(iso-8859-1)編碼存儲的舊西歐語言的 Unix 文本文件,“u-file.txt”,能通過如下所示的用 vim 輕易的編輯。
$ vim u-file.txt
這是可能的因為 vim 的文件編碼自動檢測機制先假定文件是 UTF-8 編碼,如果失敗了,則假定它是 latin1 編碼。
以 latin2(iso-8859-2) 編碼存儲的舊波蘭語的 Unix 文本文件,“pu-file.txt”,能通過如下所示的用 vim 編輯。
$ vim '+e ++enc=latin2 pu-file.txt'
以 eucJP 編碼存儲的舊日語的 Unix 文本文件,"ju-file.txt",能通過如下所示的用 vim 編輯。
$ vim '+e ++enc=eucJP ju-file.txt'
以所謂的 shift-JIS 編碼 (更確切的說法是:CP932) 存儲的舊日語 MS-Windows 文本文件,"jw-file.txt",能通過如下所示的用 vim 編輯。
$ vim '+e ++enc=CP932 ++ff=dos jw-file.txt'
當(dāng)一個文件用 vim 打開的時候帶有 "++enc" 和 "++ff" 選項,在 Vim 命令行輸入 ":w" 命令會以原格式存儲文件并且會覆蓋原文件。你也可以在 Vim 命令行指定存儲文件名及其格式,例如,":w ++enc=utf8 new.txt"。
請查閱 vim 在線幫助中的 mbyte.txt,"多字節(jié)文本支持"和表 11.2 “編碼值和用法的列表”來獲得 "++enc" 使用的本地值的信息。
emacs 家族的程序能夠?qū)崿F(xiàn)同樣的功能。
11.1.7. 提取純文本
如下所示讀入 web 頁面并把它轉(zhuǎn)化成文本文件。當(dāng)從 Web 中拷貝配置或者是在 web 頁面中應(yīng)用類似 grep(1) 的基礎(chǔ) Unix 文本工具時,以下命令是非常有用的。
$ w3m -dump http://www.remote-site.com/help-info.html >textfile
同樣,你可以使用如下所示的工具從其他格式提取純文本數(shù)據(jù)。
表 11.5. 用于提取純文本數(shù)據(jù)的工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 功能 |
|---|---|---|---|---|
w3m |
V:25, I:221 | 2367 | html→text | 用 "w3m -dump" 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)換器 |
html2text |
V:2, I:27 | 274 | html→text | 高級的 HTML 到文本文件的轉(zhuǎn)換器 (ISO8859-1) |
lynx |
V:16, I:113 | 1949 | html→text | 用 "lynx -dump" 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)化器 |
elinks |
V:5, I:25 | 1763 | html→text | 用 "elinks -dump" 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)換器 |
links |
V:5, I:35 | 2286 | html→text | 用 "links -dump" 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)換器 |
links2 |
V:1, I:13 | 5459 | html→text | 用 "links2 -dump" 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)換器 |
catdoc |
V:21, I:127 | 686 | MSWord→text,TeX | 轉(zhuǎn)化 MSWord 文件到純文本或 TeX文件 |
antiword |
V:1, I:9 | 589 | MSWord→text,ps | 轉(zhuǎn)化 MSWord 文件到純文本或 ps 文件 |
pstotext |
V:0, I:2 | 126 | ps/pdf→text | 從 PostScript 和 PDF 文件里導(dǎo)出文本 |
unhtml |
V:0, I:0 | 43 | html→text | 從一個 HTML 文件里面刪除標(biāo)記標(biāo)簽 |
odt2txt |
V:1, I:12 | 60 | odt→text | 從開放文檔格式到文本格式的轉(zhuǎn)化器 |
11.1.8. 高亮并格式化純文本數(shù)據(jù)
你可以通過如下所示的來高亮并格式化純文本數(shù)據(jù)。
表 11.6. 高亮純文本數(shù)據(jù)的工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
vim-runtime |
V:19, I:427 | 32763 | 高亮 | 用 ":source $VIMRUNTIME/syntax/html.vim" Vim 宏命令轉(zhuǎn)化源代碼到 HTML |
cxref |
V:0, I:0 | 1193 | c→html | 從 C 程序到 latex 和 HTML 的轉(zhuǎn)換器(C語言) |
src2tex |
V:0, I:0 | 622 | 高亮 | 轉(zhuǎn)換許多源代碼到 TeX(C語言) |
source-highlight |
V:0, I:7 | 1991 | 高亮 | 轉(zhuǎn)換源代碼到帶有高亮顯示的 HTML, XHTML, LaTeX, Texinfo, ANSI 顏色轉(zhuǎn)義序列和 DocBook 文件 (C++) |
highlight |
V:0, I:8 | 1079 | 高亮 | 轉(zhuǎn)化許多源代碼到帶有高亮顯示的 HTML, XHTML, RTF, LaTeX, TeX or XSL-FO 文件。(C++) |
grc |
V:0, I:4 | 208 | text→有顏色的 | 用于任何文本的通用顏色生成器 (Python) |
pandoc |
V:9, I:48 | 151715 | text→any | 通用標(biāo)記轉(zhuǎn)化器 (Haskell) |
python3-docutils |
V:14, I:47 | 1810 | text→any | 重構(gòu)文本文檔到 XML (Python) |
markdown |
V:0, I:10 | 57 | text→html | Markdown 文本文檔到 (X)HTML (Perl) |
asciidoctor |
V:0, I:8 | 99 | text→any | AsciiDoc 文本文檔格式化到 XML/HTML (Ruby) |
python3-sphinx |
V:6, I:21 | 2763 | text→any | 基于文檔發(fā)布系統(tǒng) (Python)重構(gòu)文本 |
hugo |
V:0, I:4 | 48225 | text→html | 基于 Markdown 的靜態(tài)站點發(fā)布系統(tǒng)(Go) |
11.2. XML 數(shù)據(jù)
擴(kuò)展標(biāo)記語言 Extensible Markup Language (XML) 是一種標(biāo)記語言,用于含有結(jié)構(gòu)化信息的文檔。
在 XML.COM 查看介紹信息.
-
"什么是 XML?"
-
"什么是 XSLT?"
-
"什么是 XSL-FO?"
-
"什么是 XLink?"
11.2.1. XML 的基本提示
XML 文本看起來有些像 HTML.它能夠使我們管理一個文檔的多個格式。一個簡單的 XML 系統(tǒng)是 docbook-xsl 軟件包,在這里使用。
每一個 XML 文件使用下面的標(biāo)準(zhǔn) XML 聲明開始。
XML 元素的基本語法是按下面的方式標(biāo)記。
content
內(nèi)容為空的 XML 元素,使用下面的短格式標(biāo)記。
上面列子中的 "attribute="value"" 是可選的。
XML 里面的注釋部分,是按下面的方式標(biāo)記。
不同于增加標(biāo)記,XML 至少要求使用預(yù)定義實體里的內(nèi)容來轉(zhuǎn)化下列字符。
表 11.7. XML 預(yù)定義實體列表
| 預(yù)定義實體 | 轉(zhuǎn)化的字符 |
|---|---|
" |
" : 引號 |
' |
' : 撇號 |
< |
< : 小于號 |
> |
> : 大于號 |
& |
& :&號 |
| 小心 | |
|---|---|
|
“ |
| 注意 | |
|---|---|
|
當(dāng) SGML 式樣的用戶定義實體,比如 " |
| 注意 | |
|---|---|
|
只要 XML 標(biāo)記是一致使用某一標(biāo)簽名集合(一些數(shù)據(jù)作為內(nèi)容或?qū)傩灾担?,使?Extensible Stylesheet Language Transformations (XSLT) 來轉(zhuǎn)換到另外一個 XML,是一個微不足道的任務(wù)。 |
11.2.2. XML 處理
有許多工具可以用于處理 XML 文件,比如說: 可擴(kuò)展樣式表語言 Extensible Stylesheet Language (XSL).
一旦你創(chuàng)建了一個好的成形的 XML 文件,基本上來講,你就可以使用 可擴(kuò)展樣式表語言轉(zhuǎn)換 Extensible Stylesheet Language Transformations (XSLT),將其轉(zhuǎn)換成任何格式。
格式化對象的可擴(kuò)展樣式表語言 Extensible Stylesheet Language for Formatting Objects (XSL-FO) 是用來作為格式化的解決方案. fop 軟件包比 Debian main 檔案庫要新,因為它依賴 Java 編程語言. LaTeX 代碼通常是從 XML 使用 XSLT 生成,LaTeX 系統(tǒng)是用來創(chuàng)建 DVI, PostScript 和 PDF 這類可打印的文件。
表 11.8. XML 工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
docbook-xml |
I:351 | 2134 | xml | DocBook 的 XML 文檔類型定義(DTD) |
docbook-xsl |
V:11, I:147 | 14870 | xml/xslt | 使用 XSLT 將 DocBook XML 處理成各種輸出格式的 XSL 樣式表 |
xsltproc |
V:14, I:93 | 160 | xslt | XSLT 命令行處理器 (XML→ XML, HTML, 純文本,等等) |
xmlto |
V:1, I:20 | 130 | xml/xslt | 使用 XSLT 將 XML 轉(zhuǎn)換到任意格式的轉(zhuǎn)換器 |
fop |
V:1, I:18 | 291 | xml/xsl-fo | 轉(zhuǎn)換 Docbook XML 文件到 PDF |
dblatex |
V:3, I:14 | 4643 | xml/xslt | 使用 XSLT 將 Docbook 文件轉(zhuǎn)換為 DVI, PostScript, PDF 文檔 |
dbtoepub |
V:0, I:0 | 37 | xml/xslt | DocBook XML 到 .epub 轉(zhuǎn)換 |
由于 XML 是 標(biāo)準(zhǔn)通用標(biāo)記語言 Standard Generalized Markup Language (SGML)的一個子集,用于處理 SGML 的擴(kuò)展工具,也能夠處理 XML,比如說 文檔式樣語言和規(guī)范語言 Document Style Semantics and Specification Language (DSSSL).
表 11.9. DSSSL 工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
openjade |
V:2, I:34 | 1019 | dsssl | ISO/IEC 10179:1996 標(biāo)準(zhǔn) DSSSL 處理器 (最新的) |
docbook-dsssl |
V:1, I:19 | 2605 | xml/dsssl | 使用 DSSSL 處理 DocBook XML 到各種輸出格式的 DSSSL 樣式表 |
docbook-utils |
V:0, I:14 | 287 | xml/dsssl | DocBook 文件的工具包,包括使用 DSSSL 的轉(zhuǎn)換成其它格式 (HTML, RTF, PS, man, PDF)的 docbook2* 命令 |
sgml2x |
V:0, I:0 | 90 | SGML/dsssl | SGML 和 XML 使用 DSSSL 樣式表的轉(zhuǎn)換器 |
| 提示 | |
|---|---|
|
GNOME 的 |
11.2.3. XML 數(shù)據(jù)提取
使用下面的方法,你能夠從其它格式提取 HTML 或 XML 數(shù)據(jù)。
表 11.10. XML 數(shù)據(jù)提取工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
man2html |
V:0, I:2 | 138 | man 手冊頁→html | 從 man 手冊頁到 HTML 的轉(zhuǎn)換器(支持 CGI) |
doclifter |
V:0, I:0 | 451 | troff→xml | troff 到 DocBook XML 的轉(zhuǎn)換器 |
texi2html |
V:0, I:7 | 1833 | texi→html | 從 Texinfo 到 HTML 的轉(zhuǎn)換器 |
info2www |
V:1, I:2 | 76 | info→html | 從 GNU info 到 HTML 的轉(zhuǎn)換器 (支持 CGI) |
wv |
V:0, I:6 | 717 | MSWord→任何格式 | 從微軟 Word 格式到 HTML, LaTeX, 等格式的文件轉(zhuǎn)換器。 |
unrtf |
V:0, I:4 | 148 | rtf→html | 從 RTF 到 HTML 等的轉(zhuǎn)換器 |
ooo2dbk |
V:0, I:0 | 217 | sxw→xml | 從 OpenOffice.org SXW 文檔到 DocBook XML 的轉(zhuǎn)換器 |
wp2x |
V:0, I:0 | 202 | WordPerfect→任意格式 | WordPerfect 5.0 和 5.1 文件到 TeX, LaTeX, troff, GML 和 HTML |
11.2.4. XML 數(shù)據(jù)檢查
對于非 XML 的 HTML 文件,你能夠轉(zhuǎn)換它們?yōu)?XHTML,XHTML 是一個相當(dāng)成型的 XML 實例。XHTML 能夠被 XML 工具處理.
XML 文件的語法和在它們中發(fā)現(xiàn)的 URL 的完整性,能夠被檢查。
表 11.11. XML 美化打印工具列表
| 軟件包 | 流行度 | 大小 | 功能 | 說明 |
|---|---|---|---|---|
libxml2-utils |
V:20, I:224 | 186 | xml?html?xhtml | 使用 xmllint(1) 的 XML 命令行工具 (語法檢查,重新格式化,梳理, …) |
tidy |
V:1, I:12 | 84 | xml?html?xhtml | HTML 語法檢查和重新格式化 |
weblint-perl |
V:0, I:1 | 32 | 檢查 | 用于 HTML 的小巧的語法檢查器 |
linklint |
V:0, I:0 | 344 | 鏈接檢查 | 快速的網(wǎng)站維護(hù)工具及鏈接檢查器 |
一旦適當(dāng)?shù)?XML 生成,基于標(biāo)記的內(nèi)容等,你能夠使用 XSLT 技術(shù)提取數(shù)據(jù)。
11.3. 排版
Unix上的 troff 程序最初是由 AT&T 公司開發(fā)的,可以被用做簡單排版?,F(xiàn)在被用來創(chuàng)建手冊頁。
Donald Knuth 發(fā)明的 Tex 是非常強大的排版工具也是實際上的標(biāo)準(zhǔn)。最初是由 Leslie Lamport 開發(fā)的 LaTex 使得用戶可以更為方便的利用 Tex 的強大功能。
表 11.12. 排版工具的列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
texlive |
V:4, I:44 | 72 | (La)TeX | 用于排版、預(yù)覽和打印的 TeX 系統(tǒng) |
groff |
V:4, I:53 | 11870 | troff | GNU troff 文本格式化系統(tǒng) |
11.3.1. roff 排版
傳統(tǒng)意義上,roff 是 Unix 上主要的文本處理系統(tǒng)。參見 roff(7), groff(7), groff(1), grotty(1), troff(1), groff_mdoc(7), groff_man(7), groff_ms(7), groff_me(7), groff_mm(7) 和 "info groff"。
安裝好 groff 軟件包以后,你輸入 "-me" 宏指令就能看到一份不錯的指導(dǎo)手冊,它的位置是 "/usr/share/doc/groff/"。
| 提示 | |
|---|---|
|
" |
| 提示 | |
|---|---|
|
如果想要移除 |
11.3.2. TeX/LaTeX
Tex Live 軟件提供了全部的 TeX 系統(tǒng)。texlive 元包只是 TeX Live 中的一部分,但是它足夠應(yīng)付日常任務(wù)。
這里有許多可用的 TeX 和 LaTeX 的參考資料。
-
The teTeX HOWTO: The Linux-teTeX Local Guide
-
tex(1) -
latex(1) -
texdoc(1) -
texdoctk(1) -
"The TeXbook", 作者 Donald E. Knuth, (Addison-Wesley)
-
"LaTeX - A Document Preparation System", 作者 Leslie Lamport, (Addison-Wesley)
-
"The LaTeX Companion", 作者 Goossens, Mittelbach, Samarin, (Addison-Wesley)
這是最強大的排版環(huán)境。許多 SGML 處理器把它作為其后臺字處理工具。lyx 軟件包提供的 Lyx 和 texmacs 軟件包提供的 GNU TeXmacs 都為 LaTeX 提供了非常不錯的所見即所得的編輯環(huán)境,然而許多人使用 Emacs 和 Vim 作為其源代碼編輯器。
有許多在線資源存在。
-
TEX Live Guide - TEX Live 2007 ("
/usr/share/doc/texlive-doc-base/english/texlive-en/live.html") (texlive-doc-base包) -
Latex/Lyx 的一個簡單指引
-
使用 LaTeX 進(jìn)行文字處理
-
teTeX/LaTeX 的本地用戶指引
當(dāng)文檔變得更大時,TeX 有時會出錯。你必須在 "/etc/texmf/texmf.cnf" 中增加 pool 的大小 (更確切的說話是編輯是 "/etc/texmf/texmf.d/95NonPath" 并且運行 update-texmf(8)) 來修復(fù)此問題。
| 注意 | |
|---|---|
|
"The TeXbook" 的 TeX 源碼可以從 http://tug.ctan.org/tex-archive/systems/knuth/dist/tex/texbook.tex 上下載。此文件包含了絕大多數(shù)所需的宏指令。我聽說把文檔中的第7到第10行注釋了并且添加 " |
11.3.3. 漂亮的打印手冊頁
你能夠用如下任意一個命令在打印機上漂亮的打印手冊頁。
$ man -Tps some_manpage | lpr
11.3.4. 創(chuàng)建手冊頁
盡管用純 troff 格式寫手冊頁(manpage)是可能的,這里還是有一些輔助的程序包用于創(chuàng)建手冊頁。
表 11.13. 創(chuàng)建手冊頁的工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
docbook-to-man |
V:0, I:11 | 191 | SGML→man 手冊頁 | 從 DocBook SGML 到 roff 手冊頁宏指令的轉(zhuǎn)換器 |
help2man |
V:0, I:9 | 509 | text→man 手冊頁 | 通過 --help 參數(shù)自動生成手冊頁的工具 |
info2man |
V:0, I:0 | 135 | info→man 手冊頁 | 轉(zhuǎn)換 GNU info 到 POD 或手冊頁的轉(zhuǎn)換器 |
txt2man |
V:0, I:1 | 114 | text→man 手冊頁 | 把純粹的 ASCII 文本轉(zhuǎn)化為手冊頁格式 |
11.4. 可印刷的數(shù)據(jù)
在 Debian 系統(tǒng)中,可打印的數(shù)據(jù)是 PostScript 格式的。對于非 PostScript 打印機,通用 Unix 打印系統(tǒng) (CUPS) 使用 Ghostscript 作為其后臺光柵處理程序。
11.4.1. Ghostscript
處理可印刷的數(shù)據(jù)的核心是 Ghostscript PostScript 解釋器,它能夠生成光柵圖像。
表 11.14. Ghostscript PostScript 解釋器列表
| 軟件包 | 流行度 | 大小 | 說明 |
|---|---|---|---|
ghostscript |
V:202, I:531 | 234 | GPL Ghostscript PostScript/PDF 解釋器 |
ghostscript-x |
V:8, I:60 | 226 | GPL Ghostscript PostScript/PDF 解釋器-X 顯示支持 |
libpoppler102 |
V:147, I:277 | 4274 | PDF 渲染庫 (xpdf PDF 瀏覽器的分支) |
libpoppler-glib8 |
V:254, I:478 | 445 | PDF 渲染庫(基于 Glib 的共享庫) |
poppler-data |
V:112, I:620 | 13089 | 用于 PDF 渲染庫的 CMaps (CJK 支持:Adobe-*) |
| 提示 | |
|---|---|
|
" |
11.4.2. 合并兩個 PS 或 PDF 文件
你能夠使用 Ghostscript 中的 gs(1) 來合并兩個 PostScript(PS) 或可移植文檔格式(PDF) 文件。
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=bla.ps -f foo1.ps foo2.ps $ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=bla.pdf -f foo1.pdf foo2.pdf
| 注意 | |
|---|---|
|
PDF 是用途很廣的跨平臺可印刷的數(shù)據(jù)格式,它本質(zhì)上是帶有一些額外特性和擴(kuò)展的壓縮了的 PS 格式。 |
| 提示 | |
|---|---|
|
對于命令行來說, |
11.4.3. 處理可印刷數(shù)據(jù)的工具
如下是處理可印刷數(shù)據(jù)的工具列表。
表 11.15. 處理可印刷數(shù)據(jù)的工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
poppler-utils |
V:195, I:367 | 689 | pdf→ps,text,… | PDF 工具:pdftops, pdfinfo, pdfimages, pdftotext, pdffonts |
psutils |
V:6, I:91 | 219 | ps→ps | PostScript 文件轉(zhuǎn)換工具 |
poster |
V:0, I:4 | 58 | ps→ps | 用 PostScript 頁制作大型海報 |
enscript |
V:1, I:18 | 2132 | text→ps, html, rtf | 轉(zhuǎn)化 ASCII 文本到 PostScript, HTML, RTF 或 Pretty-Print |
a2ps |
V:1, I:14 | 3648 | text→ps | '任何文本到 PostScript' 的轉(zhuǎn)換器并且也是相當(dāng)不錯的打印程序 |
pdftk |
I:49 | 28 | pdf→pdf | PDF 文檔轉(zhuǎn)換工具:pdftk |
html2ps |
V:0, I:3 | 261 | html→ps | 從 HTML 到 PostScript 的轉(zhuǎn)換器 |
gnuhtml2latex |
V:0, I:1 | 27 | html→latex | 從 html 到 latex 的轉(zhuǎn)換器 |
latex2rtf |
V:0, I:5 | 480 | latex→rtf | 轉(zhuǎn)換 LaTeX 文檔到能被 Microsoft Word 讀取的 RTF 格式的文檔 |
ps2eps |
V:3, I:56 | 99 | ps→eps | 從 PostScript 到 EPS(Encapsulated PostScript)的轉(zhuǎn)換器 |
e2ps |
V:0, I:0 | 109 | text→ps | 帶有日文編碼支持的文本到 PostScript 轉(zhuǎn)換器 |
impose+ |
V:0, I:0 | 119 | ps→ps | PostScript 工具 |
trueprint |
V:0, I:0 | 146 | text→ps | 漂亮的打印許多源程序(C, C++, Java, Pascal, Perl, Pike, Sh, 和 Verilog)到 PostScript。(C 語言) |
pdf2svg |
V:0, I:4 | 30 | ps→svg | PDF 到可升級的向量圖形格式的轉(zhuǎn)換器 |
pdftoipe |
V:0, I:0 | 70 | ps→ipe | 從 PDF 到 IPE‘s XML 格式的轉(zhuǎn)換器 |
11.4.4. 用 CUPS 打印
Unix 通用打印系統(tǒng)(CUPS) 中的 lp(1) 和 lpr(1) 命令都提供了自定義打印數(shù)據(jù)的選項。
你可以使用下列命令中的一個來打印 3 份有裝訂頁碼的文件。
$ lp -n 3 -o Collate=True filename
$ lpr -#3 -o Collate=True filename
你能夠通過 "-o number-up=2", "-o page-set=even", "-o page-set=odd", "-o scaling=200", "-o natural-scaling=200" 等等打印機選項來進(jìn)一步定制打印機操作,詳細(xì)的文檔參見命令行打印和選項。
11.5. 郵件數(shù)據(jù)轉(zhuǎn)換
下列郵件數(shù)據(jù)轉(zhuǎn)換軟件包捕獲了我的眼球。
表 11.16. 有助于郵件數(shù)據(jù)轉(zhuǎn)換的軟件包列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
sharutils |
V:3, I:47 | 1421 | 郵件 | shar(1), unshar(1), uuencode(1), uudecode(1) |
mpack |
V:1, I:16 | 107 | MIME | 編碼和解碼 MIME 信息: mpack(1) 和 munpack(1) |
tnef |
V:1, I:9 | 110 | ms-tnef | 解包 MIME 附件類型 "application/ms-tnef",該格式僅由微軟使用 |
uudeview |
V:0, I:4 | 109 | 郵件 | 下列格式的編碼器和解碼器: uuencode, xxencode, BASE64, quoted printable 和 BinHex |
| 提示 | |
|---|---|
|
如果郵件客戶端可以配置使用 IMAP4 服務(wù)器,互聯(lián)網(wǎng)消息訪問協(xié)議 版本 4 (IMAP4) 服務(wù)器可以用來把郵件從專有郵件系統(tǒng)里面移出來。 |
11.5.1. 郵件數(shù)據(jù)基礎(chǔ)
郵件 (SMTP) 數(shù)據(jù)需要被限制為 7 位數(shù)據(jù)序列。二進(jìn)制數(shù)據(jù)和 8 位文本數(shù)據(jù)使用 Multipurpose Internet Mail Extensions (MIME) 互聯(lián)網(wǎng)多用途郵件擴(kuò)展 和選擇的字符集編碼到 7 位格式。(參見 表 11.2 “編碼值和用法的列表”)。
標(biāo)準(zhǔn)的郵件存儲格式是 mbox,它是依據(jù) RFC2822 (由 RFC822 更新) 來的格式. 參見 mbox(5) (由 mutt 軟件包提供).
對于歐洲語言,由于沒有什么 8 位字符,"Content-Transfer-Encoding: quoted-printable" 加 ISO-8859-1 字符集通常被用于郵件。如果歐洲文本是被編碼為 UTF-8,由于幾乎全是 7 位數(shù)據(jù),使用 "Content-Transfer-Encoding: quoted-printable" 也是合適的。
對于日語,傳統(tǒng)的 "Content-Type: text/plain; charset=ISO-2022-JP" 通常被用于郵件來保持文本在 7 位。但是老的微軟系統(tǒng)會在沒有聲明的情況下使用 Shift-JIS 來發(fā)送郵件。如果日語文本是用 UTF-8 編碼, 由于含有許多 8 位數(shù)據(jù),使用 Base64 是合適的。其它亞洲語言也是類似情形。
| 注意 | |
|---|---|
|
如果你的非 Unix 郵件數(shù)據(jù)可以通過一個具備和 IMAP4 服務(wù)通訊的非 Debian 客戶端訪問,你可以通過運行你的 IMAP4 服務(wù)來將郵件數(shù)據(jù)移出。 |
| 注意 | |
|---|---|
|
如果你使用其它郵件存儲格式,第一步把它們移動到 mbox 格式比較好。像 |
你可以使用 procmail(1) 和 formail(1) 把郵箱內(nèi)容分開成每一封郵件.
每一封郵件能夠使用來自 mpack 軟件包的 munpack(1) 命令(或其它特異的工具)來獲得 MIME 編碼內(nèi)容。
11.6. 圖形數(shù)據(jù)工具
如下是關(guān)于圖形數(shù)據(jù)轉(zhuǎn)換、編輯和管理的工具包。
表 11.17. 圖形數(shù)據(jù)工具列表
| 軟件包 | 流行度 | 大小 | 關(guān)鍵詞 | 說明 |
|---|---|---|---|---|
gimp |
V:61, I:300 | 19827 | 圖形(位圖) | GNU 圖形處理程序 |
imag |


咨詢
建站咨詢
