再來說說 LaTeX


在我的上一篇隨筆中,我提到了 Markdown、LaTeX 和 MathJax。這幾個東西對目前的網絡技術文章的寫作、展示都有深遠的影響。在上一篇中,我還給出了一份 LaTeX 語法的學習資料。在這一篇里,我想再來談談 LaTeX。

在很多人心中,LaTeX 是一個很專業的排版系統,同時也是一個很復雜的系統。說到專業,確實很多科技論文都是用 LaTeX 寫作,而且很多知名的雜志社只接受 LaTeX 格式的投稿,而且使用 LaTeX 排版得到的效果那是超級贊,特別是對科技論文中充斥的數學公式而言。說到復雜,不僅是因為 LaTeX 排版語言命令繁多,更因為它數之不盡的宏包,學習成本真的是相當相當相當的高。

對於一套 LaTeX 排版系統,它究竟包含哪些東西呢?我認為它主要可以分成這樣幾個部分:

  • 一個排版引擎,TeX 或 pdfTeX 或 XeTeX;
  • 一系列的字體;
  • 一系列的宏包;
  • 一些工具,比如用來查看各種排版引擎輸出的排版結果,或者在 dvi、ps、pdf 等格式之間的轉換。

而對於 LaTeX 排版系統的復雜性,我認為主要是由於歷史原因引起的,理由如下:

  • 最早的由 Knuth 教授寫的 TeX 引擎不支持 UTF-8 編碼的輸入文件,所以要讓它支持中文實在是太難了;
  • 最早的 TeX 系統自帶一套字體,要擴展它就得擴展相應領域的字體,比如 LaTeX 自帶豐富的數學字體,要把字體安裝到 TeX 系統中是一件非常復雜的事情;
  • 大量的第三方宏包,安裝和學習都非常困難;
  • 都什么年代了,誰還用 dvi 格式和 ps 格式啊,用 pdf 多方便啊。

對於這些歷史原因引起的復雜性,現在早就解決了,只是很多書籍沒有寫清楚而已。我認為現在用 LaTeX 其實很方便的,理由如下:

  • Knuth 教授的 Tex 引擎用來瞻仰即可,實際工作中使用 XeTeX 引擎,完美支持 Unicode 字符集和 UTF-8 編碼,中文再也不是問題;
  • 字體神馬的,Knuth 教授的 METAFONT 早過時了,現在誰還不用 TrueType 啊?好的字體當然少不了像 Microsoft、Adobe、Apple 這些既有錢又有品味的公司出品了;
  • XeTeX 引擎可以直接使用操作系統中安裝的字體,再也不用考慮把字體安裝到 TeX 系統中了;
  • XeTeX 引擎直接輸出 pdf 格式的文件;
  • 排版也可以有 IDE 工具,比如 TeXWorks;
  • 至於宏包太多這個問題,我們可以用現成的發行版嘛,比如 texlive 套裝。

下面開始實戰。我是在 Ubuntu 系統下使用 texlive,為了省事,我直接安裝了 texlive-full,使用如下命令:

sudo apt-get install texlive-full

然后,再安裝一個 TeXWorks,命令如下:

sudo apt-get install texworks

下面是 TexWorks 的工作界面,排版引擎一定要選擇 XeLaTex 哦。左邊是文檔編輯,右邊是預覽效果:

第一次運行是不可能成功的,因為還要像下面這樣設置一下字體。

如果要想順利地進行中文排版,必須得借用一點中文字體。中文排版所用到的字體一般有6種,分別是:宋體、楷體、黑體、仿宋體、隸書和幼圓。所以我從我的 Win7 系統下將這幾個字體拷貝到 Ubuntu 中,把它們扔到主目錄下的 .fonts 中即可。(隸書和幼圓要安裝了 Office 才有。)如下圖:

當然,如果不想完全達到 Windows 中的效果,也是可以不借用它的字體的。在 Linux 中,宋體、黑體和楷體是不缺的,其它字體就欠奉了。如果不借用 Windows 中的字體,則宋體可由 AR PL UMing 代替,楷體可由 AR PL UKai 代替,黑體可由 Droid Sans Fallback 代替,如下圖:

然后,修改 /usr/share/texlive/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def 中的字體名稱和上圖中 fc-list 輸出的字體名稱一一對應,如下圖:

看到上面的路徑是不是覺得它太長了?太難找了?的確如此,texlive 的路徑就是這么復雜。我第一次是根據錯誤信息找到的這個文件。

texlive-full 實在是太大了,我安裝的時候幾乎花了一夜的時間去下載。對於這么復雜的系統,它的各種配置文件啊、環境變量啊,都放在哪里呢?使用tlmgr conf命令即可查看,如下圖:

對於寫寫中文文檔,使用 ctex 宏包就足夠了。並不是很復雜。LaTeX 還有一些更加復雜的功能,比如制作幻燈片啊、繪圖啊什么的,都有相應的宏包可以使用,而且安裝 texlive-full 的時候,都安裝了非常詳細的幫助文檔,只需要打開/usr/share/texlive/doc.html這個文件,就可以看到所有宏包和幫助文檔的列表,我之前分享的《一份不太短的LaTeX介紹》里面有,經典的《Tex by Topic》里面也有,如下圖:

看到這個一公里長的幫助文檔列表,你有什么感想呢?

(京山游俠於2015-01-06發布於博客園,轉載請注明出處。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM