IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    在Ubuntu Linux下使用北邮毕业论文LaTeX模板

    Liu Yuyang发表于 2015-11-29 16:26:12
    love 0

    Using BUPTGraduateThesis on Ubuntu 14.10

    警告: 这是非官方模板,一切可能的格式问题都可能导致学位论文不被接受。欢迎选择HARD模式,and enjoy it!

    序言

    作为一个对office不熟练而tex较为熟悉的人,排版和公式在word下实在不会玩。得益于BUPTGraduateThesis项目,希望终能离开Word Online码论文的苦海。其实更像,我最终选择了HARD模式和未知。

    感谢张煜博士(Dazzle Zhang)、王贤凌博士(rioxwang)和之前所有为清华、北邮毕业论文模板做过奉献的先驱们,感谢XeCJK和CTEX的开发人员。在此致敬。

    On Ubuntu 14.10

    下载和查看帮助

    克隆项目(如你所见,需要git):

    1
    2
    3
    4
    5
    6
    7
    8
    ┌─[reverland@reverland-R478-R429] - [~/Downloads] - [2015-11-29 10:28:43]
    └─[0] <> git clone https://gitcafe.com/rioxwang/BUPTGraduateThesis.git
    Cloning into 'BUPTGraduateThesis'...
    remote: Counting objects: 164, done.
    remote: Total 164 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (164/164), 6.54 MiB | 1.00 MiB/s, done.
    Resolving deltas: 100% (67/67), done.
    Checking connectivity... done.

    进入目录查看下有哪些文件:

    1
    2
    3
    4
    5
    6
    ┌─[reverland@reverland-R478-R429] - [~/Downloads] - [2015-11-29 10:29:25]
    └─[0] <> cd BUPTGraduateThesis
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:29:48]
    └─[0] <git:(master cfb5f08) > ls
    buptgraduatethesis.pdf logo makethesis.bat release.zip
    install makethesis README.md

    切记第一件事 ,查看README.md:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 11:04:44]
    └─[0] <git:(master cfb5f08✱✈) > cat README.md
    Version
    ==================
    当前版本v6.2,同时托管于GitHub与GitCafe,支持Windows、Linux和OSX平台。该版本可以在项目主页直接下载ZIP压缩包获得,也可以通过如下任意一条git命令选择一个网速较快的服务器获得:

    git clone https://gitcafe.com/rioxwang/BUPTGraduateThesis.git
    git clone https://github.com/rioxwang/BUPTGraduateThesis.git


    About
    ==================
    BUPTGraduateThesis提供北京邮电大学研究生学位论文LaTeX文档类,其符合北邮研究生院2014年11月发布的《关于研究生学位论文格式的统一要求》。目前已经可以生成除了封面之外的所有论文内容,封面由于书脊的存在,需要进一步细调。我们建议利用BUPTGraduateThesis生成除了封面之外的所有PDF内容,再使用WORD生成封面。(注:扉页可以正常输出,而封面是打印时需要打印在指定彩纸上的内容,与扉页相比多了书脊这部分内容,需要根据论文薄厚做细调。校内的打印店均可以帮忙依据PDF的扉页生成封面。)

    该项目源于张煜博士(Dazzle Zhang)发起并维护的BUPTThesis项目,并由王贤凌博士(rioxwang)在其基础上增添了更加稳健的中文处理方案,于2013年7月5日发布。该项目借助XeTeX引擎,利用xeCJK宏包取代BUPTThesis中的CJK宏包作为中文解决方案。同时,BUPTGraduateThesis根据研究生院发布的最新要求,对学位论文格式进行微调,并且提供更为详细的用户帮助文档buptgraduatethesis.pdf。


    Quick Help
    ==================
    快速安装说明

    更具体的安装说明与帮助文档请参见buptgraduatethesis.pdf。

    为了方便新手入门,BUPTGraduateThesis提供了基于Docstrip的安装方式和免安装压缩包release.zip,用户可以依照自己的习惯选择,两者方式差别不大。使用免安装压缩包的用户,只需要将release.zip解压,并将所有文件拷贝到主目录下即可正常使用(注意备份已有工作!)。

    为了生成用户帮助文档buptgraduatethesis.pdf,安装前请保证Adobe系列中文字体已经安装。

    Adobe系列字体用于提供免费的常用中文字体:

    * AdobeFangsongStd-Regular.otf
    * AdobeHeitiStd-Regular.otf
    * AdobeKaitiStd-Regular.otf
    * AdobeSongStd-Light.otf

    Windows用户请打开CMD,输入如下命令进行安装:

    makethesis.bat install

    Linux/OSX用户请打开SHELL输入如下命令进行安装:

    chmod a+x makethesis
    ./makethesis install


    Change Logs
    ==================

    * v6.2:2015/04/23,修正参考文献列表序号不对齐的BUG(v6.1用户升级请在cls文件中搜索multibib宏包,删除其resetlabels选项的调用,在各个ch_xxx.tex和pubs.tex调用参考文献数据库之前使用\setcounter{NAT@ctr}{0}
    重置参考文献计数器)
    * v6.1:2015/01/16,修正发表论文列表中序号不对齐的BUG
    * v6.0:2014/01/02,重新整理buptgraduatethesis.bst;在bare_thesis.bib中给出各类参考文献模板;更新帮助文档;迁移到GitCafe
    * v5.4:2014/11/29,根据新版论文格式要求修正学位论文类参考文献的格式
    * v5.3:2014/11/22,修正buptgraduatethesis.bst中学位论文类参考文献格式的BUG
    * v5.2:2014/07/17,根据新版论文格式对文档类进行精简;修正封面的BUG;修正最新版xeCJK带来的问题;更新帮助文档
    * v5.1:2014/05/31,修正makethesis中分章参考文献编译的BUG,此BUG会影响Linux和Unix用户的分章参考文献输出
    * v5.0:2014/04/14,增添数学字体选项,可以使用Computer Modern字体;盲审版本将隐去致谢和独创性等声明页;根据新版硕、博士论文格式要求更新模板和封面;修改参考文献中英文姓名出现Jr时的排版,并添加说明;修改帮助文档的字体,不用再依赖TeX Gyre Pagella字体;修正图名和表名的字体;改进一系列参考文献排版规则;增加免安装版,解压即可用;去除makethesis中安装时的输出重定向,方便排错
    * v4.0:2013/12/26,根据xeCJK宏包的更新修改宏包加载项;修复由于伪粗体带来的复制粘贴的BUG
    * v3.0:2013/12/23,根据新版论文格式要求更新模板
    * v2.3:2013/11/29,修改bibtex生成的参考文献中URL的字体
    * v2.2:2013/11/29,修正缩略语在第一次引用时无法出现中文释义的 BUG
    * v2.1:2013/11/21,修改article类型参考文献显示样式
    * v2.0:2013/11/20,增加部分参考文献自定义配置的功能;更新帮助文档
    * v1.3:2013/11/15,修正makethesis.bat的BUG;将Unicode指令替换为char指令用于引入Unicode字符;使用xeCJKsetcharclass命令修正xetex引擎下的带圈数字脚注
    * v1.2:2013/11/14,修正makethesis.bat的BUG
    * v1.1:2013/07/30,更新makethesis的换行模式
    * v1.0:2013/07/08,初始版本

    To Do List
    ==================

    * 整理文档类的代码,增添注释,便于更多人一起学习LaTeX
    * 在书签中输出章节编号
    * 改进文档参考文献输入规范与IEEE参考文献输入规范的兼容性%

    README写得非常清晰,请 一定 认真参照README和buptgraduatethesis.pdf中的指示。我只简要记录下ubuntu下需要注意哪些问题,Linux用户可以参照我的记录。

    安装依赖包和字体

    先列出模板必要的依赖,首先是texlive中ubuntu哪些包。当然,如果也可以直接安装texlive-full,省心但这将耗费1.4G的空间。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:29:49]
    └─[0] <git:(master cfb5f08) > dpkg --get-selections |grep texlive
    texlive-base install
    texlive-bibtex-extra install
    texlive-binaries install
    texlive-extra-utils install
    texlive-font-utils install
    texlive-fonts-recommended install
    texlive-fonts-recommended-doc install
    texlive-generic-recommended install
    texlive-lang-cjk install
    texlive-lang-other install
    texlive-latex-base install
    texlive-latex-base-doc install
    texlive-latex-extra install
    texlive-latex-extra-doc install
    texlive-latex-recommended install
    texlive-latex-recommended-doc install
    texlive-luatex install
    texlive-pictures install
    texlive-pictures-doc install
    texlive-pstricks install
    texlive-pstricks-doc install
    texlive-science install
    texlive-science-doc install
    texlive-xetex install

    必要的字体,由于版权原因需要从网络上下载(Adobe系列字体):

    1
    2
    3
    4
    5
    6
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:31:55]
    └─[0] <git:(master cfb5f08✱✈) > fc-list|grep Adobe
    /home/reverland/.fonts/a/AdobeKaitiStd-Regular.otf: Adobe Kaiti Std,Adobe 楷体 Std,Adobe Kaiti Std R,Adobe 楷体 Std R:style=R,Regular
    /home/reverland/.fonts/a/AdobeHeitiStd_Regular_(v5.010).otf: Adobe Heiti Std,Adobe 黑体 Std,Adobe Heiti Std R,Adobe 黑体 Std R:style=R,Regular
    /home/reverland/.fonts/a/AdobeFangsongStd-Regular.otf: Adobe Fangsong Std,Adobe 仿宋 Std,Adobe Fangsong Std R,Adobe 仿宋 Std R:style=R,Regular
    /home/reverland/.fonts/a/AdobeSongStd-Light.otf: Adobe Song Std,Adobe 宋体 Std,Adobe Song Std L,Adobe 宋体 Std L:style=L,Regular

    微软Windows操作系统提供的中易字体:

    1
    2
    3
    4
    5
    └─[0] <> fc-list|grep sim
    /home/reverland/.fonts/s/simsun.ttc: SimSun,宋体:style=Regular
    /home/reverland/.fonts/s/simfang.ttf: FangSong_GB2312,仿宋_GB2312:style=Regular
    /home/reverland/.fonts/s/simkai.ttf: KaiTi_GB2312,楷体_GB2312:style=Regular
    /home/reverland/.fonts/s/simhei.ttf: SimHei,黑体:style=Regular

    ubuntu软件仓库提供的微软核心英文字体,包括Times New系列。

    1
    2
    3
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:53:40]
    └─[0] <git:(master cfb5f08✱✈) > dpkg --get-selections |grep mscore
    ttf-mscorefonts-installer install

    新安装字体后别忘了更新系统字体缓存:

    1
    2
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:33:10]
    └─[0] <git:(master cfb5f08✱✈) > fc-cache -fv

    生成示例文件

    使用如下命令生成示例文件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:30:47]
    └─[0] <git:(master cfb5f08✱✈) > ./makethesis install
    mkdir: cannot create directory ‘example’: File exists
    Extracting and installing files...
    This is XeTeX, Version 3.1415926-2.5-0.9999.3 (TeX Live 2013/Debian)
    restricted \write18 enabled.
    entering extended mode
    (./install/buptgraduatethesis.ins
    (/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
    (/usr/share/texlive/texmf-dist/tex/latex/base/docstrip.tex
    Utility: `docstrip' 2.5d <2005/07/29>
    English documentation <1999/03/31>
    ...
    Underfull \hbox (badness 10000) detected at line 765
    []\EU1/lmtt/m/n/10 \fs []
    [9] [10]

    LaTeX Warning: `!h' float specifier changed to `!ht'.

    [11] [12]) [13] (./buptgraduatethesis.gls) [14] (./buptgraduatethesis.aux)

    LaTeX Font Warning: Some font shapes were not available, defaults substituted.

    )
    (see the transcript file for additional information)
    Output written on buptgraduatethesis.pdf (14 pages).
    Transcript written on buptgraduatethesis.log.
    Clearing TMP files...
    ===========================================
    = Mission Done!
    = BUPTGraduateThesis is successfully installed!
    ===========================================

    会在当前目录生成 buptgraduatethesis.cls 、 buptgraduatethesis.cfg、buptgraduatethe- sis.bst 以及 example 文件夹。

    注意: 你看到Mission Done并不一定真的成功生成文件了,可能中途发生些找不到字体的错误并只生成了部分文件,请仔细检查生成文件是否正常

    检查example文件夹。该文件夹包含了一个示例,可以用来检查安装是否正常。

    1
    2
    3
    4
    └─[0] <git:(master cfb5f08✱✈) > ls example
    ackgmt.tex bare_thesis.bib ch_intro.tex pubs.bib
    acronyms.tex bare_thesis.tex metadata.tex pubs.tex
    app_lhospital.tex ch_concln.tex notations.tex

    按buptgraduatethesis.pdf建议将example中文件拷贝到当前目录,并检查确认。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:34:11]
    └─[0] <git:(master cfb5f08✱✈) > cp example/* .
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:35:50]
    └─[0] <git:(master cfb5f08✱✈) > ls
    ackgmt.tex buptgraduatethesis.cfg example notations.tex
    acronyms.tex buptgraduatethesis.cls install pubs.bib
    app_lhospital.tex buptgraduatethesis.log logo pubs.tex
    bare_thesis.bib buptgraduatethesis.pdf makethesis README.md
    bare_thesis.tex ch_concln.tex makethesis.bat release.zip
    buptgraduatethesis.bst ch_intro.tex metadata.tex xeCJK-fonts.def

    确认无误后测试生成论文。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:36:37]
    └─[0] <git:(master cfb5f08✱✈) > ./makethesis thesis
    ===========================================
    =
    = TARGET=bare_thesis
    = MAINMATTERS=ch_intro ch_concln
    = DRIVER=xetex
    = BIBTYPE=chapbib
    =
    ===========================================
    Double check above configurations! Press anykey to continue, CTRL+C to stop!

    按任意键继续

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    (/usr/share/texlive/texmf-dist/tex/xelatex/xecjk/config/xeCJK.cfg))
    (/usr/share/texmf/tex/latex/CJK/CJKnumb.sty) (./xeCJK-fonts.def
    kpathsea: Running mktextfm KaiTi/ICU
    /usr/share/texlive/texmf-dist/web2c/mktexnam: Could not map source abbreviation I for ICU.
    /usr/share/texlive/texmf-dist/web2c/mktexnam: Need to update /usr/share/texlive/texmf-dist/fonts/map/fontname/special.map?
    mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ICU
    This is METAFONT, Version 2.718281 (TeX Live 2013/Debian)


    kpathsea: Running mktexmf ICU
    ! I can't find file `ICU'.
    <*> \mode:=ljfour; mag:=1; nonstopmode; input ICU

    Please type another input file name
    ! Emergency stop.
    <*> \mode:=ljfour; mag:=1; nonstopmode; input ICU

    Transcript written on mfput.log.
    grep: ICU.log: No such file or directory
    mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ICU' failed to make ICU.tfm.
    kpathsea: Appending font creation commands to missfont.log.


    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !
    ! fontspec error: "font-not-found"
    !
    ! The font "KaiTi" cannot be found.
    !
    ! See the fontspec documentation for further information.
    !
    ! For immediate help type H <return>.
    !...............................................

    l.14 ...Font={SimHei}, ItalicFont={KaiTi}]{SimSun}

    ?

    喜大普奔,找不到字体。根据提示,检查系统安装的字体名字。

    1
    2
    3
    ┌─[reverland@reverland-R478-R429] - [~/Downloads] - [2015-11-29 10:57:01]
    └─[0] <> fc-list|grep KaiTi
    /home/reverland/.fonts/s/simkai.ttf: KaiTi_GB2312,楷体_GB2312:style=Regular

    根据buptgraduatethesis.pdf说明更改字体设定。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 10:59:35]
    └─[0] <git:(master cfb5f08✱✈) > sed -i 's/KaiTi/KaiTi_GB2312/g' xeCJK-fonts.def
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 11:09:50]
    └─[0] <git:(master cfb5f08✱✈) > ./makethesis thesis
    ===========================================
    =
    = TARGET=bare_thesis
    = MAINMATTERS=ch_intro ch_concln
    = DRIVER=xetex
    = BIBTYPE=chapbib
    =
    ===========================================
    Double check above configurations! Press anykey to continue, CTRL+C to stop!

    Checking Existence of Essential Files...
    Document class installed! Generating Thesis PDF...
    Building thesis PDF...
    This is XeTeX, Version 3.1415926-2.5-0.9999.3 (TeX Live 2013/Debian)
    restricted \write18 enabled.
    entering extended mode
    (./bare_thesis.tex
    LaTeX2e <2011/06/27>
    Babel <3.9h> and hyphenation patterns for 11 languages loaded.
    (./buptgraduatethesis.cls

    LaTeX Warning: You have requested document class `buptgraduatethesis',
    but the document class provides `buptgraduatethesis.cls'.


    Document Class: buptgraduatethesis.cls 2015/04/23 v6.2 BUPT graduate thesis LaT
    eX2e class
    ...
    Package natbib Warning: There were undefined citations.

    (./bare_thesis.aux (./ch_intro.aux) (./ch_concln.aux))

    LaTeX Warning: There were undefined references.


    LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

    )
    (see the transcript file for additional information)
    Output written on bare_thesis.pdf (23 pages).
    Transcript written on bare_thesis.log.
    Processing BIB files...
    Processing index files...
    This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support).
    Scanning style file ./bare_thesis.ist.............................done (29 attributes redefined, 0 ignored).
    Scanning input file bare_thesis.acn....done (4 entries accepted, 0 rejected).
    Sorting entries....done (10 comparisons).
    Generating output file bare_thesis.acr....done (11 lines written, 0 warnings).
    Output written in bare_thesis.acr.
    Transcript written in bare_thesis.alg.
    Rebuilding to generate cross-reference...

    ** WARNING ** Unparsed material at end of special ignored.

    ** WARNING ** Unparsed material at end of special ignored.
    ===========================================
    = Mission Done!
    = Thesis PDF is successfully generated!
    ===========================================
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 11:30:54]
    └─[0] <git:(master cfb5f08✱✈) >

    似乎成功了,检查生成的pdf文件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 11:01:44]
    └─[0] <git:(master cfb5f08✱✈) > evince bare_thesis.pdf
    ┌─[reverland@reverland-R478-R429] - [~/Downloads/BUPTGraduateThesis] - [2015-11-29 11:04:32]
    └─[0] <git:(master cfb5f08✱✈) > ./makethesis clean
    Clearing TMP files...
    Clearing TMP files in installation...
    Clearing TMP files in thesis generation...
    ===========================================
    = Mission Done!
    = ALL TMP files are cleared!
    ===========================================

    看了看,似乎没什么问题。接下来可能有空会记录下使用。

    Have Fun!

    正如史上最神奇的游戏所展示的,Lost is fun。



沪ICP备19023445号-2号
友情链接