亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于程序員思維研究LaTex排版

        2019-07-01 02:35:55王爽趙會(huì)洋

        王爽 趙會(huì)洋

        摘 要:LaTex是國(guó)際公認(rèn)的一個(gè)非常出色的排版工具,對(duì)各類科技工作者的研究發(fā)表起著非常重要的輔助作用。不同于Word排版的所見(jiàn)即所得,LaTex是基于不同的命令實(shí)現(xiàn)排版的,因此對(duì)于初學(xué)者來(lái)說(shuō)有一定的難度。本文基于程序員的思維,研究編程中的變量、函數(shù)等重要內(nèi)容與LaTex排版的關(guān)系。這對(duì)快速學(xué)習(xí)與掌握LaTex具有重要的作用,對(duì)靈活運(yùn)用LaTex進(jìn)行排版具有實(shí)際意義。

        關(guān)鍵詞: LaTex;編程;排版;變量;函數(shù)

        文章編號(hào): 2095-2163(2019)03-0199-03 中圖分類號(hào): TP317.2 文獻(xiàn)標(biāo)志碼: A

        0 引 言

        TEX 是高德納 (Donald E.Knuth) 開(kāi)發(fā)的、以排版文字和數(shù)學(xué)公式為目的的一個(gè)計(jì)算機(jī)軟件[1]。LaTeX是對(duì)TEX的封裝和拓展,擁有比原來(lái)TEX格式(Plain TEX)更為規(guī)范的命令和一整套預(yù)定義的格式,隱藏了不少排版方面的細(xì)節(jié),可以讓使用者相對(duì)容易地以較高質(zhì)量排版和印刷擬發(fā)表的作品。LaTeX 的最初開(kāi)發(fā)者為 Lamport 博士[2]。目前,LaTeX已成為國(guó)際學(xué)術(shù)界熱門(mén)流行的排版系統(tǒng)之一 許多國(guó)際著名的出版機(jī)構(gòu)和期刊編輯部都要求或推薦其作者使用 LaTeX 投稿[3]。關(guān)于LaTex 的基礎(chǔ)知識(shí)和在科技論文寫(xiě)作中的應(yīng)用 在國(guó)內(nèi)外的文獻(xiàn)中也可見(jiàn)到相關(guān)報(bào)道及探討[4-7]。對(duì)于初學(xué)者而言,LaTeX讓人望而卻步[3]。考慮到時(shí)下有數(shù)量頗為可觀的科技工作者具備編程的基礎(chǔ),因此,本文將以程序員的思維研究LaTex學(xué)習(xí),通過(guò)對(duì)比學(xué)習(xí)的方法及通俗易懂的案例使讀者能夠達(dá)到LaTex的快速入門(mén)。

        1 變量的定義與使用

        變量是用來(lái)存儲(chǔ)各類數(shù)據(jù)的符號(hào)。在變量定義之后,就可以在其它位置使用該變量名代替其所要表達(dá)的值。如果要改變變量的值,也只需要在定義的位置修改,所有使用該變量的地方都會(huì)用新的值代替。這就是設(shè)置變量的好處。下面將Java中的變量定義和LaTex中的變量定義格式進(jìn)行對(duì)比。

        在Java中自定義變量的格式如下:

        變量類型 變量名=變量值

        在LaTex中自定義變量的格式如下:

        \\newcommand{變量名}{變量值}

        通過(guò)上面的定義對(duì)比可以看出,LaTex中定義變量不需要類型,但需要一個(gè)關(guān)鍵字newcommand。LaTex中的自定義變量名和系統(tǒng)內(nèi)置的命令一樣,必須以反斜杠開(kāi)頭,一般由若干個(gè)字母組成。LaTex中的變量值可以是字符串、數(shù)值、布爾值等內(nèi)容,但由于沒(méi)有不同的類型符,所以格式是統(tǒng)一的。另外,LaTex中的變量名和變量值之間沒(méi)有賦值符號(hào),而是通過(guò)括號(hào)來(lái)區(qū)分二者。文中將通過(guò)實(shí)驗(yàn)來(lái)說(shuō)明變量如何定義與使用,主要包含2個(gè)步驟。對(duì)此可做解析分述如下。

        (1)變量定義。LaTex中定義變量是在導(dǎo)言區(qū)進(jìn)行的,下一節(jié)要討論的函數(shù)也在此區(qū)域定義。本實(shí)驗(yàn)中定義3個(gè)類型的變量,分別是字符串型、數(shù)值型和布爾型,如圖1所示。

        需要注意的是,LaTex是將用戶想呈現(xiàn)的內(nèi)容經(jīng)過(guò)排版之后進(jìn)行輸出,是一個(gè)科技文獻(xiàn)排版工具,而不是一種軟件開(kāi)發(fā)語(yǔ)言。因此,從本例中可以看出3個(gè)變量的值在定義時(shí)沒(méi)有太大的區(qū)別,都是直接書(shū)寫(xiě)。特別是第一個(gè)字符串并沒(méi)有雙引號(hào)或單引號(hào),第三個(gè)布爾型只是根據(jù)其值判斷的,從形式上看與字符串并沒(méi)有什么區(qū)別。

        (2)變量使用。LaTex中使用變量的方法是直接使用變量名,使用變量的位置可以在導(dǎo)言區(qū)、也可以在文檔區(qū)。如果是需要直接輸出的變量,一般放在文檔區(qū)。如果是中間變量,根據(jù)使用場(chǎng)合可能出現(xiàn)在文檔區(qū)或?qū)а詤^(qū)。在圖2中即顯示了上述3個(gè)變量的使用。

        由圖2看出,變量在使用時(shí)的格式和定義時(shí)是一樣的,也需要以反斜杠開(kāi)頭,然后是變量名。變量名后的\\par是另起一段的標(biāo)志,是為了輸出效果而添加的。

        (3)結(jié)果輸出。LaTex中所有要輸出的內(nèi)容都要放在文檔區(qū),經(jīng)過(guò)編譯之后會(huì)輸出在pdf文檔中。本節(jié)中的實(shí)驗(yàn)輸出結(jié)果如圖3所示。將圖3和圖1對(duì)比后可以看出,輸出的變量值和定義時(shí)是一樣的。

        2 函數(shù)

        函數(shù)是用來(lái)完成特定功能的若干代碼的封裝。因此,相較于變量值是直接給出具體值,函數(shù)體會(huì)有長(zhǎng)有短,具體由函數(shù)的功能復(fù)雜程度決定。另外,函數(shù)需要滿足傳參數(shù)的需要。這里即將Java中和LaTex中函數(shù)的定義與使用進(jìn)行對(duì)比,研究?jī)?nèi)容詳見(jiàn)如下。

        2.1 函數(shù)的定義

        Java中定義函數(shù)的格式:

        [權(quán)限標(biāo)識(shí)符] 返回值 函數(shù)名(參數(shù)列表){函數(shù)體}

        LaTex中定義函數(shù)的格式:

        \\newcommand{函數(shù)名}[參數(shù)個(gè)數(shù)]{函數(shù)體}

        通過(guò)對(duì)比發(fā)現(xiàn),首先,LaTex中定義函數(shù)也需要newcommand 關(guān)鍵字。其次,LaTex中沒(méi)有權(quán)限標(biāo)識(shí)符,在tex文件的導(dǎo)言區(qū)定義的函數(shù),其作用范圍是整個(gè)tex文件。LaTex中也沒(méi)有返回值標(biāo)識(shí),是否有返回值取決于函數(shù)體是否有輸出。再者,形式上兩者之間也有相似的地方,即函數(shù)名、參數(shù)和函數(shù)體。但是在運(yùn)行實(shí)施中,這些相似的地方還是有些區(qū)別的。LaTex的函數(shù)名與變量名一樣,也需要以反斜杠開(kāi)頭。Java中的參數(shù)部分用的是以圓括號(hào)包括起來(lái)的參數(shù)列表,包括若干參數(shù)類型和參數(shù)名,當(dāng)然也可以為空,即沒(méi)有任何參數(shù)。而LaTex中的參數(shù)部分用的是以中括號(hào)包括起來(lái)的參數(shù)個(gè)數(shù),即只定義了參數(shù)的個(gè)數(shù)而沒(méi)有參數(shù)名。最后要比較的是函數(shù)體。Java中的函數(shù)體內(nèi)容非常豐富,而LaTex則相對(duì)簡(jiǎn)單,因?yàn)長(zhǎng)aTex函數(shù)體僅服務(wù)于要排版的內(nèi)容及其格式。

        在此基礎(chǔ)上,下面將通過(guò)3個(gè)函數(shù)來(lái)說(shuō)明LaTex中函數(shù)的使用,其中分別定義了0個(gè)參數(shù)、1個(gè)參數(shù)和2個(gè)參數(shù)。研究中的案例描述如圖4所示。

        在圖4中,函數(shù)\\noparfunction沒(méi)有參數(shù),函數(shù)體是輸出一個(gè)字符串,證明該函數(shù)被調(diào)用。函數(shù)\\oneparfunction具有一個(gè)參數(shù),函數(shù)體是輸出字符串和該函數(shù)的參數(shù)值。函數(shù)\\twoparfunction具有2個(gè)參數(shù),函數(shù)體的功能是直接執(zhí)行2個(gè)參數(shù)。

        2.2 函數(shù)的使用

        接下來(lái)調(diào)用上面定義的3個(gè)函數(shù),來(lái)說(shuō)明各函數(shù)的使用方式。案例描述如圖5所示。

        在圖5中,第一行調(diào)用了無(wú)參的函數(shù)noparfunction;第二行調(diào)用了一個(gè)參數(shù)的函數(shù)oneparfunction,參數(shù)值為3;第三行調(diào)用了2個(gè)參數(shù)的函數(shù)twoparfunction,其中2個(gè)參數(shù)都是字符串;第四行同樣調(diào)用了2個(gè)參數(shù)的函數(shù),但是其中的2個(gè)參數(shù)不再是字符串和數(shù)值,而是分別調(diào)用了無(wú)參的函數(shù)和一個(gè)參數(shù)的函數(shù)。因此,在LaTex中,一個(gè)函數(shù)可以作為另一個(gè)函數(shù)的參數(shù)。

        2.3 函數(shù)的輸出

        綜合前文研究后,就是對(duì)LaTex源文件進(jìn)行編譯,然后輸出到pdf文檔。最終輸出結(jié)果如圖6所示。

        在圖6中,第一行是noparfunction的輸出,第二行是oneparfunction的輸出。第三行是twoparfunction函數(shù)的輸出,且參數(shù)是2個(gè)字符串。第四行也是twoparfunction函數(shù)的輸出,但是2個(gè)參數(shù)分別是noparfunction和oneparfunction。由圖6看到,第三行和第四行的輸出是一樣的,因此,通過(guò)函數(shù)的嵌套調(diào)用可以實(shí)現(xiàn)復(fù)雜的功能。

        3 結(jié)束語(yǔ)

        本文立足于程序員的思維角度來(lái)討論LaTex的學(xué)習(xí),以編程中最重要的2個(gè)概念—變量和函數(shù),作為本文的研究?jī)?nèi)容,采用對(duì)比的方法,闡明了在LaTex中這2個(gè)概念與Java語(yǔ)言的異同點(diǎn),并通過(guò)案例說(shuō)明了程序員如何高效地做出LaTex的入門(mén)學(xué)習(xí)。下一步將繼續(xù)按照該方法的思路,深入探究LaTex中其它知識(shí)的學(xué)習(xí),為更多的科技工作者快速掌握該知識(shí)提供借鑒。

        參考文獻(xiàn)

        [1]KNUTH D E. The TEXbook, volume A of computers and typesetting[M]. Massachusetts: Addison-Wesley Publishing Company, 1984.

        [2] LAMPORT L. LATeX: A document preparation system (user's guide and reference manual)[M]. 2nd ed. USA:Addison-Wesley Professional, 1994.

        [3] 龍靜, 尚嬋妤, 孫云志. 定制科技期刊LaTeX論文模板的思路和實(shí)踐[J]. 中國(guó)科技期刊研究, 2015, 26(9): 975-980.

        [4] 劉海洋. LATEX 入門(mén)[M]. 北京: 電子工業(yè)出版社, 2013.

        [5] 馬加佳. LaTeX與Word文件的相互轉(zhuǎn)換[J]. 中國(guó)科技期刊研究, 2014, 25(3): 378-382.

        [6] 俞依玲, 張林琳. LaTeX軟件在學(xué)術(shù)論文排版中的應(yīng)用[J]. 價(jià)值工程, 2012, 31(35): 209-210.

        [7] 趙新科. 淺析LaTex在科技期刊與哲社期刊排版上的應(yīng)用[J]. 大眾科技, 2016, 18(1): 131-132.

        成人美女黄网站色大免费的| 91久久精品人妻一区二区| 国产女人高潮的av毛片| 人妻有码av中文幕久久| 日韩Va亚洲va欧美Ⅴa久久| 国产成人亚洲综合二区| 精品人妻少妇av中文字幕| 四虎国产精品永久在线国在线 | 久久精品国产6699国产精| av有码在线一区二区| 国产精品久色婷婷不卡| 日韩人妻无码一区二区三区久久 | 日本一本之道高清不卡免费| 国精品无码一区二区三区在线| 欧美精品中文字幕亚洲专区| 亚洲va中文字幕欧美不卡| 久久久精品国产老熟女| 女人18片毛片60分钟| 毛片内射久久久一区| 亚洲精品偷拍自综合网| 日本丰满少妇裸体自慰| 免费精品一区二区三区第35| 人妻少妇不满足中文字幕| 极品视频一区二区三区在线观看| 少妇被按摩出高潮了一区二区| 偷国产乱人伦偷精品视频| 婷婷四房色播| 色窝窝手在线视频| 女同恋性吃奶舌吻完整版| 亚洲中文字幕无码不卡电影| 99久久精品国产成人综合| 99色网站| 日本一区二区在线播放视频| 国产夫妇肉麻对白| 亚洲av日韩av不卡在线观看 | 美女露屁股无内裤视频| 日本视频一区二区三区一| 精品国模一区二区三区| 毛片在线啊啊| 全亚洲高清视频在线观看| 丁香六月久久婷婷开心|