王爽 趙會洋
摘要:LaTex是國際公認的一個非常出色的排版工具,對各類科技工作者的研究發表起著非常重要的輔助作用。該文采用理論與實踐相結合的方法研究了LaTex中選項的設計與使用方法。首先闡明了選項的使用步驟,最后通過綜合實驗對選項的作用進行了例證。本研究對靈活運用LaTex進行排版具有實際意義。
關鍵詞:LaTex;排版;選項;文檔類
中圖分類號:TP317? ? ? 文獻標識碼:A? ? ? 文章編號:1009-3044(2019)03-0213-02
Abstract: LaTex is internationally recognized as a great typography tool. For all kinds of science and technology workers, it plays a very important supporting role. In this paper, the design and usage of option in LaTex are studied combining theory and practice. Firstly, we describe the steps of using options. At last, the role of options is illustrated through comprehensive experiment. The contents of this paper have practical significance on the flexible typesetting using LaTex.
Key words: LaTex; typesetting; option; Document Class
1 概述
TEX 是高德納 (Donald E.Knuth) 開發的,一款專業的文獻排版軟件,可以方便地對文字、表格和數學公式等進行排版[1]。LaTeX是Leslie Lamport 博士[2]開發的排版軟件,是對TEX的封裝和拓展,擁有比原來TEX格式更為規范的命令,可以讓使用者更方便地進行文獻排版。LaTeX 是國際學術界最流行的排版系統之一, 許多國際著名的出版機構和期刊編輯部都要求或推薦其作者使用 LaTeX 投稿[3]。因此,關于LaTex 的學習和應用也取得了學者們的關注[4, 5]。本文研究LaTex模板定制中比較重要的內容之一,即選項。
2 選項的定義與使用方法
LaTex中選項的定義與使用可分為四個步驟:一是載入選項的處理包,以xkeyval為例;二是聲明每個選項如何處理;三是執行選項的處理;四是在tex文件中傳遞選項;五是在文檔區(正文區)顯示選項的處理結果。其中第五步也可能不需要。下面具體闡述每個步驟如何進行。
2.1 載入宏包
要處理文檔類的選項,首先要載入相應的宏包,本例中使用RequirePackage命令載入xkeyval宏包,具體方式如下:
2.2 選項的聲明
其中,prefix是前綴,family是分組,key是選項名,default是選項的默認值,function是聲明如何處理這一選項。另外,用花括號包括起來的部分是必須的,例如key和function。其他部分是可選的,例如prefix、family和default。function本身可以為空,但是外面的一對{}不能省略。為了避免出現自定義key和系統的key或者其他包的key出現相同的名字而出現沖突,或者是區分含義相同但是作用范圍不同的key,可以通過prefix和family來區分它們。例如:聲明兩個選項,一個是作者個數,一個是期刊的名稱,聲明方法如圖1所示。
在圖1中,定義的第一個key是作者個數authornum,其prefix是my,family是title。它的函數體是定義了一個新的宏命令\mytitle@author。為了簡明扼要的說明工作原理,新宏的函數體只是輸出作者的個數,其中的#1代表選項authornum的傳入值。定義的第二個key是期刊名稱journal,其prefix是my,family是content。它的函數體是定義了一個新的宏命令\mycontent@journal。新宏的函數體作用是輸出期刊的名字,其中的#1代表選項journal的傳入值。
2.3 選項的執行
選項在定義之后并不會自動執行,而是需要通過其他命令激活它。一種常見情況是使用ProcessOptionsX命令激活選項的執行。ProcessOptionsX命令的使用格式如下:
上述命令中,除了命令關鍵字ProcessOptionsX必不可少外,其他內容都是可以省略的,一般與DeclareOptionX保持一致。即如果聲明選項是指定了prefix和familiy,則執行時也加上相應的prefix和family。na是聲明不需要處理的選項。以上面定義的兩個選項為例,其具體執行方法如圖2所示。
2.4 選項的傳遞
在調用文檔類或宏包時,傳入用戶需要設置的選項。傳選項的格式如下:
這是兩種傳選項的方式,其中,第一種是向文檔類傳遞選項,第二種是向宏包傳遞選項。選項列表中可以包含多個選項。
假設上面幾個步驟的內容保存在名為myarticle的文檔類中,則用戶在tex文件中傳遞選項的方式如下:
在該示例中,向文檔類myarticle中傳入兩個選項,分別是authornum和journal。
2.5 選項的結果顯示
當編譯執行tex文件時,選項就會被傳遞到文檔類中,并執行文檔類的內容,選項的聲明和執行語句就會被觸發。但是選項執行的結果不一定需要顯示出來。本例中,為了展示選項的執行流程和結果,在文檔類myarticle中定義了兩個命令,并在tex文件的文檔區調用這兩個命令。這兩個命令的定義和調用分別如圖3和圖4所示。
3 選項的應用實驗
本節通過定制一個簡單的畢業論文封面,來進一步綜合利用上述知識。
3.1 定制文檔類
文檔類是為了方便用戶排版作品而定制的模板,其主要定義各種LaTex命令。本例中定義的命令主要用來處理選項。文檔類的主要內容如圖6和圖7所示。
在圖8中位于頂端的是論文層次標識。當選項degree=doctor時,圖中的Master將會被Ph.D.取代。接著是設置了20pt的垂直間距,然后顯示論文的題目。在20pt的間距后,輸出學生的個人信息。所有信息通過表格tabular進行排版。院系Depart后的內容根據選項depart的值進行調整。
4 結束語
本文通過理論與實踐相結合的方法研究了LaTex中選項的設計與使用方法。首先詳述了選項的定義與使用步驟,包括選項的聲明、選項的執行等步驟。接著通過一個綜合實驗闡明了選項的使用效果。通過本文的研究內容可以靈活掌握選項的使用,為設計出適合的模板打下基礎。
參考文獻:
[1] Knuth D E. The TEXbook, volume A of Computers and typesetting[M]. Addison-Wesley, Reading, Massachusetts. 1984.
[2] Lamport L. LATEX: a document preparation system: user's guide and reference manual[M]. Addison-wesley, 1994.
[3] 龍靜, 尚嬋妤, 孫云志. 定制科技期刊LaTeX論文模板的思路和實踐[J]. 中國科技期刊研究, 2015, 26(9): 975-980.
[4] 劉海洋. LATEX 入門[M]. 北京: 電子工業出版社, 2013.
[5] 俞依玲, 張林琳. LaTeX軟件在學術論文排版中的應用[J]. 價值工程, 2012, 31(35): 209-210.
【通聯編輯:謝媛媛】