札记(七)——硕士学位论文相关
这里提出的相关问题和相应解决方法主要针对Github上TouchFishPioneer/SEU-master-thesis: 东南大学硕士研究生学位论文LaTeX模板、Reanon/SEUThesisLatexTemplate: 东南大学 硕士毕业论文 Latex 模版 网络空间安全学院版本,主要针对电子信息硕士,即enginner选项开启时,进行修改,部分修改也可以用于学硕。
主要分为以下部分:
- 封面调整:①封面大标题“工程硕士学位论文”->“电子信息硕士学位论文”;②大封面单行标题;③单独小封面论文标题段前间距问题;④领域名称;⑤中文内封面文字间距;⑥英文封面标题(待后续确认);
- 目录调整:①“目录”章节是否出现在目录中;②目录的其他文字调整;英文缩略语部分的相应调整;
- 正文相关:①加粗希腊字母;②算法流程的宏包调整;③图名、表名、子图引用的相关问题;④浮动体相关设置;⑤正文引用的相关说明;⑥脚注的调整;⑦itemize间距;
- 其他杂项:①参考文献的排列;②参考文献的格式调整;③IEEE缩写->全称;④毕业/学位论文答辩委员会名单;
首先放一下目前研究生院最新的论文写作规范。但是至于要落实到何种地步——未知。。。毕竟往届的论文规范有一部分和这上面的差距不小,甚至他给出的优秀范例和他前文所说也不一致。
然后给出几条建议吧
- 这只是本人的调整,不保证完全符合学校、学院的全部要求。只能说尽力修改。
- 建议采用Overleaf,或实验室自行搭建的类Overleaf进行编译(Xelatex),不太建议直接使用Windows安装的TexLive进行编译,否则相应字体有错误(如1.1 XXXX技术,按照规范要求使用宋体加粗,而Windows默认的衬线体加粗采用黑体)。
- 建议在撰写过程中,只编译目录、相应章节和参考文献,可以加快编译速度,如封面等可以最终再编译。
- 个人比较推荐使用tikz绘图(可参考👉LaTeX札记(六):MATLAB与TikZ绘图 | Levitate_),修改比较方便,同时图片尺寸调整、文字调整都比较方便,但是编译真的很慢。。。
这里给出一个调整后的“电子信息硕士学位论文”模板:https://levitate.lanzoub.com/iRmnq2j8wcnc。(建议使用overleaf编译)
写在最前面:下面很多处修改起作用的前提是打开了
main.tex
文件的engineer
,第一行修改为
1 \documentclass[algorithmlist,figurelist,tablelist,nomlist,engineer]{template/seumasterthesis}请使用XeLaTeX进行编译!!
封面调整
封面大标题调整
【问题】封面“工程硕士学位论文”应当为“电子信息硕士学位论文”,内中文封面“工程硕士学位论文”应当为“硕士学位论文”
【修改方式】首先在figures/defined
文件夹中添加下面的electronic_master.pdf
(即电子信息硕士学位论文的文字pdf,采用华文中宋),
随后在cls文件中搜索master-engineer.png
,在470行附近的替换为
1 | \put(22,-7.3){\includegraphics[scale=0.33]{figures/defined/electronic_master.pdf}} |
在660行附近的替换为
1 | \includegraphics[scale=0.33]{figures/defined/electronic_master.pdf} |
在790行附近的替换为
1 | \includegraphics[scale=0.35]{figures/defined/master.png} |
大封面单行标题
【问题】如果没有副标题,A3大封面会报错
【修改方式】cls文件,529行注释掉。感觉我们组标题都挺长的,所以我目前先取消注释了
1 | \erhao\heiti\@subtitle\\ % 修改3 -- Reanon 为了避免空副标题 |
单独小封面论文标题段前间距问题
【问题】如果只生成小封面,不生成大封面会出现论文标题和“电子信息硕士学位论文”距离过近的情况
【修改方式】这是因为大封面定义了\setlength{\unitlength}{1cm}
,而单独生成小封面时候没有这句话了,也就造成段前间距出现了问题,在cls文件中搜索找到如下片段
1 | \ifengineer |
修改为
1 | \ifengineer |
领域名称
【问题1】根据研究生院最新发布的封面文件,“工程领域名称”应当改名为“领域名称”
【修改方式】cfg文件第29行修改为
1 | \newcommand{\engfieldpre}{领~~~~域~~~~名~~~~称} |
【问题2】“通信工程(含宽带网络、移动通信等)”太长了一行打不下怎么办
【修改方式】main.tex中\major
中使用minipage,例如
1 | \major{ \begin{minipage}{\linewidth}\centering 通信工程(含宽带\\网络、移动通信等)\end{minipage}} |
中文内封面文字间距
【问题】中文内封面下划线姓名、导师等字符间距太过于松散
【修改方式】搜索cls文件中\makebox[6cm][s]
,将下面片段中的\makebox[6cm][s]
均替换为\makebox[6cm][c]
,注意3.5cm的不需要替换,哪个是前面非下划线内容的,需要分散
1 | \begin{tabular}{cc} |
替换为
1 | \begin{tabular}{cc} |
英文封面标题(待后续确认后调整)
目录调整
“目录”章节是否出现在目录中
【问题】“目录”章节并未出现在目录中,我也不确定要不要出现
【修改方式】如果需要的话,可以在\tableofcontents
前添加这段话
1 | \cleardoublepage |
目录的其他文字调整
【问题】感觉目录中,“摘要”、“致谢”两个词中间应该空两个全角空格,而出现在正文标题中中间空一个全角空格比较合适。但是原来的调整通过\quad并不精准。
【修改方式】cfg文件第80、81、86、87行直接修改为全角空格(可能网站会吞空格,大家自行输入吧)
1 | \newcommand{\@abstracttoc}{摘 要} |
cls文件第94行直接修改为全角空格
1 | contentsname={目 录}, |
英文缩略语部分的相应调整
【问题1】如果想要同时显示缩略语的中文全称,并在最上面一行显示为“英文缩写 英文全称 中文全称”
【修改方式】cls文件中:第一步,增加中文缩略语的定义\nomchinese
1 | \newcommand{\nomchinese}[1]{\renewcommand{\nomentryend}{\hspace*{\fill}\makebox[5cm][l]{#1}}} |
第二步,修改\nompreamble
,以在第一行显示“英文缩写 英文全称 中文全称”
1 | \renewcommand{\nompreamble}{\noindent \makebox[1in][l]{\bfseries 英文缩写} {\bfseries 英文全称}\hspace*{\fill}\makebox[5cm][l]{\bfseries 中文全称}\vspace{-3pt}} |
第三步,修改条目“英文缩写”和“英文全称”之间的间距,cls文件搜索\printnomenclature[2in]
修改为\printnomenclature[1in]
正文引用:第四步,正文输入缩略语的格式为
1 | \nomenclature{6G}{6th Generation Mobile Communication\nomchinese{第六代移动通信}} |
【问题2】缩略语的行间距太过于松散
【修改方式】cls文件1000行附近,搜索\printnomenclature
,在上一行添加这一行以设置缩略语间距为0
1 | \setlength{\nomitemsep}{0pt} |
【问题3】我采用xxx编译,怎么没有编译出来“英文缩略语”啊,我目前遇到的分两个情况
-
Windows系统下,采用编译链进行编译的场景:请将编译链选择为“xelatex->makeindex->bibtex->xelatex*2”
-
较早的Overleaf(见于我们组自行搭建的Overleaf):在cls文件
\RequirePackage{nomencl}
,添加一行1
\immediate\write18{makeindex \jobname.nlo -s nomencl.ist -o \jobname.nls}
【问题4】我们专业一般这个部分的标题显示为“英文缩略语”,而非“术语与符号列表”,符号列表一般在第一章最后一节写。
【修改方式】cls文件搜索\nomname
,修改以下
1 | \renewcommand{\nomname}{英文缩略语} |
正文相关
加粗希腊字母
原来使用\mathbf
加粗的希腊字母不行啦,使用\bm
来进行加粗
算法流程的宏包调整
【问题1】之前写的一些算法流程采用algorithmic宏包,但是这个模板默认的是algorithmicx宏包
【修改方式】cls文件第133、134行附近,替换为algorithmic宏包
【问题2】进一步想要让所有流程中所有英文变成中文
【修改方式】重定义一些算法流程的名称,但不推荐(如有需要,可以自行取消注释)
1 | % \renewcommand{\algorithmicif}{\textbf{如果}} % 替换 \IF |
图名、表名、子图引用的相关问题
【问题1】图名、表名中,编号和名称之间间隙过小,仅为一个普通空格
【修改方式】cls文件搜索captionsetup,将两个的间隔“space”改为“quad”
1 | \captionsetup[table]{labelsep=quad} |
【问题2】子图引用不显示(),只显示为1a、1b,而非1(a),1(b)
【修改方式】cls文件搜索subfig,修改相应条目
1 | \RequirePackage[labelformat=simple,justification=centering]{subfig} |
浮动体相关设置
【问题】原始并未对浮动体设置限制
【修改方式】cls文件加入下面这段——根据自己需求进行调整
1 | \renewcommand{\topfraction}{0.9} % 页面顶部浮动体允许的最大比例 |
正文引用的相关说明
【问题】引用了xxx,为什么和前后字符间距这么近啊
【修改方式】引用的内容,数字和西文字符不会与中文字符产生一定的空格,需要手动补足。建议在引用公式、图片、表格、小节时候人为添加tie和空格,可以在文字和引用之间添加tie~
防止换行,另外一半添加空格即可。如果引用的后边是一个标点符号,就不需要添加空格了。
1 | 式~\eqref{eq:MMSE} 说明了xxx,如图~\ref{fig:abc},如表~\ref{tab:xxx} 所示,第~\ref{sec:AI_UL_sys}~节介绍了XXX。 |
脚注的调整
【问题】按照要求,脚注使用加圈阿拉伯数字,而原来直接使用阿拉伯数字
【修改方式】一般来说,脚注不会超过10个,所以直接采用pifont中的加权字符。在main.tex引言区加入,
1 | \usepackage{pifont} % 引入 pifont 宏包 |
itemize间距
【问题】itemize段前、段后间距较大,不同条目之间间距也比较大
【修改方式】main.tex引言区引用enumitem宏包,
1 | \usepackage{enumitem} |
正文使用itemize时,调整一下,例如
1 | \begin{itemize}[topsep=5pt, itemsep=2pt, parsep=0pt, partopsep=0pt] |
其他杂项
参考文献的排列
【问题】页面内引用的多篇参考文献排列按照输入key的顺序排列,而非按照数字顺序(个人觉得按照数字顺序比较好,毕竟都应用多篇参考文献了,应该没有什么先后顺序)
【修改方式】cls文件搜索“natbib”,增加“sort”输入
1 | \RequirePackage[super,square,comma,compress,sort]{natbib} |
参考文献的格式调整
直接调整bst中的0、1即可。基本应该都能看懂.
IEEE缩写->全称
【问题】在撰写IEEE论文时候,采用IEEEabbr对参考文献进行缩写,但是一般学位论文需要全称
【修改方式】添加IEEEfull的bib文件即可,然后main.tex也要记得引用
1 | \thesisbib{IEEEfull,reference} |
毕业/学位论文答辩委员会名单
可以直接添加latex版本的名单。不需要的话注释即可
1 | \clearpage |