Skip to the content.

本项目不再维护,请使用note286/xduts: 西安电子科技大学LaTeX套装


目录

项目名称

xdupgthesis-Xidian University Postgraduate Thesis

西安电子科技大学研究生学位论文XeLaTeX模板

注意事项

在使用过程中有任何问题或者建议,可以提Issue反馈,注意,不同的问题开多个issue,不要堆在一个issue里。

虽然我感谢贡献,但我认为对于本模板,pull requests通常不是一个好方法(除非已经讨论并同意更改)。模板的稳定性非常重要,这意味着对模板的更改必然非常保守。这也意味着在进行任何更改之前必须进行大量讨论。因此,如果您确实决定发布pull requests,请记住这一点:我确实欣赏新想法,但不能总是将它们集成到模板中,我很可能会拒绝以这种方式进行的更新。

如果从来没接触过LaTeX又不肯花时间去学习,或者马上要交论文没有时间学习,不建议使用LaTeX,虽然Microsoft Word排版也不简单,但还是建议使用Microsoft Word。目前学校完全支持LaTeX编译出来的PDF文件进行查重和最终的提交,但是如果你的导师要求必须使用Microsoft Word才帮你修改论文的话,那么建议使用Microsoft Word来配合导师。

关于环境配置请阅读install-latex-guide-zh-cn.pdf,想要入门LaTeX或者对LaTeX语法一知半解的请阅读lshort-zh-cn.pdf,想要查询数学符号的可以在symbols-a4.pdf中搜索。本项目文档都很详细,请认真阅读README。

由于模板升级频繁,在开始使用和提问前,请确保您已经认真完整地阅读了README和示例代码。

项目起源

本节讲述本项目起源,用户不感兴趣可以跳过,直接使用本模板即可。

本项目起源于身边陆续有人使用西安电子科技大学提供的LaTeX模板,却卡在无法编译,使用时出错等问题。最近感觉LaTeX水平勉强支撑对模板的修正,因此边阅读XDUthesis.cls文件源码边修改,水平非常有限,难免出错或有不合适的修改,可提Issue来反馈。

首先阅读的是压缩包内的templet.log文件,结合templet.pdf属性,推测可能的编译命令为:

latex templet
bibtex templet
latex templet
latex templet
dvipdfmx templet

目前已不建议使用latex搭配dvipdfmx的方式编译中文文档,甚至pdflatex的编译方式也不推荐,而建议使用更为先进的xelatex来编译中文文档,使用者最为直观的感受是无需手动在中英文之间添加空格或者~XeLaTeX会自动处理中英文之间的空白。

此外,我们可以发现templet.bbl文件是空的,且templet.pdf内是无参考文献条目的,这是由于该模板压缩包的发布者没有将参考文献样式文件放入主目录,根本没有测试成功,没有检查日志即PDF文件是否正常就发布了。因此我们可以在各大论坛和博客中看到介绍使用西安电子科技大学研究生学位论文模板时,需要首先将gbt7714-2005.bst放入XDUthesis文件夹内这样令人啼笑皆非的操作建议。

此外在阅读templet.log文件的过程中发现使用者的很多宏包的版本很低,这不是一个良好的使用习惯,建议大家都使用最新版的套装并更新所有包,LaTeX也是有bug的,尤其是众多的宏包,所以不要一直使用老旧版本。

在此之前有很多人已经修改了学校模板使之能够正常编译,但是绝大部分人都只是抱着能编译即可的态度去修改,没有认真阅读模板的代码,没有理解模板的逻辑,对最新的一些宏包使用方式不够了解,仅停留在了会搜索答案并修改模板使之可以编译,但不懂为何的阶段。本闲人工作学习之余花费了一些时间阅读源码和宏包手册,尽可能做到每次修改都有所依据,知其所以然。

综上所述,在发现学校系统的原始模板问题多多,故整理个人的一点点工作并公开,为更多的一般LaTeX用户提供较为容易使用的模板。

使用/示例

本节介绍了一些使用本模板的方法,建议用户根据自身情况阅读。

本模板内置的一些示例在附录中,可供参考。正文部分的源码不建议参考,其内容为原始模板,部分使用方式不是很规范。

卸载与安装

MiKTeX用户需要额外安装Perl以便于使用latexmk,可通过运行perl -v来检查是否已安装。此外,MiKTeX用户自行打开MiKTeX控制台更新所有包。

下面主要介绍TeX Live/MacTeX。

Windows和GNU/Linux平台使用TeX Live,macOS平台使用MacTeX,跨版本升级均需要卸载旧版。

Windows平台卸载方法为管理员身份直接运行C:\texlive\2021\tlpkg\installer\uninst.bat,不同版本和安装位置请按需修改目录,更多介绍请参考install-latex-guide-zh-cn.pdf第1.2节,GNU/Linux平台卸载方法请参考install-latex-guide-zh-cn.pdf第2.2节,macOS上卸载方法请参考Uninstalling MacTeX

本模板仅在TeX Live/MacTeX 2021通过测试,其他旧版本并未实际进行测试。建议安装最新版LaTeX发行版套装并更新所有包,如果已安装TeX Live或MacTeX并且能够编译,用户可以选择不升级套装,不更新包。

目前已知旧版本套装和旧包存在的问题:

校内睿思下载地址:TeX Live 2021MacTeX 2021,最新版中科大源校外下载地址:TeX LiveMacTeX

后续如无特殊情况,仅以Windows举例,其他操作系统上类似。右键选择下载好的.iso文件,选择打开方式->Windows资源管理器,然后右键以管理员身份运行install-tl-windows.bat,保持默认配置即可,如没有本地阅读文档的需求,安装时可以不勾选安装文档的选项,这样会减少大约一半的磁盘占用空间,具体来说,在TeX Live安装窗口中点击左下角Advanced,取消勾选安装字体/宏包文档目录树和安装字体/宏包源码目录树即可不安装文档和源码。更多LaTeX环境安装与配置请阅读install-latex-guide-zh-cn.pdf,建议更新所有包至最新版,Windows平台上使用管理员身份运行cmd

配置镜像源

管理员权限运行

tlmgr repository set https://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet/

更新包管理器和所有包

管理员权限运行

tlmgr update --all --self

如果遇到更新失败,重新执行一遍。

字体安装

考虑到可能存在版权问题,故不提供字体文件或字体下载链接。

对于编译得到pdf文件,可以通过运行

pdffonts xdupgthesis.pdf

来查看字体信息,包括字体名称和字体嵌入等情况。

Windows

已安装Microsoft Office的Windows平台无需手动配置字体,所需字体Microsoft Office和Windows操作系统已内置。如果没有安装Microsoft Office,会缺失Cambria Math字体,可以从已安装Microsoft Office的Windows设备C:\Windows\Fonts处拷贝出cambria.ttc字体,右键该字体文件,选择为所有用户安装即可。

GNU/Linux

由于默认情况下中易宋体的意大利形状对应的是中易楷体,因此中文字体除中易宋体和中易黑体外,还需要中易楷体。

此外还需要数学字体Cambria Math。

用户可以从Windows操作系统字体库中拷贝出simhei.ttfsimkai.ttfsimsun.ttctimes.ttftimesbd.ttftimesbi.ttftimesi.ttfcambria.ttc共8个字体文件至GNU/Linux,其中三个中文字体文件和Cambria Math数学字体文件位于C:\Windows\Fonts处,Times New Roman字体的四个字体文件位于C:\Windows\Fonts\Times New Roman处。用户在查找字体时,可以根据Windows中英文系统内字体名称来查找,找到后复制该字体,粘贴至某个空白文件夹即可得到对应的字体文件,然后将这8个字体文件传输至GNU/Linux。

字体名称 字体文件名 Windows英文系统内字体名称 Windows中文系统内字体名称
中易黑体 simhei.ttf SimHei Regular 黑体 常规
中易楷体 simkai.ttf KaiTi Regular 楷体 常规
中易宋体 simsun.ttc SimSun Regular 宋体 常规
Times New Roman times.ttf Times New Roman Regular Times New Roman 常规
Times New Roman timesbd.ttf Times New Roman Bold Times New Roman 粗体
Times New Roman timesbi.ttf Times New Roman Bold Italic Times New Roman 粗斜体
Times New Roman timesi.ttf Times New Roman Italic Times New Roman 斜体
Cambria Math cambria.ttc Cambria Math Regular Cambria Math 常规

使用如下命令在GNU/Linux安装字体:

sudo cp simhei.ttf simkai.ttf simsun.ttc times.ttf timesbd.ttf timesbi.ttf timesi.ttf cambria.ttc /usr/share/fonts

然后就可以根据编译里的方法去编译了。

macOS

参考GNU/Linux从Windows平台提取字体文件,然后在macOS上双击安装字体文件即可。注意,虽然macOS内置了Times New Roman字体,但是该内置字体版本过于老旧,有缺字的现象,建议将8个字体文件全部安装。

然后就可以根据编译里的方法去编译了。

Overleaf

Overleaf in Chinese平台使用时,由于Overleaf是安装在GNU/Linux上的最新版的TeX Live,用户无需考虑LaTeX套装版本问题,仅需要安装字体即可,用户首先将本仓库下载,再根据GNU/Linux中的方法得到8个字体文件。

在Overleaf左上角点击创建新项目,选择上传项目,将压缩包上传至Overleaf,会自动进入该论文模板项目。点击左上角新建目录按钮,新建一个名为fonts的文件夹,选中fonts文件夹,点击左上角上传按钮将所有的字体文件上传。最后根据Overleaf编译配置如何在线编译。

TeXPage

TeXPage平台使用时,由于TeXPage是安装在GNU/Linux上的最新版的TeX Live,用户无需考虑LaTeX套装版本问题,仅需要安装字体即可,用户首先将本仓库下载,再根据GNU/Linux中的方法得到字体文件。

在TeXPage个人主页左上角点击创建,选择上传项目,将压缩包上传至TeXPage,进入该论文模板项目。点击左上角新建文件夹按钮,新建一个名为fonts的文件夹,选中fonts文件夹,点击左上角上传文件按钮将所有的字体文件上传。最后根据TeXPage编译配置如何在线编译。

下载与编辑

请点击下载压缩包或克隆该仓库,当用户访问GitHub不便时,可以选择从国内GitHub镜像网站点击下载压缩包。

用户可直接修改texbibcfg等类型文件来进行论文的撰写。具体来说,用户通过编辑xdupgthesis.texxdupgthesis.bibchapters文件夹下文件来撰写论文内容,通过修改xdupgthesis.cfg内容来更改论文信息或者个人信息。此外,xdupgthesis.clsxdupgthesis.def文件请不要修改。

其中,Overleaf用户注意,由于Overleaf的限制

While the Overleaf editor can edit any plain text file, only uploads with the most common LaTeX file extensions (.tex, .bib, .cls, .sty, …) will be editable on the site.

因此主目录下的xdupgthesis.cfg文件无法直接在线编辑,只能通过下载再上传的方式进行编辑,不过由于该文件一般仅需要填写一次,也可以接受。

另外,在CTEX宏集手册中5.3章节指出:

根据空格后面的情况决定是否保留:如果空格后面是汉字,则忽略该空格,否则保留。

因此,用户在写作过程中,建议每行汉字控制在40个字符,英文控制在80个字符,即刚好填充一行的字符数。用户可以随意的换行,在LaTeX中,换行意味着空格,空格会根据上面的情况选择保留还是忽略,如果空格后面是汉字,则忽略该空格,用户完全不需要担心会产生多余的空格。这样的好处是在从文档到源码的反向同步中可以非常精准地定位。

编译

本模板目前仅在Windows和GNU/Linux平台上的TeX Live 2021和macOS平台上的MacTeX 2021进行了测试,均更新所有包至最新版,并参考字体安装安装了缺失字体。命令编译时切换到xdupgthesis.tex所在目录执行命令即可。IDE编译选择对应IDE中的XeLaTeX的编译方式,参考文献使用BibTeX编译。关于PDF查看器,Windows平台上推荐使用Sumatra PDF Viewer,macOS平台上推荐Skim,适当配置可支持正向同步和反向同步。推荐LaTeX新用户使用TeXstudio。

命令编译

介绍如何使用命令编译,可选择使用latexmk来快速编译或者常规的四次编译。

latexmk编译

编译

latexmk

清理辅助文件

latexmk -c

四次编译

编译

xelatex -synctex=1 xdupgthesis
bibtex xdupgthesis
xelatex -synctex=1 xdupgthesis
xelatex -synctex=1 xdupgthesis

清理辅助文件

latexmk -c

文本编辑器编译

任何一款文本编辑器均可以编辑.tex文件,包括但不限于Sublime TextVisual Studio Code等。一些文本编辑器支持安装扩展,例如Sublime Text可以安装LaTeXTools、Visual Studio Code可以安装LaTeX Workshop来辅助进行.tex文件的编辑,还提供了一些常用的编译配置。可以搭配Sumatra PDF Viewer或Skim实现反向同步,正向同步一般需要文本编辑器或其扩展支持。

一些文本编辑器不支持自定义编译功能或者安装扩展,依然可以使用文本编辑器来编辑.tex文件,使用命令来进行编译。

WinEdt编译

下载WinEdt安装包并安装,支持Windows平台。安装后可以查看Quick Guide获取更多关于WinEdt的使用帮助。

打开WinEdt后,点击File->Open打开xdupgthesis.tex文件,点击Project->Build Tree,在左侧Tree栏中xdupgthesis.tex文件上左键单击,再点击Project->Set Main File,这样设置后可以使得在任意子文件内均可以直接点击编译而无需切换至主文件再编译。点击Option->Execution Modes,在弹出的面板左侧选择TeXify,在面板左下角点击Browse for executable,依次找到C:\texlive\2021\bin\win32\latexmk.exe文件并点击打开,如果安装TeX Live至非默认目录,依情况修改;将左下角的Switches中对应值清空,最后点击面板上的OK。

在Toolbar中PDF Preview左侧的按钮下拉菜单中可以切换编译引擎。完全编译选择TeXify,可以自动处理交叉引用和参考文献引用,编译时间较长;不考虑交叉引用和参考文献引用时,快速编译选择XeLaTeX,编译时间较短,需要参考文献引用时再点击TeX->BibTeX编译参考文献,接着执行两次XeLaTeX编译可以生成参考文献列表和参考文献引用。

点击Tools->Erase Output Files或者Toolbar中的Erase Output Files按钮,在弹出的面板中再点击Delete Now可以清理辅助文件,常用于某次报错后清理错误的辅助文件,避免二次报错。

可以参考QuickGuide.pdf中第2.3节配置WinEdt默认PDF查看器为Sumatra PDF Viewer,即点击Option->Execution Modes,在弹出的面板选择PDF Viewer标签,将PDF Viewer Executable改为SumatraPDF.exe,Sumatra PDF Viewer默认安装在%LOCALAPPDATA%\SumatraPDF\处,这样就可以使用Sumatra PDF Viewer来查看PDF文件。Sumatra PDF Viewer的反向同步一般WinEdt会自动配置,如果需要手动配置,在Sumatra PDF Viewer左上角点击三道杠->设置->选项,在最后设置反向搜索命令行中填写

"C:\Program Files\WinEdt Team\WinEdt 10\WinEdt.exe" "[Open(|%f|);SelPar(%l,8);]"

并点击确定即可。

注意,由于WinEdt添加新的编译配置较为复杂,本方法将TeXify内的编译引擎由LaTeX改为latexmk,并使用了主目录下的latexmkrc编译配置。

TeXworks编译

下载TeXworks安装包并安装,支持Windows,GNU/Linux和macOS平台。安装后可以查看A short manual for TeXworks获取更多关于TeXworks的使用帮助。

打开TeXworks后,点击编辑->首选项->排版->处理工具,点击右下角蓝色加号,在弹出的面板中名称处填写latexmk,程序处点击右侧浏览选择C:\texlive\2021\bin\win32\latexmk.exe文件并点击打开,如果安装TeX Live至非默认目录,依情况修改,最后点击面板上的OK。选择新建的latexmk,点击右侧的蓝色上箭头移动至顶部,再将内置的XeLaTeX和BibTeX移动至顶部,使得latexmk、XeLaTeX和BibTeX位于处理工具的顶部,方便后续切换引擎。再选择下方的默认,可以将latexmk或者XeLaTeX设置为默认,最后点击OK。在chapters文件夹内所有.tex文件头部添加一行,内容为% !TeX root = ../xdupgthesis.tex,这样设置后可以使得在任意子文件内均可以直接点击编译而无需切换至主文件再编译,具体请查看A short manual for TeXworks中4.2节。

点击文件->打开,选择xdupgthesis.tex文件,Toolbars左上角可以切换编译引擎。完全编译选择latexmk,可以自动处理交叉引用和参考文献引用,编译时间较长;不考虑交叉引用和参考文献引用时,快速编译选择XeLaTeX,编译时间较短,需要参考文献引用时切换至BibTeX编译参考文献,接着执行两次XeLaTeX编译可以生成参考文献列表和参考文献引用。

点击文件->删除辅助文件,在弹出的面板中再点击删除可以清理辅助文件,常用于某次报错后清理错误的辅助文件,避免二次报错。

TeXworks内置了PDF查看器,支持正向同步和反向同步功能,具体请查看A short manual for TeXworks中5.1节。

TeXstudio编译

下载TeXstudio安装包并安装,支持Windows,GNU/Linux和macOS平台。安装后可以查看TeXstudio : User manual获取更多关于TeXstudio的使用帮助。

打开TeXstudio后,点击文件->打开,选择xdupgthesis.tex文件,TeXstudio会自动检测主文档,如果没有自动检测成功,点击选项->主文档进行手动设置,这样设置后可以使得在任意子文件内均可以直接点击编译而无需切换至主文件再编译。点击选项->设置TeXstudio->命令,将Latexmk处值改为latexmk.exe,切换至构建标签,将默认编译器改为Latexmk或者XeLaTeX。

TeXstudio无法快速切换编译引擎,只能在选项->设置TeXstudio->构建里修改默认编译器,或者点击工具->命令里临时运行指定的编译引擎。完全编译选择latexmk,可以自动处理交叉引用和参考文献引用,编译时间较长;不考虑交叉引用和参考文献引用时,快速编译选择XeLaTeX,编译时间较短,需要参考文献引用时切换至BibTeX编译参考文献,接着执行两次XeLaTeX编译可以生成参考文献列表和参考文献引用。

点击工具->清理辅助文件,在弹出的面板中选择合适的范围再点击OK便可以清理辅助文件,常用于某次报错后清理错误的辅助文件,避免二次报错。

TeXstudio内置了PDF查看器,支持正向同步和反向同步功能,具体请查看TeXstudio : User manual中4.10节。

Texmaker编译

下载Texmaker安装包并安装,支持Windows,GNU/Linux和macOS平台。安装后可以查看Texmaker : User manual获取更多关于Texmaker的使用帮助。

打开Texmaker后,点击文件->打开,选择xdupgthesis.tex文件,点击选项->设置当前文档为主文档,这样设置后可以使得在任意子文件内均可以直接点击编译而无需切换至主文件再编译。点击选项->配置Texmaker->命令,将LaTeX-Mk中对应值改为latexmk,点击OK。

工具栏中可以切换编译引擎。完全编译选择latexmk,可以自动处理交叉引用和参考文献引用,编译时间较长;不考虑交叉引用和参考文献引用时,快速编译选择XeLaTeX,编译时间较短,需要参考文献引用时切换至BibTeX编译参考文献,接着执行两次XeLaTeX编译可以生成参考文献列表和参考文献引用。

点击工具->清除历史记录,在弹出的面板中再点击删除文件可以清理辅助文件,常用于某次报错后清理错误的辅助文件,避免二次报错。

Texmaker内置了PDF查看器,支持正向同步和反向同步功能,具体请查看Texmaker : User manual中3.3节。

Overleaf编译

用户首先根据Overleaf中关于字体安装的介绍安装好字体,再点击左上角的菜单按钮修改编译器为XeLaTeX,最后为xdupgthesis文档类传入overleaf参数,即将xdupgthesis.tex

\documentclass{xdupgthesis}

改为

\documentclass[overleaf]{xdupgthesis}

后即可正常编译。

TeXPage编译

用户首先根据TeXPage中关于字体安装的介绍安装好字体,再点击右上角的设置按钮修改LaTeX编译器为XeLaTeX,最后为xdupgthesis文档类传入texpage参数,即将xdupgthesis.tex

\documentclass{xdupgthesis}

改为

\documentclass[texpage]{xdupgthesis}

后即可正常编译。

文档类可选参数

本模板中xdupgthesis文档类支持如下可选参数:

以上参数功能相互独立,均可任意组合使用,选项之间无先后顺序之分,多个选项之间使用逗号隔开,例如:

\documentclass[overleaf,mprof,anonrvw]{xdupgthesis}

内置宏包

本模板已内置如下常用宏包,如果需要使用如下宏包,无需用户导入,直接使用即可。

英文学位论文

西安电子科技大学申请学术学位博士学位相关资料-研究生院/研究生工作部-西安电子科技大学下方有附件西安电子科技大学申请博士学位相关资料-2021年3月更新.zip,该压缩包内有3-4西安电子科技大学英文学位论文撰写相关规定.doc,其SHA-1值为:

0DF4B42F4BB1B4B6889D51C83A2C9A75B0C5512D

其内有如下描述:

英文学位论文撰写的总体要求遵照我校研究生学位论文撰写要求执行,除封面、中文题名页、学位论文独创性声明和关于论文使用授权的说明、中文摘要、中文目录页和中文参考文献用中文撰写外,其他内容一律用英文撰写。

学位论文的封面用中文填写,用研究生院统一印制的纸张打印,不得手写。

题名页包括英文题名页和中文题名页,英文题名页在前,中文题名页在后,填写要求遵照我校研究生学位论文撰写要求执行。

声明页用中文版本,不用翻译成英文。

摘要包括英文摘要和中文摘要,英文摘要在前,中文摘要在后。除此之外,在提交送审学位论文时,博士学位论文必须附加一份3000~5000字左右的详细中文摘要,硕士学位论文必须附加一份1500~3000字左右的详细中文摘要。详细中文摘要与学位论文分开装订,供评审专家参考。

目录包括中文目录页和英文目录页,英文目录页在前,中文目录页在后。

正文全部用英文撰写,撰写要求遵照我校研究生学位论文撰写要求执行。

页眉的“西安电子科技大学博士/硕士学位论文”统一翻译成:Doctoral Dissertation of XIDIAN UNIVERSITY/Master Thesis of XIDIAN UNIVERSITY。

英文字体统一用Times New Roman,字号遵照我校研究生学位论文撰写要求执行。

具体要求整理如下:

如果用户想要撰写英文学位论文,需要在xdupgthesis.tex中为en参数(English),即将

\documentclass{xdupgthesis}

改为

\documentclass[en]{xdupgthesis}

此外,需要注意:

数学字体切换开关

本模板支持Cambria Math、TeX Gyre Termes Math和Computer Modern三种数学字体。

本模板默认数学字体为Cambria Math,用户可以自行选择使用TeX Gyre Termes Math和Computer Modern。由于Cambria Math为Microsoft Office内置字体,因此没有安装Microsoft Office的设备无法直接使用,请参考字体安装安装Cambria Math字体。

如果用户想要使用TeX Gyre Termes Math字体,需要在xdupgthesis.tex中为文档类添加mf=tgtm参数(Math Font=TeX Gyre Termes Math),即将

\documentclass{xdupgthesis}

改为

\documentclass[mf=tgtm]{xdupgthesis}

如果用户想要使用Computer Modern字体,需要在xdupgthesis.tex中为文档类添加mf=cm参数(Math Font=Computer Modern),即将

\documentclass{xdupgthesis}

改为

\documentclass[mf=cm]{xdupgthesis}

数学符号

建议排版数学符号时参考推荐性国家标准《物理科学和技术中使用的数学符号》(标准号GB/T 3102.11-1993),该标准已于1994年7月1日实施,自2017年3月23日起,该标准转化为推荐性标准,不再强制执行。

参考文献引用

btxdoc文档第3.1章节描述了BibTeX的标准类型的必选域和可选域。在参考文献条目样式中提到本模板采用的是GB/T 7714-2015,用户可以自行下载相应标准查看示例。国标中规定了16种参考文献类型,部分类型不是BibTeX的标准类型,此外国标中规定的著录项目多于BibTeX的标准域。因此,强烈建议用户参考gbt7714.pdf中关于文献类型和著录项目的描述以及standard.bib中丰富的示例。

百度学术Google Scholar导出的bib文件不是很规范,经常有很大问题,感兴趣的可以去BibTeX format explained了解bib文件的合法格式。用户可以使用dblp生成的bib条目,遇到dblp没有的条目,可以参考上述文档和示例自行整理。已添加部分常用类型参考文献条目样例至xdupgthesis.bib供用户参考。需要注意的是,不要轻易使用分组即{},尤其是author域。无论中英文,每个作者均使用and连接。除非文献卷号、期号和页码均无,否则不必提供DOI域。对于网页链接,使用online类型,填写authortitleurlurldate域即可。


研究生院要求

引用处右上角用方括号标注阿拉伯数字编排的序号

因此本模板默认设置\cite{}为上标模式,直接使用即可符合学校的要求,例如:

测试引用\cite{ChangHTD19,WangZSS21,GongL21}是否正常。

或者使用\cites{}

此外,为满足部分用户的特殊需求,也提供了正文模式的引用,即\citen{}


用户在\caption{}中使用\cite{}时,由于图表索引的存在,会导致图表引用的文献序号始终靠前,详见一个小问题,在引用图片的caption中使用\cite{}导致插图索引目录中同样出现引用是要求的吗 · Issue #21

此时用户可以将

\caption{方案开销\cite{Collinson21}}

修改为

\caption[方案开销]{方案开销\cite{Collinson21}}

此时,在图表索引中的无参考文献引用,而在正文中的有参考文献引用,这样就可以避免上述问题。

字体形状与字体系列

本模板正文默认使用中易宋体和Times New Roman,支持常用的字体形状如意大利和倾斜,支持常见的字体系列如加宽加粗。

对于中易宋体,意大利形状对应中易楷体,倾斜形状对应中易宋体伪斜体,加宽加粗系列对应中易宋体伪粗体。其中,参考fontspec.pdf中的示例,设置倾斜程度为0.2,参考清华大学学位论文模板thuthesis.dtx,设置粗细程度为3

对于Times New Roman,意大利形状及加宽加粗系列均有对应的Times New Roman字体文件,倾斜形状与意大利形状一致,因此无需伪斜体和伪粗体。

字体形状和字体系列可以组合使用,例如:

意大利形状\textit{测试ABCabc123}
倾斜形状\textsl{测试ABCabc123}
加宽加粗系列\textbf{测试ABCabc123}
加宽加粗系列叠加意大利形状\textbf{\textit{测试ABCabc123}}
加宽加粗系列叠加倾斜形状\textbf{\textsl{测试ABCabc123}}
强调\emph{测试ABCabc123}

在数学公式中,可以使用\bm{}命令来选择粗体数学符号,使用\text{}命令在数学公式中插入普通文本,例如:

$\bm{a^2}+\bm{b}^2=c^2$
$\text{被减数} - \text{减数} = \text{}$

中英文间空白

xeCJK宏包文档第1节第4点指出:

自动调整中英文间空白。

因此,使用xelatex来编译中文文档,用户无需主动在中英文之间添加空格或者~XeLaTeX会自动处理中英文间空白。

为了避免用户困惑,移除了原模板中为了适应在落后引擎实现中英文间空白而添加的~

标点符号

重点说一下引号的使用,中英文的引号在LaTeX中是不同的,中文引号可以直接通过中文输入法输入,英文引号较为特殊,例如:

这是`单引号',这是``双引号'',使用英文字体Times New Roman。
这是‘单引号’,这是“双引号”,使用中文字体宋体。

其中英文前引号为英文输入法下键盘中TAB按键上方的按键,后引号为英文输入法下键盘中引号按键。

更多标点符号的使用如连字符、破折号和波浪号等可见lshort-zh-cn.pdf第2.3.5节。

交叉引用

本模板有图、子图、表、算法、公式、假设、定义、命题、引理、定理、公理、推论、练习、例、注释、问题、猜想、证明、章节、附录和算法行等引用命令,使用方法如下:

图的具体内容如\figureref{figu1}所示。
子图的具体内容如\subfigureref{figu1}所示。
表的具体内容如\tableref{tabl1}所示。
算法的具体内容如\algorithmref{algo1}所示。
公式的具体内容如\equationref{equa1}所示。
假设的具体内容如\assumptionref{assu1}所示。
定义的具体内容如\definitionref{defi1}所示。
命题的具体内容如\propositionref{prop1}所示。
引理的具体内容如\lemmaref{lemm1}所示。
定理的具体内容如\theoremref{theo1}所示。
公理的具体内容如\axiomref{axio1}所示。
推论的具体内容如\corollaryref{coro1}所示。
练习的具体内容如\exerciseref{exer1}所示。
例的具体内容如\exampleref{exam1}所示。
注释的具体内容如\remarkref{rema1}所示。
问题的具体内容如\problemref{prob1}所示。
猜想的具体内容如\conjectureref{conj1}所示。
证明的具体内容如\proofref{proo1}所示。
章的具体内容如\chapterref{chap1}所示。
节的具体内容如\sectionref{sect1}所示。
附录的具体内容如\appendixref{appe1}所示。
算法行的具体内容如\algorithmref{algo1}\lineref{line1}所示。
算法行的具体内容如\algorithmref{algo2}\lineref{line2}\lineref{line3}所示。

其中子图和普通图的引用详见图片

章节引用中chap1chap2\chapter{}对应的\label{}值,而sect1sect2\section{}\subsection{}等对应的\label{}值。\chapter{}对应的是,而\section{}\subsection{}等对应的是

附录的引用请使用\appendixref{}而不是\chapter{}

算法行的\label{}放在对应语句后即可,例如:

\State $l(v) \leftarrow \infty$\label{line1}

另外,lshort-zh-cn.pdf第3.3节指出:

\label命令可用于记录各种类型的交叉引用,使用位置分别为:

章节标题:在章节标题命令\section等之后紧接着使用。

行间公式:单行公式在公式内任意位置使用;多行公式在每一行公式的任意位置使用。

有序列表:在enumerate环境的每个\item命令之后、下一个\item命令之前任意位置使用。

图表标题:在图表标题命令\caption之后紧接着使用。

定理环境:在定理环境内部任意位置使用。

图片

图片插入时,如果将图片文件放入figures文件夹,则无需添加路径,直接使用图片文件名即可,甚至扩展名也可以省略不写,可以参考如下示例。

单张图片插入示例:

\begin{figure}
\centering
\includegraphics[width=.3\linewidth]{fig1file}
\caption{方案开销}
\label{fig1}
\end{figure}

子图插入示例:

\begin{figure}
\centering
\subfloat[计算开销]{\includegraphics[width=.3\linewidth]{fig2file}%
\label{fig2}}
\hfil
\subfloat[通信开销]{\includegraphics[width=.3\linewidth]{fig3file}%
\label{fig3}}
\caption{方案开销}
\label{fig4}
\end{figure}

即使是多个子图排成多行,依然用\hfil隔开即可,不需要额外操作,调整好宽度即可。

子图交叉引用的使用方法依然参考交叉引用的要求,由于子图的特殊性,如果需要以下效果,即子图字母需要括号:

具体的内容如图 4.2(a) 所示。

具体的内容可参考图 4.2(a)。

需要使用如下命令,即\subfigureref{}而不是\figureref{}

具体的内容如\subfigureref{fig2}所示。
具体的内容可参考\subfigureref{fig2}

不过如果需要如下的效果:

具体的内容如图 4.2a 所示。

具体的内容可参考图 4.2a。

需要使用如下命令,即与普通引用一致:

具体的内容如\figureref{fig2}所示。
具体的内容可参考\figureref{fig2}

如果用户需要插入多页pdf文件的某一页,可以使用page参数,例如插入figfile.pdf的第2页:

\includegraphics[page=2]{figfile}

另外,本模板实测\textwidth441.01773pt\textheight682.86613pt,对插图字号有要求的用户画图时可参考这两个数值,避免图片尺寸超过页面可编辑范围。

此外,对于figure浮动体,不建议使用任何位置参数,让LaTeX引擎将浮动体自动放置在合适的位置,具体原因可见浮动体位置

对于图片的格式,优先推荐.tikz.pgf.pdf格式的图片,不推荐.png.jpg等非矢量图片格式。此外,对于已有的.pdf格式的图片,不需要转换成.eps文件。针对Microsoft Visio等绘图软件,建议使用打印成.pdf的方式,再使用TeX Live自带的pdfcrop命令进行快速高效裁剪。其中,使用.tikz.pgf格式的图片时,用户需要使用\input{}命令而不是\includegraphics{}命令。

表格

从模板示例中可以看出表中的内容字号为五号,本模板已经重定义了4种常见的表格环境的字号,包括tabulartabularxtabularylongtable环境,对于这4种表格环境,用户无需手动指定字号。本模板内置了部分示例供参考,更建议用户参考lshort-zh-cn.pdf第3.6节中关于表格的描述。

此外,对于table浮动体,不建议使用任何位置参数,让LaTeX引擎将浮动体自动放置在合适的位置,具体原因可见浮动体位置


表格索引是根据表格在页面中出现的顺序来显示的,由于longtable不是浮动体,因此longtable前面的浮动体可能会浮动到longtable后面,导致在表格索引中longtable所在行可能出现所谓的“错误”,为回避这种情况,可以在每个longtable前使用placeins宏包的\FloatBarrier命令来输出此前所有的浮动体。

算法

本模板已内置algorithmalgorithmicxalgpseudocodex宏包,用户无需手动导入。TeX Live/MacTeX 2020及以下版本的用户使用的是algpseudocode宏包而非algpseudocodex宏包。

建议TeX Live/MacTeX 2021用户参考algpseudocodex宏包手册中的示例撰写算法,其他低版本用户参考algorithmicx宏包手册中的示例撰写算法,本模板从手册中摘抄了两个算法用于测试。

此外,对于algorithm浮动体,不建议使用任何位置参数,让LaTeX引擎将浮动体自动放置在合适的位置,具体原因可见浮动体位置

定理类环境

推荐用户按章定义定理类环境序号,例如:

\newtheorem{lemma}{引理}[chapter]
\newtheorem{theorem}{定理}[chapter]
\newtheorem{definition}{定义}[chapter]

如果需要更多自定义的参数,用户可以参考lshort-zh-cn.pdf第4.8节中关于定理环境的描述。

浮动体位置

刘海洋的LaTeX入门第5.3.1节指出:

其中可选参数用来设定浮动环境可以出现在页面的位置,即htbp四个选项的组合:

例如用选项[hbp]就表示允许浮动体出现在环境所在位置、页面底部或单独一页,但不允许出现在一页顶部。浮动体允许位置选项的顺序并不重要,LaTeX总是以htbp的顺序尝试放置浮动体。不过单独的一个h选项通常不总能满足,LaTeX会把它放宽为ht两个可能,因此,下面的三个浮动体环境开头其实是等效的:

\begin{figure}[ht]
\begin{figure}[th]
\begin{figure}[h]

如果不设置位置参数,figuretable环境默认的位置选项是tbp。如果图表较多,最好将浮动图表的位置限定设置得宽松一些,以防止浮动体积压过多,最后统一输出。

本模板不建议大家添加位置参数,使用默认值tbp即优先浮动在页面顶部,这是由于文章的主题是正文,而非图表,如果一个页面中图标与正文交叉出现,非常影响文章的阅读,因此将所有的浮动体浮动在顶部有利于文章的阅读。此外,强制将浮动体指定在正文中间,并使用如下表等表述更是强烈反对的,应该让图表自由浮动,引用时使用编号。


刘海洋的LaTeX入门第5.3.1节指出:

对于含有大量浮动体的文档来说,默认的参数限制都显得过于严格,容易造成浮动体积压无法及时输出的问题,此时就可以修正一些参数。

因此本模板对浮动体所占页面比例进行了适当修改,避免出现浮动页空白比例过多的情况:

\renewcommand{\topfraction}{.8}
\renewcommand{\floatpagefraction}{.8}

用户如果觉得不合适,可以在导言区内重定义以上两个参数进行调节。

论文标题

PDF元数据中介绍了本模板可以自动获取论文中各种元数据,并添加到PDF文档属性中,其中就包括了论文题目,其值位于xdupgthesis.cfg文件中的\XDU@value@thesis@title变量中,论文题目中可能含有换行符,如果有换行符,再添加元数据时会有如下警告:

Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\\' on input line 12.

即换行符无法作为元数据的合法字符,因此我们可以使用\texorpdfstring{\\}{}来替换\\,意思是如果是在tex中,则认为是\\,如果是在pdf字符串中,则为空。

用户在使用过程中,将\texorpdfstring{\\}{}当作\\来对待即可,如果论文标题不长或者希望自动换行,不需要换行符的话,删除\texorpdfstring{\\}{}即可。

插图/表格索引中图表序号与图表标题间距

tocloft.pdf中图表序号宽度变量\cftfignumwidth\cfttabnumwidth均直接设置为固定值2.3em,本模板已做一定程度的自适应调整,如果用户认为图表序号与图表标题间距过大或者过小,均可自行调整,方法为在导言区添加:

\addtolength{\cftfignumwidth}{1em}
\addtolength{\cfttabnumwidth}{1em}

\cftfignumwidth对应的是插图索引,\cfttabnumwidth对应的是表格索引,上述命令为相应的间距增加指定的距离,两个值均可任意调整,可正可负,可以是小数,也可以仅设置一个。

插图/表格索引前缀开关

插图/表格索引中每一项的前缀可以不存在,图片索引里的一定是图,没必要显示为图 2.1,直接显示2.1即可。插图/表格索引中序号前缀支持开关,用户可以自行选择是否在插图/表格索引中序号前展示前缀,默认展示前缀,如果用户想要关闭前缀,需要在xdupgthesis.tex中为文档类添加noloftpre参数(No Prefix in Lists of Figures and Tables),即将

\documentclass{xdupgthesis}

改为

\documentclass[noloftpre]{xdupgthesis}

插图/表格索引垂直间距开关

默认关闭插图/表格索引中不同章节间的垂直间距,如果用户想要开启垂直间距,需要在xdupgthesis.tex中为文档类添加addloftgap参数(Add Gap in Lists of Figures and Tables),即将

\documentclass{xdupgthesis}

改为

\documentclass[addloftgap]{xdupgthesis}

断页机制切换开关

刘海洋的LaTeX入门第2.2.8节指出:

LaTeX使用两种机制处理断页问题,可以使用命令\raggedbottom告诉LaTeX让页面中的内容保持它的自然高度,把每一页的页面底部用空白填满。相反,\flushbottom则让LaTeX将页面高度均匀地填满,使每一页的底部直接对齐。在标准文档类中,LaTeX会为单面输出的文档(oneside选项)设置\raggedbottom,而为双面输出的文档(twoside选项)设置\flushbottom。当排满一页后,页面剩余空间比较大的时候,如果还要排版一个很高的内容(如多行的公式或表格),就会造成难看的断页,通常这是由浮动环境解决的,但在无可避免的时候就需要在两种断页机制下选择一种:双面印刷的书籍使用\flushbottom可以保证摊开时左右两页对称,但如果有太多过于松散的页面就不如使用\raggedbottom了。

简单来讲,由于学位论文是twoside的,默认会将页面高度均匀地填满,使每一页的底部直接对齐。最直观的表现就是对于不满一页内容的页面不受影响,但是满一页内容的页面会在垂直方向上移动元素所在高度,使得行间距或段间距发生变化,甚至节标题的位置也会发生变化。用户可以查看section行间隔不正常 · Issue #7中的讨论,里面有图片描述。


本模板默认会默认会将页面高度均匀地填满,使每一页的底部直接对齐,用户如想要让页面中的内容保持它的自然高度,把每一页的页面底部用空白填满,需要在xdupgthesis.tex中为文档类添加ragbtm参数(Ragged Bottom),即将

\documentclass{xdupgthesis}

改为

\documentclass[ragbtm]{xdupgthesis}

符号对照表

符号对照表环境symbollist提供了一个参数,用于调节列宽,模板中默认为lp{7cm},其含义为全部左对齐,符号列根据内容自动设置宽度,且只占据一行不自动换行,符号名称列宽度为7cm,会自动换行,用户无需手动插入换行符干预。符号对照表支持自动换页,无需用户手动干预。更多设置请用户参考缩略语对照表介绍进行设置。

缩略语对照表

缩略语对照表环境abbreviationlist提供了一个参数,用于调节列宽,模板中默认为lp{6cm}p{4cm},其含义为全部左对齐,缩略语列根据内容自动设置宽度,且只占据一行不自动换行,英文全称列宽度为6cm,中文对照列宽度为4cm,会自动换行,用户无需手动插入换行符干预。其中p{}内的长度值可以自行视情况设置。如果需要更多自定义的参数,用户可以参考lshort-zh-cn.pdf第3.6节中关于LaTeX表格列格式的描述。此外,缩略语对照表支持自动换页,无需用户手动干预。

如果用户想要手动插入换行符,请将需要插入换行符的单元格放入\makecell[tl]{}命令中,例如:

\begin{abbreviationlist}{lp{6cm}p{4cm}}
XXX & XXX & XXX\\
XXX & \makecell[tl]{手动换行手动换行\\手动换行} & 自动换行自动换行自动换行自动换行\\
XXX & XXX & XXX\\
\end{abbreviationlist}

附录

西安电子科技大学申请硕士学位相关资料(学术学位)-研究生院/研究生工作部-西安电子科技大学1、西安电子科技大学研究生学位论文模板(2015年修订版)-2019.03修订.docx里,有如下描述:

装订:依次按照中文题名页、英文题名页、声明、摘要、插图索引、表格索引、符号对照表、缩略语对照表、目录、正文、附录(可选)、参考文献、致谢、作者简介的顺序,用学校统一印制的学位论文封面装订成册。

因此,附录是可选的,且位于正文和参考文献之间。

本模板支持附录,用户将附录章节放入appendixes环境中即可,例如:

\begin{appendixes}
\include{chapters/edit}
\include{chapters/guide}
\end{appendixes}

附录内每一章的格式与正文每一章一致。

如果用户不需要附录,可直接移除appendixes环境,例如:

\begin{document}
\XDUfrontmatter
\include{chapters/abstract}
\XDUmainmatter
\include{chapters/general}
\include{chapters/substance}
\include{chapters/edit}
\include{chapters/guide}
\XDUbackmatter
\include{chapters/thanks}
\include{chapters/resume}
\end{document}

个人及论文信息填写

用户在xdupgthesis.cfg文件中填写个人及论文信息,根据2022年硕士研究生招生简章-研究生院/研究生工作部-西安电子科技大学2022年博士研究生招生简章-研究生院/研究生工作部-西安电子科技大学,我校研究生主要有硕士研究生和博士研究生,硕士研究生主要有学术学位和专业学位两种,博士研究生主要有学术学位和专业学位(工程类)两种,在本模板中我们按照如下进行规则对我校研究生进行分类:

用户需要逐项修改xdupgthesis.cfg中的每一个变量值,每个变量上方和下方均有注释。上方注释内第一行内容为哪种类型的研究生需要填写,如果不属于该类,可忽略该变量,第二行内容为该变量含义,下方注释为该变量可以填写的内容,请用户从中选择合适的粘贴至对应的变量值内。特别说明,注释内的所有变量可选值均来自学校官方word模板,没有任何改动,其中,模板在模板来源增加专业学位硕士学位论文封面与中英文题名页中有所提及。如不放心,可亲自下载word模板查看可选值。

最后,专业学位硕士研究生需要在xdupgthesis.tex中为文档类添加mprof参数(Master of Professional),即将

\documentclass{xdupgthesis}

改为

\documentclass[mprof]{xdupgthesis}

保持二级学科(研究方向):字样不动,不要擅自修改。按一级学科招生的,对应位置写的是研究方向(研究生系统里可以看到研究方向),而按二级学科招生的,对应位置填写的是二级学科。对于不区分研究方向的同学,二级学科(研究方向)这一项的内容填写一级学科一样的内容即可。

导师一栏仅需要填写实际指导导师的信息,不填写挂名导师信息。

论文相似性检测

西安电子科技大学研究生学位论文相似性检测实施办法-研究生院/研究生工作部-西安电子科技大学中指出:

提交检测的学位论文电子版必须为论文的正文部分(除去封面、目录、参考文献、附录、致谢、在学期间的研究成果等),论文电子版命名规则为:学号-作者姓名-论文题目-二级学科(领域)-导师姓名.doc(pdf)。

用户如需进行论文相似性检测,需要在xdupgthesis.tex中为文档类添加psd参数(Paper Similarity Detection),即将

\documentclass{xdupgthesis}

改为

\documentclass[psd]{xdupgthesis}

则自动移除如下页面或内容:

仅保留中英文摘要和正文内容,如果移除的页面中有研究生院要求保留的,可以提issue反馈。

此外,某第三方知网论文查重网站指出:

某些软件生成的PDF论文会导致报告乱码。请用Adobe Reader打开PDF论文,全选复制内容,粘贴到WORD中,如WORD中出现乱码,知网报告也会是乱码。苹果电脑生成的PDF一般会乱码,建议在windows系统上生成。报告乱码问题是论文原文件格式导致,如执意用论文PDF文件提交学校也同样会是乱码,故不接受因乱码问题引起的退款。

用户在进行论文相似性检测前,可以根据上述方法对论文进行检查,以防万一。

学校图书馆提供了大雅论文相似度分析系统供大家使用,每个注册用户可检测5次,仅供参考。

论文抽查评估

关于对2020年6月申请授位的研究生学位论文进行抽查评估的通知-研究生院/研究生工作部-西安电子科技大学中指出:

提交用于抽查评估的电子版学位论文PDF版,论文的封面及正文中隐去作者学号、姓名、指导教师姓名、学院、学科(领域)及学科门类等相关信息,作者本人的研究成果请保留(删除具体作者信息,体现作者的排序,如第一作者、第一发明人等)。

用户如需进行论文抽查评估,需要在xdupgthesis.tex中为文档类添加anonrvw参数(Anonymously Review),即将

\documentclass{xdupgthesis}

改为

\documentclass[anonrvw]{xdupgthesis}

则自动移除封面及中英文提名页中如下内容:

对于xdupgthesis.cfg中用户填写的信息,仅输出如下内容:

对于作者简介页即resume.tex文件中的内容,用户使用\anonrvwinfo{}{}命令撰写需要隐去的信息,例如使用

\anonrvwinfo{电子工程}{XXX}学院

添加anonrvw参数后,pdf会显示XXX学院,不添加anonrvw参数pdf会显示电子工程学院。更多可以参考模板中示例,用户可根据自身情况结合研究生院的要求来撰写。

此外,为了满足部分学院的特殊需求,如计算机科学与技术学院关于2021年12月博士学位申请工作的通知-西安电子科技大学计算机科学与技术学院中指出:

论文封面的作者姓名处必须填写上论文编号。

用户可以在对应处填写论文抽查评估版本显示的内容,例如:

\setXDU@value@author@name{张三}{031}

默认均为空即隐去对应信息,上文中提到的学位类型、论文类型、中英文题目、密级、提交日期等信息为强制输出信息,即对应的第二个参数不生效。

草稿模式

在草稿模式中,中英文摘要、正文和附录的行间距会增大,其余部分行间距不变,方便用户批改论文。默认关闭草稿模式,如果用户想要开启草稿模式,需要在xdupgthesis.tex中为文档类添加draft参数,即将

\documentclass{xdupgthesis}

改为

\documentclass[draft]{xdupgthesis}

在最终交稿时一定要移除draft参数。

显示边框

显示边框后,可以方便用户检查是否有内容超出版心范围,尤其是公式,容易发生超出边界的情况。默认关闭边框显示,如果用户想要开启边框显示,需要在xdupgthesis.tex中为文档类添加frame参数,即将

\documentclass{xdupgthesis}

改为

\documentclass[frame]{xdupgthesis}

在最终交稿时一定要移除frame参数。

签名图像

西安电子科技大学图书馆在学位论文提交中要求:

电子版和纸质版论文的独创性声明和使用授权页都需签字(请手写签字后扫描该页加到电子版论文中)。

本模板支持插入签名图像,用户需要自行制作好签名图像,推荐处理成字迹全黑且背景透明并以.png格式存储,使用纯白色背景并以其他格式如.jpg.pdf等格式存储也可。此外需要将图片四周的空白裁掉,尽量减小字迹与四周的间距。将准备好的签名图像放入figures/sign/,用户在xdupgthesis.cfg中填写签名图像相关值,需要现场手写的值留空即可。每个签名图像使用\sign{}添加,其中分组内为签名图像文件名,无需扩展名且无需路径。如果需要插入电子版的日期,将对应的值填写为日期即可,如

\setXDU@innovation@author@date{2022年1月10日}

最后为xdupgthesis文档类传入sign参数,即将xdupgthesis.tex

\documentclass{xdupgthesis}

改为

\documentclass[sign]{xdupgthesis}

后编译即可得到嵌入签名图像的PDF。

如果不需要嵌入签名图像,移除sign文档类参数即可,xdupgthesis.cfg内相关配置不会生效,该页内所有签名位和日期位全部置空。


如果用户想要扫描独创性声明和使用授权页一整页再合并到论文中,请自行选择合适的PDF处理工具进行该页的替换。

字数统计

TeXcount是一款内置于TeX Live的命令行工具,运行如下命令即可得到相应的字数统计结果供参考:

texcount -total -merge -utf8 xdupgthesis.tex

常见的文本编辑器可以通过安装LaTeX相关插件来实现该功能,其他LaTeX专用编辑器一般也有此功能,用户可以自行搜索。

此外,用户可以通过使用Microsoft Word打开PDF文件来查看字数统计供参考。

模板更新

由于新功能的添加和bug的修复,非常建议用户定期更新本模板。具体方法如下:

  1. 备份目前在用的模板,即将整个文件夹拷贝至他处,以防止后续更新误删文件。
  2. 下载最新版模板并解压。
  3. 将最新版模板内除figures/chapters/xdupgthesis.bibxdupgthesis.tex外的内容粘贴至目前在用的模板文件夹内。
  4. 尝试是否可以编译成功,如不成功,可能是由于.cfg文件内修改了配置接口,将原模板中.cfg文件内的值填写至最新版模板中.cfg文件内,再将最新版模板中的.cfg文件粘贴至目前在用的模板文件夹内。

一般情况下仅会更新.cls文件和README.md,用户可查看版本记录来了解具体的更新内容。

数据同步

为避免论文误删,强烈建议使用具有文件历史版本功能的自动同步工具或者git工具:

LaTeX非常适合搭配git来使用,这是因为LaTeX都是纯文本,利于版本控制,建议参考下载与编辑中关于源代码每行字数的描述。使用git可以清楚地知道每次修改或添加了什么内容,并填写commit内容,便于后期查看,也可以轻松的回退到任意版本,或者提取某个版本的历史内容。用户可以使用GitHub Desktop,学习成本很低,易用,使用SmartGit可以获得更清晰的diff信息,不过后者功能较为复杂,用户可以搭配使用,使用前者提交版本,后者仅作为diff信息查看器使用。

此外,可以使用FileGee实现更多的功能,例如不同步辅助文件和编译出的pdf文件,搭配git避免两次commit之间出现的意外情况,等等,更多用法用户可以自行挖掘。总之一句话,一定要使用自动同步工具或者git,不要仅仅使用手动定期备份的方式,一定要有文件历史版本的功能,不要仅仅使用仅同步最新状态的工具。

模板来源

本节讲述本模板来源,用户不感兴趣可以跳过,直接使用本模板即可。

西安电子科技大学申请硕士学位相关资料(学术学位)-研究生院/研究生工作部-西安电子科技大学关于发布研究生学位论文模板(2015年修订版)的通知里,有如下描述:

三、新增Latex版论文模板,提高了模板整体的通用性,增加了使用者的可选择性。

本模板从申请2015年9月毕业和授位的研究生开始执行,请各学院和导师督促研究生严格按照要求撰写论文。模板的下载路径如下:

博士学位论文模板:西安电子科技大学研究生院网站主页—学位授予—文件资料下载—西安电子科技大学申请博士学位相关资料。

博士研究生毕业论文模板:西安电子科技大学研究生院网站主页—学位授予—文件资料下载—西安电子科技大学申请博士研究生毕业论文答辩相关资料。

硕士学位论文模板:西安电子科技大学研究生院网站主页—学位授予—文件资料下载—西安电子科技大学申请硕士学位相关资料/西安电子科技大学申请全日制硕士专业学位相关资料/西安电子科技大学申请单证工程硕士专业学位相关资料/西安电子科技大学申请同等学力硕士学位相关资料。

在其下方有附件西安电子科技大学研究生学位论文模板latex宏包-2019.03修订.rar,该压缩包SHA-1值为:

4B586B268668B9EBA984B1AEE85403DBC1B5C241

本仓库内所有文件均来自于西安电子科技大学官方提供的模板压缩包,本着尽可能少修改的原则修复错误和警告。

编码转换

本节讲述为什么修改原西安电子科技大学学位论文模板的文件编码,用户不感兴趣可以跳过,直接使用本模板即可。

CTEX宏集手册中4.2章节指出:

使用XeLaTeX、LuaLaTeX或upLaTeX编译时,CTEX宏集强制使用UTF-8编码。

由于学校官方模板为GBK编码,因此已所有文件全部转换为UTF-8编码。

修复错误

本节讲述如何修复原西安电子科技大学学位论文模板的运行错误,用户不感兴趣可以跳过,直接使用本模板即可。

错误一

! Package hyperref Error: Wrong DVI mode driver option `dvipdfm',
(hyperref)                because XeTeX is running.

See the hyperref package documentation for explanation.
Type  H <return>  for immediate help.
 ...

l.4073 \ProcessKeyvalOptions{Hyp}

从报错信息中可以看出,由于使用的是XeTeX,因此不应错误的使用dvipdfm参数,将该参数移除即可。

错误二

! Undefined control sequence.
\XDU@value@thesis@title ->西安电子科技大学研究生学位论文\par撰写要求
                                                  (2015年修订版)
l.13 \XDUfrontmatter

由于\par命令后紧跟着字符,导致引擎无法准确识别出该命令,因此可以在\par后增加一个空格,或使用{\par}替换\par,再或者使用\\替换\par均可修复。

错误三

! Undefined control sequence.
\XDU@@underline [#1]#2->\CTEXunderline
                                       {\hbox to #1{\hfill {#2}\hfill }}
l.13 \XDUfrontmatter

CTEX宏集手册中11.2章节指出:

在调用fntef宏包选项的同时,旧版本CTEX宏包由于需要支持CCT系统,会将以\CJK开头的\CJKunderline等宏换名为以\CTEX开头的\CTEXunderline等宏。此功能在新版本的CTEX宏集中已失去意义。

因此,将xdupgthesis.cls中两处\CTEXunderline替换为\underline

字体修正

本节讲述如何修复原西安电子科技大学学位论文模板的字体问题,用户不感兴趣可以跳过,直接使用本模板即可。

中文字体

CTEX宏集手册中4.3章节指出:

如果没有指定fontset的值,CTEX宏集将自动检测用户使用的操作系统,配置相应的字体。

从模板中文档类文件中可以看出仅使用了宋体和黑体,因此后续只考虑宋体和黑体的配置。学校官方的word模板中使用的是Windows自带的中易字体,包括中易宋体中易黑体,为了保证一致性,统一为ctexbook增加fontset=windows参数,使之可以调用中易字体,但是由于中易宋体中易黑体无对应的粗体字体,而在模板中出现了20次粗体命令的调用,具体为:

因此需要使用伪粗体来实现粗体效果,但是CTEX宏集手册中版本历史v2.4.4指出:

General: 不再默认设置xeCJK的伪粗体。

所以需要手动开启伪粗体,在清华大学学位论文模板thuthesis.dtx中可以找到如下参数:

\xeCJKsetup{EmboldenFactor=3}

我们参考该值设置伪粗体的粗细程度为3,即在cls文件中添加

\PassOptionsToPackage{AutoFakeBold=3}{xeCJK}

至此,可以使用中易字体来显示中文,同时利用伪粗体来实现粗体效果。

需要注意的是,NPUSCG/nputhesis中指出:

在TeXLive 2019之前的版本中,启用AutoFakeBold选项将导致XeLaTeX编译生成的pdf文件内容复制时显示为乱码,进而导致查重报告显示为乱码。

实际测试也发现,TeX Live/MacTeX 2018编译出的pdf文件,大部分文字无法复制及搜索出来,TeX Live/MacTeX 2019及以上版本无问题,因此用户一定要安装TeX Live/MacTeX 2019及以上版本或使用Overleaf/TeXPage进行编译,否则会影响论文相似性检测。

英文字体

从模板示例中可以看出所有英文字体均要求为Times New Roman,Times New Roman是有粗体字体的,上面设置的开启伪粗体的全局命令不会影响到Times New Roman字体,在cls文件中使用如下命令可以配置默认英文字体为Times New Roman:

\BeforeBeginEnvironment{document}{\setmainfont{Times New Roman}}

修复警告

本节讲述如何修复原西安电子科技大学学位论文模板的警告,用户不感兴趣可以跳过,直接使用本模板即可。

cs4size

Package ctex Warning: Option `cs4size' is deprecated.
(ctex)                Option `zihao=-4' is set.

xdupgthesis.clscs4size替换为zihao=-4

fancyhdr

Package ctex Warning: Option `fancyhdr' is deprecated.
(ctex)                `fancyhdr' package is loaded.

xdupgthesis.clsctexbook移除选项fancyhdr,改为

\RequirePackage{fancyhdr}

fntef

Package ctex Warning: Option `fntef' is deprecated.
(ctex)                `xeCJKfntef' package is loaded.
LaTeX Warning: Unused global option(s):
    [xeCJKfntef].

xdupgthesis.cls中移除fntef参数。

caption2

Package caption2 Warning: ****************************************************
(caption2)                THIS PACKAGE IS OBSOLETE:
(caption2)                This package attempts to provide an `caption2'
(caption2)                package v2.0/2.1 author environment so that OLD
(caption2)                documents can be successfully processed. It should
(caption2)                NOT be used for NEW documents! New documents should
(caption2)                use the regular `caption' package v3.x instead.
(caption2)                ****************************************************

caption2包已经过时,使用caption包来替换。

xdupgthesis.cls中移除如下设置:

\RequirePackage{caption2}
\renewcommand{\captionlabeldelim}{\ ~}%去冒号

xdupgthesis.cls中改为使用如下宏包:

\RequirePackage[labelsep=quad]{caption}

hyperref

Package hyperref Warning: Option `a4paper' is no longer used.

xdupgthesis.cls中移除如下代码

\ifXDU@Option@PrintVersion
  \hypersetup{
    a4paper,
    CJKbookmarks,
    bookmarksnumbered,
    plainpages    = false,
    pdfstartview  = FitH
  }
\else
  \definecolor{XDU@hypercolor@darkgreen}{rgb}{0.1,0.5,0.1}
  \hypersetup{
    a4paper,
    CJKbookmarks,
    bookmarksnumbered,
    colorlinks,
    linkcolor     = black,
    anchorcolor   = black,
    citecolor     = black,
    urlcolor      = black,
    plainpages    = false,
    pdfstartview  = FitH
  }
\fi
%% hyperref
\ifpdf
  \RequirePackage[pdftex]{hyperref}
\else
  \ifXDU@Option@dvipdfm
    \RequirePackage{hyperref}
  \else
    \RequirePackage{hyperref}
  \fi
\fi

改为使用如下宏包

\RequirePackage[bookmarksnumbered]{hyperref}

即关于hyperref宏包的所有设置仅保留上述语句。

\CTEXsetup

Package ctex Warning: Command `\CTEXsetup' is deprecated.

xdupgthesis.cls

\CTEXsetup[name={\XDU@chapter@prenumber,\XDU@chapter@afternumber},
           number={\chinese{chapter}},
           format={\centering\XDU@font@ht\XDU@font@zihao{3}},
           nameformat={},
           numberformat={},
           aftername={\quad},
           titleformat={},
           beforeskip={6pt},
           afterskip={18pt},
           indent={0pt}]{chapter}
\CTEXsetup[name={,},
           number={\thesection},
           format={\raggedright\XDU@bold\XDU@font@st\XDU@font@zihao{-3}},
           nameformat={},
           numberformat={},
           aftername={\quad},
           titleformat={},
           beforeskip={18pt plus 0pt minus 0pt},
           afterskip={12pt},
           indent={0pt}]{section}
\CTEXsetup[name={,},
           number={\thesubsection},
           format={\raggedright\XDU@font@st\XDU@font@zihao{4}},
           nameformat={},
           numberformat={},
           aftername={\quad},
           titleformat={},
           beforeskip={12pt plus 0pt minus 0pt},
           afterskip={6pt},
           indent={2em}]{subsection}
\CTEXsetup[name={,},
           number={\thesubsubsection},
           format={\raggedright\XDU@font@st\XDU@font@zihao{-4}},
           nameformat={},
           numberformat={},
           aftername={\quad},
           titleformat={},
           beforeskip={6pt plus 0pt minus 0pt},
           afterskip={0pt},
           indent={4em}]{subsubsection}

分别改为

\ctexset{chapter={name={\XDU@chapter@prenumber,\XDU@chapter@afternumber},
           number={\chinese{chapter}},
           format={\centering\XDU@font@ht\XDU@font@zihao{3}},
           nameformat={},
           numberformat={},
           aftername={\quad},
           titleformat={},
           beforeskip={6pt},
           afterskip={18pt},
           indent={0pt}}}
\ctexset{section={name={,},
           number={\thesection},
           format={\raggedright\XDU@bold\XDU@font@st\XDU@font@zihao{-3}},
           nameformat={},
           numberformat={},
           aftername={\quad},
           titleformat={},
           beforeskip={18pt plus 0pt minus 0pt},
           afterskip={12pt},
           indent={0pt}}}
\ctexset{subsection={name={,},
           number={\thesubsection},
           format={\raggedright\XDU@font@st\XDU@font@zihao{4}},
           nameformat={},
           numberformat={},
           aftername={\quad},
           titleformat={},
           beforeskip={12pt plus 0pt minus 0pt},
           afterskip={6pt},
           indent={2em}}}
\ctexset{subsubsection={name={,},
           number={\thesubsubsection},
           format={\raggedright\XDU@font@st\XDU@font@zihao{-4}},
           nameformat={},
           numberformat={},
           aftername={\quad},
           titleformat={},
           beforeskip={6pt plus 0pt minus 0pt},
           afterskip={0pt},
           indent={4em}}}

\CTEXoptions

Package ctex Warning: Command `\CTEXoptions' is deprecated.

xdupgthesis.cls

\CTEXoptions[figurename={\zihao{5}\XDU@label@figure@cap}]
\CTEXoptions[tablename={\zihao{5}\XDU@label@table@cap}]
\CTEXoptions[listfigurename={\XDU@label@listoffigures}]
\CTEXoptions[listtablename={\XDU@label@listoftables}]
\CTEXoptions[contentsname={\XDU@label@content}]
\CTEXoptions[bibname={\XDU@label@ref@title}]

分别改为

\ctexset{figurename={\zihao{5}\XDU@label@figure@cap}}
\ctexset{tablename={\zihao{5}\XDU@label@table@cap}}
\ctexset{listfigurename={\XDU@label@listoffigures}}
\ctexset{listtablename={\XDU@label@listoftables}}
\ctexset{contentsname={\XDU@label@content}}
\ctexset{bibname={\XDU@label@ref@title}}

\CTEXnoindent

Package ctex Warning: Command `\CTEXnoindent' is deprecated.
(ctex)                \parindent is set to 0pt.

xdupgthesis.cls\CTEXnoindent全部替换为\parindent=0pt

\CTEXindent

Package ctex Warning: Command `\CTEXindent' is deprecated.
(ctex)                \parindent is set to 2\ccwd .

xdupgthesis.cls\CTEXindent全部替换为\parindent=2\ccwd

Font size

LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <10.53937> not available
(Font)              size <10.95> substituted on input line 14.

xdupgthesis.cls中增加如下宏包来实现任意字号

\RequirePackage{lmodern}

增加功能

本节讲述如何增强原西安电子科技大学学位论文模板的各种问题,用户不感兴趣可以跳过,直接使用本模板即可。

参考文献条目样式

国家标准《信息与文献 参考文献着录规则》(标准号GB/T 7714-2015)已于2015年12月1日实施,而学校原模板中还在使用已废止的国家标准《文后参考文献着录规则》(标准号GB/T 7714-2005),故本模板将参考文献样式修改为现行的国家标准。

xdupgthesis.clsgbt7714-2005替换为gbt7714-numerical即可,gbt7714-numerical.bst样式文件在发行版中自带了,最后删除主目录下的gbt7714-2005.bst文件。

虽然已经强调要求使用最新版的LaTeX套装,但是不排除有用户依然使用老旧的LaTeX套装,由于老旧版本的TeX Live或MacTeX的gbt7714调用接口与新版不一致,因此按照上面的方法参考文献无法正常编译。

本模板对此做了适配,gbt7714文档中指出:

从v2.0版本开始(2020-03-04),用户必须在文档中使用\biblilographystyle命令选择参考文献样式,如gbt7714-numericalgbt7714-author-year。在早期的版本中,选择文献样式的方法是将numberssuper等参数传递给gbt7714,而不能使用\bibliographystyle。这跟标准的LaTeX接口不一致,所以将被弃用。

本模板通过判断gbt7714版本来针对性地选择合适的宏包和参数来实现多种LaTeX套装版本均可正常编译参考文献。

参考文献引用样式

模板示例中有如下表述:

学位论文的撰写要本着严谨求实的科学态度,凡有引用他人成果之处,引用处右上角用方括号标注阿拉伯数字编排的序号(必须与参考文献一致),同时所有引用的文献必须用全称,不能缩写,并按论文中所引用的顺序列于文末。

从中可以看出学校要求参考文献引用处右上角用方括号标注阿拉伯数字编排的序号,因此本模板直接设置了\cite{}命令对应的引用样式为引用处右上角用方括号标注阿拉伯数字编排的序号,用户直接使用\cite{}命令即可产生符合要求的参考文献引用样式。

此外,移除了主文件中没有必要的refcompress参数和cls样式文件中对应的代码,改为默认参考文献连续编号压缩。同时移除了主文件中的\nocite{*},即没有引用的参考文献不在参考文献列表中显示。

URL自动换行

增加了xurl宏包的自动调用,实现任意字符处可换行,避免出现URL上一行过于松散的情况。

xurl宏包文档有如下表述:

Package xurl loads package url by default and defines possible url breaks for all alphanumerical characters and = / . : * - ~ ‘ “

教育背景时间对齐

原模板中使用\hspace{3.5em}为结束时间占位,但可能会导致上下两行的逗号无法对齐。

因此改为使用幻影即\phantom{2005.07}来生成和上一行一样宽度的空白盒子,用户在使用过程中可以将其改为自己的上一行的结束时间以保证最准确的空白盒子宽度。

交叉引用名称

为了方便大家使用,支持图、子图、表、算法、公式、假设、定义、命题、引理、定理、公理、推论、练习、例、注释、问题、猜想、证明、章节、附录和算法行等引用命令,具体用法见交叉引用

本模板中利用\xspace支持交叉引用处自动处理前后空白,即非中文字符与中文字符之间有空白。但由于xspace宏包默认不支持中文标点的处理,故本模板从国家标准《标点符号用法》(标准号GB/T 15834-2011)中选取了全部中文标点进行了支持,包括句号、问号、叹号、逗号、顿号、分号、冒号、引号、破折号、省略号、着重号、连接号、间隔号、书名号、专名号。当交叉引用序号后为普通英文标点或上述中文标点时,其后无空白。

PDF元数据

增加了自动添加PDF元数据即文档属性的功能,包括标题、主题和作者三项,用户可以右键PDF文件查看自动添加的文档属性值。其中标题来自xdupgthesis.cfg文件中\XDU@value@thesis@title值,作者来自\XDU@value@author@name值,而主题由西安电子科技大学字样、\XDU@value@degreemark值和学位论文拼接而成。该功能无需用户干预,自动实现PDF元数据的添加。

各级标题样式

模板示例中有如下表述:

三级标题缩进 2 字符,字体为宋体,字号为四号加粗

正文内容字体为宋体,字号为小四号

学校要求三级标题即\subsection{}缩进2字符,字号为四号加粗,缩进2字符即缩进2em实际为缩进28bp即2个四号字符宽度。但是由于正文内容字号为小四号,会导致三级标题和正文无法对齐。本模板对此进行了修正,不再缩进2em,改为缩进24bp即2个小四号字符宽度,以便于三级标题和正文对齐。


模板示例中有如下表述:

正文中如果确需四级标题,用(1)、(2)形式标出

因此本模板对四级标题即\subsubsection{}样式做出了修正,并设置缩进为48bp即4个小四号字符宽度。

子图及图片标题

原模板中不支持子图,根据bare_adv.tex中的示例,我们采用subfig宏包来实现子图的插入,具体使用方法参考图片

此外,本模板修正了图片标题与图片的间距过小的问题,在清华大学学位论文模板thuthesis.dtx中可以找到如下参数:

\captionsetup{
  font           = thu,
  labelsep       = quad,
  skip           = 6bp,
  figureposition = bottom,
  tableposition  = top,
}

据此我们也将图片标题与标题之间的间距从0pt调整为6bp,在cls文件中做如下修改:

\setlength{\abovecaptionskip}{6bp}

显示图表索引前缀

原模板无法显示插图索引表格索引的图表前缀,本模板已修复,用户使用时无需额外操作。

图表索引与目录中引导符一致

移除原模板中对目录中引导符的自定义设置即可保证图表索引与目录中引导符一致。

增强符号对照表和缩略语对照表

原模板中的符号对照表和缩略语对照表为列表环境,无法自动对齐,使用很不方便。

本模板基于tabularx环境实现了自定义符号对照表和缩略语对照表环境,用户只需要像使用表格一样去填写内容即可,支持跨页,模板中正文的示例已经更新,用户可参考示例填写。

从模板示例中可以看出符号对照表和缩略语对照表内容字号为小四号,行距为固定值20磅,因此本模板设置符号对照表和缩略语对照表环境的行间距倍数为1.6604400166

用户可自定义列宽参数,具体请参考符号对照表缩略语对照表

增加专业学位硕士学位论文封面与中英文题名页

西安电子科技大学申请硕士学位相关资料(统招专业学位)-研究生院/研究生工作部-西安电子科技大学下方有附件西安电子科技大学研究生学位论文模板(2015版)-申请专业学位硕士研究生使用-2019.03.rar,该压缩包SHA-1值为:

16FE66A1FCFA77112C18611598EB05506CF95747

其内有专业学位硕士研究生使用学位论文模板(2015年修订版)的相关说明.docx,有如下描述:

专业硕士学位论文模板(2015年修订版)从申请2015年9月授位的专业学位硕士研究生开始执行,请各位同学严格按照要求撰写论文。

一、本次所有学位论文的主体使用同一个模板,使用者根据情况选择不同的信息进行输入,生成不同的学位论文类型。

二、本次单独设计了专业硕士学位论文的封面、中英文题名页,打印装订时必须采用专业硕士学位论文的封面、中英文题名页。

根据压缩包内的2、西安电子科技大学专业学位硕士学位论文封面及中英文题名页模板(2015年版)-2019.03修订.docx文件对专业硕士学位论文模板的封面与中英文题名页进行适配。

版本记录

免责声明

本模板的发布遵守LaTeX Project Public License 1.3c以及其后的最新版本,使用前请认真阅读协议内容。

本模板为作者个人制作,使用仅供参考,任何由于使用本模板而引起的任何问题均与本模板作者无关。

任何个人或组织以本模板为基础进行修改、扩展而生成的新的专用模板,请严格遵守LaTeX Project Public License 1.3c协议以及其后的最新版本。由于违犯协议而引起的任何纠纷争端均与本模板作者无关。

作者