專業的LaTeX 在Linux下編寫高質量的文件

2021-06-04 13:02:44 字數 2385 閱讀 3966

(2009-10-29 13:59:54)

標籤:肖文鵬 (

[email protected]),碩士研究生, 北京理工大學計算機系

2003 年 10 月 01 日

linux下的openoffice、kword等字處理軟體雖然在功能上與microsoftword類似,但目前在易用性和可用性方面仍然存在許多不足,直接使用它們來生成高質量的文件顯然還不太現實。本文介紹如何用latex這一專業級的排版系統,在linux下編寫和生成高質量的科技**。
一、簡介

計算機技術的不斷進步推動了各行各業的飛速發展,使許多行業出現了革命性的變化,傳統的印刷出版業也逐漸告別了鉛與火的時代,開始普遍採用計算機排版系統。目前,大大小小的排版系統非常多,並且都有其自身特點和適用範圍,例如pagemaker比較適合於專業的出版社,而普通使用者在編排要求不高的稿件時使用word、wps等也不失為合適的選擇。但如果要用word這類所見即所得(wysiwyg)軟體編排學術**或者科技文獻,那麼一旦遇到複雜的數學公式和特殊字元,即便使出渾身解術,其結果也難以令人十分滿意。在這種場合下使用tex則是乙個不錯的選擇,它是一種使用方便、**低廉的專業級排版系統,在編排**、報告和書籍時,其輸出質量並不比**昂貴的大型計算機專業排版系統遜色,並且在某些方面(如數學公式的編排)仍然是目前排版質量最好的系統。

tex特別適合於科技**和書籍的排版,利用它可以在計算機上生成與印刷品幾乎完全一樣的作品,目前在國外已經被廣泛地用於編排書籍、檔案、學位**和私人信件,以及各種複雜的公式、目錄、索引和參考文獻等。由於使用tex可以很輕鬆地完成高質量科技文獻的排版工作,並且可以按照作者的要求進行擴充和修改,所以逐漸引起出版界和各國科技工作者的注意,被一致認為是目前國際上排版數學公式能力最強的系統,並且在各種國際會議上被指定為標準的**編排軟體。

稍有經驗的人都會知道,即使再好的字處理軟體列印出來的效果也都會跟螢幕上看到的有所差異。而tex系統的輸出是與裝置無關的dvi(deviceindependent)檔案,因此無論是在針式印表機、噴墨印表機、雷射印表機或是照排機上,其效果都是完全相同的,僅僅只是文字或者圖形的分辯率因裝置的不同而稍有差異。從某種意義上說,tex才是真正的"所見即所得"。

二、tex系統

tex系統的發明者是美國stanford大學的donald e.knuth教授,他是整個計算機學術界的泰斗級人物,也是享有盛譽的計算機程式設計系列專著《計算機程式設計的藝術》(the art ofcomputerprogramming)的作者,tex的出現與這本舉世聞名的計算機理論書籍有著密不可分的聯絡。2023年,當出版社要求knuth教授對他六十年代的力作《計算機程式設計的藝術》出修訂版時,他感到以手工方式對原稿進行修改存在種種不便,於是便放下手頭的工作,開始設計一套高質量的計算機排版系統。原先計畫只花半年時間來改進排版技術然後繼續寫作的knuth教授,最後卻整整耗費了十年心血,終於研製成功了聞名於世的tex系統。

與其它計算機排版系統不同的是,在用tex編排文件時,除了需要輸入正文內容之外,同時還需要加入一些排版命令,這些命令通常不是由編輯人員新增的,而是要由作者本人自己完成。tex系統提供的排版命令十分靈活,作者可以直接使用這些命令,也可以利用已有的功能來定義新的排版命令,使之適應特定場合的需要。

tex與linux的kernel一樣,只是一套核心技術,實際應用時往往需要在tex的基礎上繼續開發。最初的tex系統提供了300多條基本命令,功能雖然強大,但使用起來卻不那麼方便。為此knuth教授在這些基本命令的基礎上定義了600多條復合命令,構成了名為plain tex的巨集包,只可惜由於無法與普通pc機相容,因此流傳得並不十分廣泛。

plaintex雖然比原始的tex更加方便,但其重點還只放在如何排版的層次上,在排版複雜公式時仍然需要大量命令,並且在挖掘它的深層功能時往往需要相當豐富的排版和程式設計技巧。好在tex系統提供了非常強大的巨集定義功能,因此很多人開始在tex之上進行二次開發,產生了一些tex系統的衍生版本,其中最著名的是由美國數學會(ams)組織人員開發的ams-tex和美國計算機學家leslielamport在二十世紀八十年代初開發的latex,其中前者適合於排版複雜的數學公式,而後者則適合於排版普通文章和書籍。latex提供了一整套生成複雜文件所需的高階命令,這樣即使作者沒有掌握複雜的排版和程式設計知識,也可以充分利用tex系統提供的強大功能,輕輕鬆鬆地完成標題、章節、**、目錄、索引、公式、圖表等的編排。

隨著latex的逐漸普及,它在許多原本沒有想到的領域中得到了擴充套件,為了建立乙個統一的標準,leslielamport、frank mittelbach、chris rowley和rainersch?pf在2023年開始了名為latex3的專案,旨在建立乙個最優的命令集合。該項目的第乙個里程碑是在2023年發布的latex2e,它是latex3出現之前的現行標準版本。

三、latex排版流程

在使用latex進行排版時,從輸入文字到最後在印表機上得到輸出結果,通常需要經過如圖1所示的幾個步驟。

圖1latex排版流程

在Ubuntu Linux 下配置Latex環境

由美國計算機學家萊斯利 蘭伯特 leslie lamport 在20世紀80年代初期開發,利用這種格式,即使使用者沒有排版和程式設計的知識也可以充分發揮由tex所提供的強大功能,能在幾天 甚至幾小時內生成很多具有書籍質量的印刷品。對於生成複雜 和數學公式,這一點表現得尤為突出。因此它非常適用於生成高...

Linux下Latex書寫中文的點滴體會

剛剛接觸,也不是特別懂,只是把自己遇到的問題和解決辦法寫出來。我使用vim來寫latex源 使用了vim的latexsuite外掛程式,它提供了語法高亮,編譯和用xdvi檢視的快捷鍵 ll編譯,ln檢視,當然首先要安裝好latex 安裝latex有關的一系列程式這裡就不多說了。我安裝了兩種字型,ut...

linux下latex中文配置(非常簡單)

1 先期tex包的安裝 apt get install tetex bin tetex base tetex extra cjk latex dvipdfm cjk cmap 然後上 mkdir texmf cd texmf gbkfonts usr share fonts zh simsun.tt...