<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 2, comments - 27, trackbacks - 0, articles - 60
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    用LaTeX寫漂亮學(xué)位論文

    Posted on 2008-12-10 10:29 ZhouFeng 閱讀(1014) 評(píng)論(0)  編輯  收藏 所屬分類: 轉(zhuǎn)載LaTeX
    這是一篇關(guān)于介紹用 LaTeX 寫學(xué)位論文的好文章, 非常建議有一定LaTeX基礎(chǔ)的, 而又不想用以前的模板或者找不到合適的模板的朋友寫學(xué)位論文參考適用, (這里有許多學(xué)位論文的模板). 關(guān)于如何自己設(shè)置學(xué)位論文的版式, 下面已經(jīng)介紹得非常詳細(xì)了, 文章有點(diǎn)長(zhǎng), 慢慢看吧. 原文地址在這里.


    一直覺得有必要寫這樣一篇文章,因?yàn)閷W(xué)位論文從格式上說(shuō)更像一本書,與文章 的排版不同,不僅多出目錄等文章沒有的部分,而且一般要設(shè)置頁(yè)眉頁(yè)腳方便閱 讀查找。學(xué)校有時(shí)會(huì)提出具體的格式要求,雖然復(fù)旦的要求非常簡(jiǎn)單,而且事實(shí) 上并不嚴(yán)格執(zhí)行,但自己的論文畢竟是自己的孩子,還是要敝帚自珍的,大家都 希望做得漂亮一點(diǎn)。

    網(wǎng)上已經(jīng)有不少學(xué)位論文的模板,其中大都出自一兩個(gè)最初的版本,針對(duì)各自學(xué) 校的要求作了一些改動(dòng)。這些模板還是很方便的,如果對(duì)它們的排版效果感到完 全滿意,那么直接拿來(lái)用就可以了。不過(guò)如果想調(diào)整其中某些格式,就不得不仔 細(xì)研究一下它們的代碼或說(shuō)明文檔,有時(shí)并不那么容易。而且這些模板的導(dǎo)言或 cls或sty文件都寫得很長(zhǎng),內(nèi)容很多,盡可能的包含了大家有可能用到的功能, 但其實(shí)具體到每個(gè)人只有一部分是需要用到的。用一個(gè)包含“冗余”代碼的模板, 總不是一件很舒服的事情。當(dāng)然也許很多人抱著能用就好的態(tài)度,并不care。

    本文是為那些對(duì)論文格式有特殊要求或喜歡自己設(shè)置格式的人寫的。如果你覺得 網(wǎng)上能找到的論文模板已經(jīng)足以滿足你的需要,并且對(duì)TeX本身也沒有多少興趣, 那么你沒有必要花費(fèi)寶貴的時(shí)間閱讀本文。

    閱讀本文的基礎(chǔ)是假定你已經(jīng)了解怎樣用LaTeX來(lái)寫普通的文章。一般的 TeX/LaTeX命令不會(huì)再作解釋,重點(diǎn)將放在學(xué)位論文與普通文章的不同點(diǎn)上,以及 怎樣用一些宏包方便地設(shè)置其格式。其中大部分內(nèi)容來(lái)源于網(wǎng)絡(luò)資源、工具書以 及各個(gè)宏包的說(shuō)明文檔,恕不一一注明,在此一并致謝!


    首先講一下紙張大小和頁(yè)邊距的設(shè)置。根據(jù)復(fù)旦的格式要求,紙張大小為A4紙, 正文用小四號(hào)字,頁(yè)邊距按Word中的默認(rèn)設(shè)置。小四號(hào)字即12pt, Word中默認(rèn)的 頁(yè)邊距為

    上邊距=2.54cm, 下邊距=2.54cm, 左邊距=3.17cm, 右邊距=3.17cm

    或者換算成更容易記憶的

    上邊距=1in, 下邊距=1in, 左邊距=1.25in, 右邊距=1.25in

    如果我們用book類,第一句可以寫

    \documentclass[a4paper,12pt]{book}
    然后用geometry宏包設(shè)置頁(yè)邊距

    \usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry}
    但其實(shí)這樣設(shè)置的頁(yè)邊距極不美觀,尤其是左右對(duì)稱的頁(yè)邊距沒有考慮裝訂的需 要,而且加上頁(yè)眉后這樣的上邊距就顯得過(guò)窄。所以注重美觀的話還是自己調(diào)整 一下吧。

    需要注意的是,book類默認(rèn)是twoside即雙面打印模式,與article類默認(rèn)的 oneside即單面打印模式不同。兩者區(qū)別在于頁(yè)邊距和頁(yè)碼的位置。單面模式每頁(yè) 的頁(yè)邊距都相同,雙面模式則會(huì)在偶數(shù)頁(yè)將設(shè)置的左、右頁(yè)邊距調(diào)換。如果采用 單面打印,則可在\documentclass的方括號(hào)里加上oneside參數(shù),并在geometry的 選項(xiàng)中適當(dāng)增加左邊距,減少右邊距,以留出裝訂線的位置。但是不要忘了裝訂 的時(shí)候右側(cè)一般會(huì)裁掉一點(diǎn)邊,所以左、右邊距也不要相差過(guò)大。如果采用雙面 打印,則geometry中的設(shè)置被解釋為奇數(shù)頁(yè)的頁(yè)邊距,偶數(shù)頁(yè)的左、右邊距會(huì)自 動(dòng)互換。

    還有幾個(gè)注意事項(xiàng)。首先,這里的奇數(shù)頁(yè)和偶數(shù)頁(yè)是針對(duì)當(dāng)前page計(jì)數(shù)器的值來(lái) 說(shuō)的,而不是在生成文件中總的頁(yè)碼。也就是說(shuō),假如當(dāng)前頁(yè)在整個(gè)輸出中總排 序是偶數(shù)頁(yè),但當(dāng)前page計(jì)數(shù)器(即顯示的頁(yè)碼)為奇數(shù),則當(dāng)前頁(yè)的頁(yè)邊距是按 奇數(shù)頁(yè)設(shè)置的。

    其次,\documentclass還有一對(duì)選項(xiàng)openright和openany, book類默認(rèn)是前者, 即每一章(包括目錄)都會(huì)在奇數(shù)頁(yè)開始,如果前一章的最后一頁(yè)是奇數(shù)頁(yè),則會(huì) 在其后插入一頁(yè)空白頁(yè),以確保新的一章仍然從奇數(shù)頁(yè)開始。這是書籍的排版規(guī) 范,不建議改變,論文頁(yè)數(shù)比較少的還可以借此增加頁(yè)數(shù)。 這是雙面模式的情 況,在單面模式下不存在這個(gè)問(wèn)題。經(jīng)常有人問(wèn)為什么自己明明是單面打印,卻 仍然會(huì)在兩章之間有一頁(yè)空白頁(yè),請(qǐng)注意book類默認(rèn)是雙面模式,除非你設(shè)為 oneside, 記住告訴TeX你要的是什么!

    另外,為了方便查看,頁(yè)碼應(yīng)該放在書籍的外側(cè)。對(duì)于單面模式,外側(cè)就是右 側(cè),而對(duì)于雙面模式,奇數(shù)頁(yè)右側(cè)是外側(cè),偶數(shù)頁(yè)左側(cè)是外側(cè)。如何設(shè)置頁(yè)碼留 到后面講設(shè)置頁(yè)眉、頁(yè)腳時(shí)再詳細(xì)說(shuō)。

    至于到底是單面打印還是雙面打印,看你自己的喜好了。復(fù)旦的論文規(guī)范沒說(shuō), 一般的做法是博士雙面、碩士單面。反正總頁(yè)數(shù)少于50頁(yè)的話,就不要雙面了, 否則顯得太單薄,書脊的內(nèi)容都很難打印。

    最后提一個(gè)常見的問(wèn)題。如果用pdf文件來(lái)打印,在Acrobat的打印對(duì)話框里有一 項(xiàng)Page Scaling默認(rèn)是Fit to paper, 這樣打印出來(lái)整個(gè)內(nèi)容就會(huì)縮小一些,不 再是設(shè)置的尺寸。這是因?yàn)榇蛴C(jī)的可打印范圍不能達(dá)到整個(gè)A4紙張的全部,而 是比A4紙的規(guī)格要小一些(具體的可打印范圍跟打印機(jī)型號(hào)有關(guān)), Fit to paper 的意思就是把整個(gè)頁(yè)面調(diào)整到可打印范圍上去,以保證所有頁(yè)面上的內(nèi)容都能打 印出來(lái)。因?yàn)榭纱蛴》秶偸切∮贏4紙的尺寸,所以打印出來(lái)總是會(huì)縮小一些。 縮小的比例一般為95%左右,與打印機(jī)型號(hào)有關(guān)。解決這個(gè)問(wèn)題,只要選擇Page Scaling為None就可以了。


    這一節(jié)講中文字體和中英文混排的問(wèn)題。中文處理推薦使用CJK或新版CCT, 舊版 CCT因?yàn)槟甏眠h(yuǎn),有一些bug會(huì)導(dǎo)致莫名其妙的問(wèn)題,不建議再使用。本文以 CJK為例,中文環(huán)境為

    \begin{CJK*}{GBK}{song}
    ...
    \end{CJK*}
    與英文習(xí)慣不同,中文排版一般沒有粗體的概念,而是用宋體、黑體、楷體、仿 宋等不同的字體來(lái)加強(qiáng)文本效果。在CJK默認(rèn)的字體定義文件中,宋體對(duì)應(yīng)的粗體 是用\CJKbold 命令通過(guò)微小平移字形來(lái)實(shí)現(xiàn)的,不僅放大后能看到鋸齒,而且也 不符合中文的排版習(xí)慣。建議將宋體對(duì)應(yīng)的粗體設(shè)為黑體,這樣文中所有粗體命 令作用的環(huán)境中加粗的宋體都會(huì)自動(dòng)變成黑體,不需要再用\CJKfamily{hei}來(lái)轉(zhuǎn) 換。

    宋體的字體定義文件C19song.fd里典型的一段代碼如下

    \DeclareFontFamily{C19}{song}{}
    \DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbksong}{}
    \DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbksong}{\CJKbold}
    \DeclareFontShape{C19}{song}{m}{it}{<-> CJK * gbksongsl}{}
    \DeclareFontShape{C19}{song}{bx}{it}{<-> CJKb * gbksongsl}{\CJKbold}
    \DeclareFontShape{C19}{song}{m}{sl}{<-> CJK * gbksongsl}{}
    \DeclareFontShape{C19}{song}{bx}{sl}{<-> CJKb * gbksongsl}{\CJKbold}
    這里C19代表GBK字符集的編碼方式,m表示字符的粗細(xì)程度和寬緊程度均為中等 (medium), bx表示字符的屬性為粗(bold)和松(expanded), n, it和sl分別表示正 常直立體(normal), 意大利斜體(italic)和機(jī)械斜體(slanted)。 \DeclareFontShape的最后兩個(gè)參數(shù)分別是字體定義和命令序列。顯然,上述語(yǔ)句 將宋體的粗體定義為用\CJKbold 生成。要將其改為黑體,只需將這段代碼改為

    \DeclareFontFamily{C19}{song}{}
    \DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbksong}{}
    \DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbkhei}{}
    \DeclareFontShape{C19}{song}{m}{it}{<-> CJK * gbksongsl}{}
    \DeclareFontShape{C19}{song}{bx}{it}{<-> CJKb * gbkheisl}{}
    \DeclareFontShape{C19}{song}{m}{sl}{<-> CJK * gbksongsl}{}
    \DeclareFontShape{C19}{song}{bx}{sl}{<-> CJKb * gbkheisl}{}
    實(shí)際上,正式的中文排版也不應(yīng)使用斜體,而應(yīng)使用楷體或仿宋代替。所以也可 以類似地將上述語(yǔ)句中的gbksongsl改為gbkkai或gbkfs。

    上述字體定義命令可以放在sty文件中(設(shè)保存文件名為thesis.sty, 則在導(dǎo)言區(qū) 用\usepackage{thesis}引用,后面所述的大部分命令也都可以放在sty文件中), 而不需要更改本地機(jī)器上的fd文件,以便在別的機(jī)器上也能產(chǎn)生同樣的效果。

    另外,為了方便可以定義幾個(gè)簡(jiǎn)短的字體轉(zhuǎn)換命令

    \newcommand{\song}{\CJKfamily{song}}
    \newcommand{\hei}{\CJKfamily{hei}}
    \newcommand{\kai}{\CJKfamily{kai}}
    \newcommand{\fs}{\CJKfamily{fs}}
    以后就可以用\song, \hei, \kai和\fs在文中轉(zhuǎn)換字體了。

    在用\begin{CJK*}{GBK}{song}開始中文環(huán)境后,應(yīng)加上\CJKindent和\CJKtilde 兩句。前者將段首縮進(jìn)設(shè)為兩個(gè)中文字符的寬度。后者則是為了解決中英文混排 的美觀問(wèn)題。CJK*環(huán)境會(huì)吞掉跟在漢字后面的空格,從而使得源文件中的換行不 會(huì)在相鄰漢字之間產(chǎn)生空白。但是這樣一來(lái),像下面這樣輸入的中英文內(nèi)容

    中文 abc 中文
    就會(huì)產(chǎn)生如下效果

    中文abc 中文
    即abc兩側(cè)的空白不一樣,很不美觀。為解決這個(gè)問(wèn)題,\CJKtilde重新定義了波 浪符~的意義,使得這個(gè)符號(hào)不再代表一個(gè)不可斷行的空格,而是一個(gè)可斷行的彈 性距離,加在中文和英文之間調(diào)整它們的距離。上面的中英文內(nèi)容應(yīng)該這樣輸入

    中文~abc~中文
    就能得到良好的效果。這個(gè)輸入方式最好一開始就形成習(xí)慣,否則后來(lái)再加會(huì)很 麻煩。當(dāng)然你也可以這樣輸入

    中文abc中文
    這樣的話雖然中英文之間的距離太窄,但至少左右對(duì)稱,比上述第一種方式略 好,是偷懶的辦法。不過(guò)如果你比較在意排版質(zhì)量的話,還是忍受一下輸入~的麻 煩吧。

    中英文混排有一些標(biāo)點(diǎn)的問(wèn)題要處理好。首先是在默認(rèn)的CJK環(huán)境里,行末的中文 標(biāo)點(diǎn)不能與邊界對(duì)齊,因?yàn)橹形臉?biāo)點(diǎn)也被視為一個(gè)普通的全角字符,所以看起來(lái) 行末就有了不應(yīng)該有的空白,這不符合中文的排版習(xí)慣。另外,當(dāng)一行文字需要 壓縮或拉伸時(shí),逗號(hào)與句號(hào)也應(yīng)該區(qū)別對(duì)待,逗號(hào)后面留的空白應(yīng)該比句號(hào)小一 些。這兩個(gè)問(wèn)題用CJKpunct 宏包就能很好地解決,只要加上 \usepackage{CJKpunct}即可。

    此外,中英文混排的時(shí)候是用中文標(biāo)點(diǎn)還是英文標(biāo)點(diǎn)呢?這并沒有統(tǒng)一的規(guī)范。 不過(guò)比較合理也比較通行的做法是,中文后用中文標(biāo)點(diǎn),英文后用英文標(biāo)點(diǎn)。比 較特殊的兩個(gè)標(biāo)點(diǎn)是句號(hào)和括號(hào)。一般數(shù)學(xué)文章習(xí)慣用全角的實(shí)心句點(diǎn)作為中文 句號(hào),這樣看起來(lái)與英文的句號(hào)比較一致。全角的中文括號(hào)看起來(lái)不太好看,可 以統(tǒng)一使用英文的括號(hào),不過(guò)左括號(hào)前面和右括號(hào)后面最好加上波浪符~以和前后 的文字留出適當(dāng)?shù)木嚯x。

    上面說(shuō)的這幾點(diǎn)也許比較瑣碎,不過(guò)也正是最能看出是否精心排版的地方。


    下面幾節(jié)講怎樣用titlesec和titletoc宏包設(shè)置章節(jié)標(biāo)題、頁(yè)眉頁(yè)腳和目錄的格 式。設(shè)置頁(yè)眉頁(yè)腳有一個(gè)很有名的宏包fancyhdr也可以用,不過(guò)titlesec提供的 頁(yè)面設(shè)計(jì)命令更方便與它的章節(jié)標(biāo)題命令配合,功能更強(qiáng)大。這一節(jié)先講章節(jié)標(biāo) 題格式的設(shè)置。

    在引用titlesec宏包時(shí)就可以指定幾個(gè)格式選項(xiàng),例如

    \usepackage[bf,small,center,indentafter,pagestyles]{titlesec}
    其中bf設(shè)置章節(jié)標(biāo)題的字體為黑體,這也是默認(rèn)值,可以略去。此外,還可以設(shè) 為rm(羅馬體), sf(無(wú)襯線體), tt(打字機(jī)體), md(中等黑度), up(直立體), it(意大利斜體), sl(機(jī)械斜體), sc(小體大寫字母)。

    small設(shè)置標(biāo)題字體的尺寸,還可設(shè)為big(默認(rèn)), medium, tiny。

    center使標(biāo)題居中,還可以設(shè)為raggedleft(居左,默認(rèn)), raggedright(居右)。

    indentafter相當(dāng)于宏包indentfirst的作用,使標(biāo)題下面的第一個(gè)段落正常縮進(jìn)。

    pagestyles是申明后面要自定義頁(yè)面樣式。

    下面就可以用\titleformat, \titlespacing, \titlelabel等命令來(lái)設(shè)置標(biāo)題格 式了。因?yàn)檫@些命令里會(huì)用到中文,所以要在設(shè)置之前放一個(gè)空的CJK環(huán)境,如

    \begin{CJK*}{GBK}{song}
    \end{CJK*}
    下面的\titleformat命令設(shè)置了章標(biāo)題的格式

    \titleformat{\chapter}[hang]{\centering\LARGE\bfseries}{\chaptername}{1em}{}
    其中\(zhòng)chapter可以換為\section, \subsection等,設(shè)置節(jié)、小節(jié)等標(biāo)題的格式。

    hang表示標(biāo)題頭與標(biāo)題內(nèi)容在同一行,是默認(rèn)值。而book類默認(rèn)的章標(biāo)題是標(biāo)題 頭與標(biāo)題內(nèi)容放在兩個(gè)段落,對(duì)應(yīng)于display選項(xiàng)。此外還有block, runin, leftmargin, rightmargin, frame, wrap等選項(xiàng),一般不大用到。

    \centering\LARGE\bfseries這一塊是設(shè)置標(biāo)題的排版格式,這里設(shè)置為居中、 \LARGE尺寸和黑體。

    后面緊跟的是標(biāo)題頭的定義。book類里的標(biāo)題頭是英文,需要改成中文。如果希 望改成“第一章”這樣的格式,則應(yīng)先引用CJKnumb宏包,它提供了把阿拉伯?dāng)?shù)字轉(zhuǎn) 換成中文數(shù)字的命令。然后定義

    \renewcommand{\chaptername}{第\CJKnumber{\thechapter}章}
    那么\titleformat里的標(biāo)題頭定義\chaptername就得到我們希望的效果。當(dāng)然你 也可以不用中文數(shù)字而用阿拉伯?dāng)?shù)字,即定義

    \renewcommand{\chaptername}{第~\thechapter~章}
    跟在標(biāo)題頭定義后面的是標(biāo)題頭與標(biāo)題內(nèi)容之間的距離,這里是1em。注意,在中 文環(huán)境里1em等于一個(gè)漢字的寬度。

    最后一個(gè)花括號(hào)內(nèi)是在排版標(biāo)題前執(zhí)行的命令,這里空置。

    然后用\titlespacing或\titlespacing*命令設(shè)置標(biāo)題與四周的距離,例如

    \titlespacing{\chapter}{0pt}{*0}{*4}
    將章標(biāo)題與左邊、上邊、下邊內(nèi)容的距離分別設(shè)為0pt, *0, *4。這里*n表示彈性 距離,對(duì)上距離來(lái)說(shuō)相當(dāng)于n ex plus .3ex minus .06ex, 對(duì)下距離來(lái)說(shuō)相當(dāng)于 n ex plus .1ex。彈性距離因?yàn)橛幸欢ǖ纳炜s自由度,比較容易得到美觀的排版。 如果想自己指定用關(guān)鍵字plus, minus定義的彈性距離,可以用星號(hào)版本的命令, 即

    \titlespacing*{命令}{左距離}{上距離}{下距離}
    上面設(shè)置了章標(biāo)題的命令,用相同的命令也可以設(shè)置節(jié)、小節(jié)等的標(biāo)題格式。但 如果沒有特殊的要求,只希望修改一下標(biāo)題頭,可以用更加簡(jiǎn)單的命令 \titlelabel來(lái)設(shè)置。例如

    \titlelabel{\S\thetitle\quad}
    將章節(jié)標(biāo)題設(shè)置為類似“§1 標(biāo)題內(nèi)容”的格式。這里\quad等于\hspace{1em}, 即 空出一個(gè)漢字寬度的距離。注意,\titleformat命令的定義會(huì)覆蓋\titlelabel的 定義,而一般來(lái)說(shuō)章跟節(jié)標(biāo)題的格式不一樣,所以只要另外用\titleformat命令 定義章標(biāo)題的格式,\titlelabel的定義就只能作用于節(jié)以下層次的標(biāo)題了。


    這一節(jié)接著講怎樣用titlesec宏包提供的命令設(shè)置頁(yè)眉、頁(yè)腳。下面命令定義了 一個(gè)新的頁(yè)面樣式并使用該樣式

    \newpagestyle{main}{
    \sethead{}{}{\kai\small\chaptername\quad\chaptertitle\qquad\thepage}
    \setfoot{}{}{}\headrule}
    \pagestyle{main}
    其中\(zhòng)sethead命令設(shè)置頁(yè)眉,格式為

    \sethead[偶數(shù)頁(yè)左頁(yè)眉][偶數(shù)頁(yè)中頁(yè)眉][偶數(shù)頁(yè)右頁(yè)眉]
    {奇數(shù)頁(yè)左頁(yè)眉}{奇數(shù)頁(yè)中頁(yè)眉}{奇數(shù)頁(yè)右頁(yè)眉}
    單面打印模式只要給出奇數(shù)頁(yè)的設(shè)置即可,雙面模式則需要將左、右頁(yè)眉做個(gè)調(diào) 換。上面給出的例子是單面模式的。

    \setfoot用來(lái)設(shè)置頁(yè)腳,格式與\sethead類似。

    在頁(yè)眉、頁(yè)腳里可以顯示章節(jié)標(biāo)題、頁(yè)碼等內(nèi)容。如上面的例子就在頁(yè)眉中顯示 了章標(biāo)題和頁(yè)碼。注意,\qquad相當(dāng)于兩個(gè)\quad, 即\hspace{2em}。

    \headrule是劃出頁(yè)眉線,類似地\footrule劃出頁(yè)腳線,不過(guò)比較少用。默認(rèn)頁(yè) 眉線的寬度是0.4pt, 如果不滿意,可以用下面命令重新設(shè)置其寬度

    \setheadrule{寬度}
    此外,還有兩種特殊情況需要處理。首先,盡管在上面例子中用 \pagestyle{main}使用了自定義的頁(yè)面樣式,但每一章的第一頁(yè)不受影響,仍然 使用默認(rèn)的plain樣式。在這種頁(yè)面上,出于美觀的考慮,一般不加頁(yè)眉,而將頁(yè) 碼放在頁(yè)腳(也有人喜歡不加頁(yè)碼)。所以plain樣式(沒有頁(yè)眉,頁(yè)碼放在頁(yè)腳中 間)已經(jīng)基本符合要求,不必修改。如果需要修改,可定義一個(gè)新的頁(yè)面樣式,再 用下面命令重定義plain樣式

    \renewpagestyle{plain}{新的頁(yè)面樣式}
    其次,在目錄、參考文獻(xiàn)或以\chapter*命令生成的章,上面頁(yè)眉定義中的標(biāo)題頭 \chaptername是不應(yīng)該顯示的。所以有必要定義一個(gè)頁(yè)面樣式在這種特殊的章使 用,例如可以定義

    \newpagestyle{special}{
    \sethead{}{}{\kai\small\chaptertitle\qquad\thepage}
    \setfoot{}{}{}\headrule}
    然后在文中適當(dāng)?shù)牡胤接肻pagestyle{special}改用該樣式。


    目錄是學(xué)位論文的必要組成部分。只要在正文中適當(dāng)?shù)牡胤接?br />
    \tableofcontents
    就可以自動(dòng)生成目錄。但是目錄的格式不總是符合個(gè)人的要求,有時(shí)還要往其中 加一些條目。用titletoc宏包提供的命令可以方便地設(shè)置目錄的格式。

    首先可以用

    \renewcommand{\contentsname}{目\quad 錄}
    將目錄部分的標(biāo)題改為中文。然后,用\titlecontents命令來(lái)設(shè)置不同級(jí)別目錄 項(xiàng)的格式。例如,chapter層次的目錄項(xiàng)格式可設(shè)置如下

    \titlecontents{chapter}[0pt]{\vspace{.5\baselineskip}\bfseries}
    {第\CJKnumber{\thecontentslabel}章\quad}{}
    {\hspace{.5em}\titlerule*[10pt]{$\cdot$}\contentspage}
    其中0pt是目錄項(xiàng)到版芯左邊界的距離。緊跟其后的是在排版目錄項(xiàng)之前執(zhí)行的命 令,這里\vspace{.5\baselineskip}表示與上文留出一定的垂直距離,該距離為 當(dāng)前單倍行間距的一半。\bfseries把整條目錄項(xiàng)的字體設(shè)為黑體。

    后面一項(xiàng)是設(shè)置目錄項(xiàng)的頭部,這里設(shè)為“第一章”這樣的格式,并在其后留出一 個(gè)漢字寬度的距離。緊跟的是設(shè)置目錄項(xiàng)主體的格式,這里因?yàn)楦夸涰?xiàng)頭部相 同而空置。

    再后面是設(shè)置填充命令和頁(yè)碼。這里先用\hspace{.5em}在目錄項(xiàng)內(nèi)容后面留出一 點(diǎn)空白,以免跟其后的填充點(diǎn)靠得太近。然后用\titlerule*命令畫出填充點(diǎn),這 里是把垂直居中的實(shí)心圓點(diǎn)作為填充符號(hào)(習(xí)慣上中文不采用居下的填充點(diǎn)), 并 以10pt為包含一個(gè)填充符號(hào)的水平盒子的寬度,即這個(gè)寬度越小,填充點(diǎn)越緊密。 填充點(diǎn)后加上頁(yè)碼\contentspage。

    類似地可以設(shè)置section層次的目錄項(xiàng)格式如下

    \titlecontents{section}[2em]{\vspace{.25\baselineskip}}
    {\S\thecontentslabel\quad}{}
    {\hspace{.5em}\titlerule*[10pt]{$\cdot$}\contentspage}
    其中2em表示section層次的目錄項(xiàng)距左邊界有一個(gè)縮進(jìn)。如果還有subsection等 層次,可以類似地定義。

    但是\chapter*, \section*等命令生成的標(biāo)題不會(huì)自動(dòng)進(jìn)入目錄中。例如中文摘 要部分如果用下面命令開始

    \chapter*{摘\quad 要}
    那么可以緊跟其后加上

    \addcontentsline{toc}{chapter}{中文摘要}
    就可以將中文摘要作為一個(gè)chapter層次插入目錄中。英文摘要、參考文獻(xiàn)部分均 可照此處理。隨便提一下,參考文獻(xiàn)部分的標(biāo)題可用如下命令改為中文

    \renewcommand{\bibname}{參考文獻(xiàn)}

    這一節(jié)講前幾節(jié)尚未提到的一些文本排版問(wèn)題。

    首先是行間距的設(shè)置。學(xué)校的學(xué)位論文規(guī)范中提到行間距為20pt。其實(shí)不同尺寸 的字體行間距都不相同,而是成比例關(guān)系。這個(gè)20pt是對(duì)正文主要字體來(lái)說(shuō)的。 在TeX中基本的行間距是\baselineskip, 對(duì)于12pt的字體,這個(gè)值等于14.5pt, 而真正的行間距是

    \baselineskip * \baselinestretch
    \baselinestretch默認(rèn)為1, 但我們可以重新設(shè)置它的值,如
    \renewcommand{\baselinestretch}{1.38}
    就得到真正的行間距為14.5pt*1.38≈20pt。而這樣定義之后,對(duì)不同尺寸的字體 都會(huì)按同樣的比例因子1.38放大行間距,使得全文排版能協(xié)調(diào)一致。

    那么\baselineskip的值是怎么知道的呢?在TeX源文件中加上命令

    \showthe\baselineskip
    編譯時(shí)就會(huì)暫停下來(lái)顯示當(dāng)前字體的\baselineskip值。用這個(gè)方法可以知 道,10pt字體對(duì)應(yīng)的\baselineskip為12pt, 11pt字體對(duì)應(yīng)的\baselineskip為 13.6pt。

    至于通常所說(shuō)的1.5倍行間距和雙倍行間距,一般理解為字體基準(zhǔn)尺寸的1.5倍和 2倍,例如對(duì)于12pt字體, 1.5倍行間距和雙倍行間距分別應(yīng)為12pt*1.5=18pt, 12pt*2=24pt。那么\baselinestretch分別應(yīng)設(shè)為18pt/14.5pt≈1.24, 24pt/14.5≈1.66, 而不是1.5和2, 那樣的話行間距就會(huì)顯得過(guò)大了。

    然后講一下論文首頁(yè)的設(shè)置。復(fù)旦的學(xué)位論文,裝訂的地方會(huì)按學(xué)校的模板制作 封面,就不用自己做了,不過(guò)規(guī)范中要求在扉頁(yè)注明指導(dǎo)小組成員名單,并且為 了保持論文電子版的完整性,最好還是做一個(gè)簡(jiǎn)單的論文首頁(yè)(標(biāo)題頁(yè))。

    沒有必要用\title, \author和\maketitle等命令自動(dòng)生成論文的標(biāo)題,因?yàn)槟强?能不太符合你的要求。只要用

    \begin{titlepage}
    標(biāo)題頁(yè)內(nèi)容
    \end{titlepage}
    在標(biāo)題頁(yè)內(nèi)容中用上一些center環(huán)境、\vspace*和字體選擇命令就可以很容易地 設(shè)計(jì)出自己想要的格式了。

    注意,上述標(biāo)題頁(yè)是沒有頁(yè)碼的。而一般正文之前的部分,包括目錄、摘要等, 習(xí)慣上采用與正文部分不同的頁(yè)碼格式,如用羅馬數(shù)字表示,而從正文第一頁(yè)開 始用阿拉伯?dāng)?shù)字重新開始計(jì)算頁(yè)碼。要做到這一點(diǎn),只要在標(biāo)題頁(yè)后加上

    \frontmatter 或 \pagenumbering{roman}
    并在正文第一章前加上

    \mainmatter 或 \pagenumbering{arabic}
    就可以了。但是推薦使用\frontmatter和\mainmatter, 因?yàn)檫@兩個(gè)命令的用處不 僅限于此。前面說(shuō)過(guò),像中文摘要這種非正文的部分,可以用\chapter*命令加 入,但當(dāng)設(shè)置了頁(yè)眉后就會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題,頁(yè)眉中的\chaptertitle沒有同步更新。 要解決這個(gè)問(wèn)題,一個(gè)辦法是在\chapter*命令后加上一句\chaptermark, 例如

    \chapter*{摘\quad 要}\chaptermark{摘\quad 要}
    但假如我們使用了\frontmatter, \mainmatter以及與其配套的\backmatter, 就 不需要這么麻煩,只要直接用不帶星號(hào)版本的\chapter命令就可以了,對(duì)于 \frontmatter與\mainmatter之間的部分,以及\backmatter之后的部分,系統(tǒng)就 會(huì)自動(dòng)地跟正文部分的章區(qū)別開來(lái),不加上“第一章”這樣的章標(biāo)題頭。一個(gè)典型 的文檔結(jié)構(gòu)示例如下

    \begin{document}
    \begin{titlepage}
    標(biāo)題頁(yè)內(nèi)容
    \end{titlepage}
    \frontmatter % 開始正文之前的部分
    \tableofcontents % 自動(dòng)生成目錄
    \chapter[中文摘要]{摘\quad 要}
    % 方括號(hào)中是在目錄中顯示的內(nèi)容,相當(dāng)于前面使用的\addcontentsline
    中文摘要內(nèi)容
    \chapter[英文摘要]{Abstract}
    英文摘要內(nèi)容
    \mainmatter % 開始正文部分
    \chapter{第一章標(biāo)題}
    第一章內(nèi)容
    \backmatter % 開始正文之后的部分
    \begin{thebibliography}{99}\addcontentsline{toc}{chapter}{參考文獻(xiàn)}
    參考文獻(xiàn)內(nèi)容
    \end{thebibliography}
    \chapter[致謝]{致\quad 謝}
    致謝內(nèi)容
    \end{document}

    到這里文本排版講得差不多了。這一節(jié)再講講定理和證明環(huán)境的格式設(shè)置。

    數(shù)學(xué)論文里經(jīng)常使用大量的定理環(huán)境。LaTeX默認(rèn)的定理環(huán)境已經(jīng)不能滿足要 求,amsthm 宏包提供了方便的命令用于設(shè)置定理環(huán)境的格式。例如下面的命令定 義了一個(gè)定理樣式mythm, 并用它來(lái)定義一些常用的定理環(huán)境

    \newtheoremstyle{mythm}{1.5ex plus 1ex minus .2ex}{1.5ex plus 1ex minus .2ex}
    {\kai}{\parindent}{\song\bfseries}{}{1em}{}
    \theoremstyle{mythm}
    \newtheorem{thm}{定理~}
    \newtheorem{lem}{引理~}
    \newtheorem{prop}{命題~}
    \newtheorem{cor}{推論~}
    \newtheorem{defn}{定義~}
    \newtheorem{conj}{猜想~}
    \newtheorem{exmp}{例~}
    \newtheorem{rem}{注~}
    我們解釋一下\newtheoremstyle命令里各項(xiàng)參數(shù)的意義。樣式名稱之后的兩個(gè)長(zhǎng) 度分別表示定理與上、下文之間的距離,這里均設(shè)為彈性距離。\kai是設(shè)置定理 內(nèi)容的字體。\parindent是設(shè)置定理首行的縮進(jìn),在前面使用了\CJKindent的情 況下,它就等于2em。

    緊隨其后的\song\bfseries是設(shè)置定理頭部即類似“定理 1”部分的格式,一般中 文使用黑體。因?yàn)槲覀冊(cè)谇懊嬉呀?jīng)將宋體對(duì)應(yīng)的粗體定義為黑體,所以這里將中 文字體設(shè)為宋體,再用選擇粗體命令\bfseries, 就同時(shí)把中文變?yōu)楹隗w,英文變 為粗體了。注意,如果前面沒有修改字體定義文件,而在這里用\hei改變字體, 再加上\bfseries就很可能會(huì)造成“黑上加黑”即黑體的加粗,這種拙劣的文本效果 是不應(yīng)該出現(xiàn)的。

    這之后的參數(shù)是設(shè)置緊跟定理頭部的符號(hào),英文中常設(shè)為一句點(diǎn),而中文習(xí)慣不 加任何符號(hào),所以這里空置。然后是設(shè)置定理頭部與定理內(nèi)容之間的空白距離, 這里設(shè)為1em, 即一個(gè)漢字的寬度。

    最后一項(xiàng)是對(duì)定理頭部的補(bǔ)充說(shuō)明,這里空置。但如果我們希望得到類似“定理 1 (存在性定理)”這樣的定理頭部,那么可以再定義一種定理樣式

    \newtheoremstyle{specthm}{1.5ex plus 1ex minus .2ex}{1.5ex plus 1ex minus
    .2ex}{\kai}{\parindent}{\song\bfseries}{}{1em}{\thmnote{#3}}
    這里最后一項(xiàng)\thmnote{#3}表示用方括號(hào)中的附加內(nèi)容作為定理頭部。用此樣式 定義一個(gè)新的定理環(huán)境(與前面定義過(guò)的thm環(huán)境統(tǒng)一編號(hào))

    \theoremstyle{specthm}
    \newtheorem{sthm}[thm]{}
    并在正文中使用

    \begin{sthm}[定理~\thethm~(存在性定理)]
    定理內(nèi)容
    \end{sthm}
    就得到了想要的效果。

    至于證明的排版,amsthm宏包提供了proof環(huán)境,但格式需要做一點(diǎn)調(diào)整。 amsthm.sty中對(duì)proof環(huán)境的定義如下

    \newenvironment{proof}[1][\proofname]{\par
    \pushQED{\qed}%
    \normalfont \topsep6\p@\@plus6\p@\relax
    \trivlist
    \item[\hskip\labelsep
    \itshape
    #1\@addpunct{.}]\ignorespaces
    }{%
    \popQED\endtrivlist\@endpefalse
    }
    為了符合一般中文證明環(huán)境的排版習(xí)慣,可以重新定義proof環(huán)境為(注意,因?yàn)?這些命令含有@字符,所以需要在前、后分別加上\makeatletter和 \makeatother)

    \makeatletter
    \renewenvironment{proof}[1][\proofname]{\par
    \pushQED{\qed}%
    \normalfont \topsep6\p@\@plus6\p@ \labelsep1em\relax
    \trivlist
    \item[\hskip\labelsep\indent
    \bfseries #1]\ignorespaces
    }{%
    \popQED\endtrivlist\@endpefalse
    }
    \makeatother
    并且重新定義\proofname為

    \renewcommand{\proofname}{證明}
    proof環(huán)境會(huì)自動(dòng)在證明最后一行的最右邊加上一個(gè)證明結(jié)束符,默認(rèn)為空心方 塊,可以重新定義\qedsymbol來(lái)修改它。需要注意的是,當(dāng)證明以一個(gè)獨(dú)立公式 結(jié)束時(shí),證明結(jié)束符會(huì)出現(xiàn)在下一行的最右邊,而不是在公式的同一行上,這不 合乎習(xí)慣。這時(shí)只要在公式環(huán)境內(nèi)加上\qedhere即可。


    最后還要講講浮動(dòng)圖形和表格環(huán)境的中文化。首先把Figure和Table改為中文

    \renewcommand{\figurename}{圖}
    \renewcommand{\tablename}{表}
    然后需要對(duì)浮動(dòng)環(huán)境的標(biāo)題格式做一點(diǎn)修改。在book.cls中可以找到如下定義

    \long\def\@makecaption#1#2{%
    \vskip\abovecaptionskip
    \sbox\@tempboxa{#1: #2}%
    \ifdim \wd\@tempboxa >\hsize
    #1: #2\par
    \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
    \fi
    \vskip\belowcaptionskip}
    這段代碼包括了一個(gè)判斷選擇結(jié)構(gòu),如果標(biāo)題超過(guò)一行則直接顯示,否則在一行 內(nèi)居中顯示。可以不理會(huì)這個(gè),只要根據(jù)自己的格式要求修改#1(即\figurename 或\tablename) 和#2(標(biāo)題內(nèi)容)的格式,以及#1與#2之間的分隔符。例如,如果 希望把#1改為黑體,并把分隔符改為一個(gè)空格,可以這樣設(shè)置

    \makeatletter
    \long\def\@makecaption#1#2{%
    \vskip\abovecaptionskip
    \sbox\@tempboxa{{\bfseries #1}\quad #2}%
    \ifdim \wd\@tempboxa >\hsize
    {\bfseries #1}\quad #2\par
    \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
    \fi
    \vskip\belowcaptionskip}
    \makeatother
    ★★★結(jié)束語(yǔ)★★★
    到這里,每個(gè)人都需要知道的東西已經(jīng)基本上介紹完了。如果你仔細(xì)讀了這些文 字,并且按照它去設(shè)置了你的論文格式,我想應(yīng)該差不多了。當(dāng)然,不同學(xué)科的 論文有各自的特點(diǎn)和要求,肯定還有很多具體的問(wèn)題沒有涉及。例如計(jì)算機(jī)專業(yè) 的可能經(jīng)常要用到代碼抄錄環(huán)境,文科的論文可能要使用章末注,等等。這些問(wèn) 題也是版上經(jīng)常問(wèn)到的,在本版精華區(qū)中大都能找到解答,這里就不再贅述。

    希望費(fèi)了不少時(shí)間寫的這些東西能對(duì)大家有所幫助。最后,祝大家TeX越用越熟 練,都能寫出漂亮的論文!
    主站蜘蛛池模板: 成全视频在线观看免费高清动漫视频下载| 亚洲欧美日韩中文二区| 9久热这里只有精品免费| 免费欧洲毛片A级视频无风险| 久久久久精品国产亚洲AV无码| 国产99视频精品免费观看7| 国产AV无码专区亚洲AV男同| 三级毛片在线免费观看| 日韩亚洲一区二区三区| 久操视频在线免费观看| 夜夜亚洲天天久久| 很黄很黄的网站免费的| 亚洲中文字幕无码av| 国产午夜鲁丝片AV无码免费| 污网站在线观看免费| 亚洲香蕉网久久综合影视| 国产成人免费ā片在线观看老同学 | 亚洲国产精品自产在线播放| 久久精品国产69国产精品亚洲| 中文字幕高清免费不卡视频| 亚洲欧洲日产国码av系列天堂| 亚洲电影免费在线观看| 亚洲成AV人片久久| 日韩免费观看一级毛片看看| 无码的免费不卡毛片视频 | 麻豆精品国产免费观看| 免费毛片毛片网址| 亚洲AV无码乱码国产麻豆| 国产精品免费观看| 青青视频免费在线| 西西人体44rt高清亚洲| 岛国av无码免费无禁网站| 免费毛片毛片网址| 亚洲精品视频在线播放| 日本成人免费在线| 日韩免费视频一区二区| 亚洲熟妇AV乱码在线观看| 亚洲第一成人影院| 久久精品免费一区二区| 免费大片av手机看片高清| 亚洲人成在线观看|