/ LaTeX and ...  

LaTeX札记(七):硕士学位论文相关

LaTeX\LaTeX札记(七)——硕士学位论文相关

这里提出的相关问题和相应解决方法主要针对Github上TouchFishPioneer/SEU-master-thesis: 东南大学硕士研究生学位论文LaTeX模板Reanon/SEUThesisLatexTemplate: 东南大学 硕士毕业论文 Latex 模版 网络空间安全学院版本,主要针对电子信息硕士,即enginner选项开启时,进行修改,部分修改也可以用于学硕。

主要分为以下部分:

  • 封面调整:①封面大标题“工程硕士学位论文”->“电子信息硕士学位论文”;②大封面单行标题;③单独小封面论文标题段前间距问题;④领域名称;⑤中文内封面文字间距;⑥英文封面标题(待后续确认);
  • 目录调整:①“目录”章节是否出现在目录中;②目录的其他文字调整;英文缩略语部分的相应调整;
  • 正文相关:①加粗希腊字母;②算法流程的宏包调整;③图名、表名、子图引用的相关问题;④浮动体相关设置;⑤正文引用的相关说明;⑥脚注的调整;⑦itemize间距;
  • 其他杂项:①参考文献的排列;②参考文献的格式调整;③IEEE缩写->全称;④毕业/学位论文答辩委员会名单;

首先放一下目前研究生院最新的论文写作规范。但是至于要落实到何种地步——未知。。。毕竟往届的论文规范有一部分和这上面的差距不小,甚至他给出的优秀范例和他前文所说也不一致。

❗Alert: 该浏览器不支持PDF。请点击下载查看: Download PDF.

然后给出几条建议吧

  1. 这只是本人的调整,不保证完全符合学校、学院的全部要求。只能说尽力修改。
  2. 建议采用Overleaf,或实验室自行搭建的类Overleaf进行编译(Xelatex),不太建议直接使用Windows安装的TexLive进行编译,否则相应字体有错误(如1.1 XXXX技术,按照规范要求使用宋体加粗,而Windows默认的衬线体加粗采用黑体)。
  3. 建议在撰写过程中,只编译目录、相应章节和参考文献,可以加快编译速度,如封面等可以最终再编译。
  4. 个人比较推荐使用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,采用华文中宋),

❗Alert: 该浏览器不支持PDF。请点击下载查看: Download 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
2
3
4
5
\ifengineer
\vspace*{8.3cm}
\else
\vspace*{8.6cm}
\fi

修改为

1
2
3
4
5
6
7
8
9
\ifengineer
\setlength{\unitlength}{1cm}
\noindent
\vspace*{8.3cm}
\else
\setlength{\unitlength}{1cm}
\noindent
\vspace*{8.6cm}
\fi

领域名称

【问题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
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
\begin{tabular}{cc}
\makebox[3.5cm][s]{\xiaoerhao\heiti\mainmajorpre: } &
\underline{
\makebox[6cm][s] {
\xiaoerhao\songti\textbf{\@major}
}
} \\
\makebox[3.5cm][s]{\xiaoerhao\heiti\authorpre: } &
\underline {
\makebox[6cm][s] {
\xiaoerhao\songti\textbf{\@author}
}
} \\
\makebox[3.5cm][s]{\xiaoerhao\heiti\advisorpre: } &
\underline {
\makebox[6cm][s] {
\xiaoerhao\songti\textbf{\@advisorname}
}
}
\\
&
\ifcoadvisor
\underline{
\makebox[6cm][s] {
\xiaoerhao\songti\textbf{\@coadvisorname}
}
}
\else
\fi
\end{tabular}

替换为

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
\begin{tabular}{cc}
\makebox[3.5cm][s]{\xiaoerhao\heiti\mainmajorpre: } &
\underline{
\makebox[6cm][c] {
\xiaoerhao\songti\bfseries\@major
}
} \\
\makebox[3.5cm][s]{\xiaoerhao\heiti\authorpre: } &
\underline {
\makebox[6cm][c] {
\xiaoerhao\songti\textbf{\@author}
}
} \\
\makebox[3.5cm][s]{\xiaoerhao\heiti\advisorpre: } &
\underline {
\makebox[6cm][c] {
\xiaoerhao\songti\textbf{\@advisorname}
}
}
\\
&
\ifcoadvisor
\underline{
\makebox[6cm][c] {
\xiaoerhao\songti\textbf{\@coadvisorname}
}
}
\else
\fi
\end{tabular}

英文封面标题(待后续确认后调整)

目录调整

“目录”章节是否出现在目录中

【问题】“目录”章节并未出现在目录中,我也不确定要不要出现

【修改方式】如果需要的话,可以在\tableofcontents前添加这段话

1
2
\cleardoublepage
\addcontentsline{toc}{chapter}{目  录}

目录的其他文字调整

【问题】感觉目录中,“摘要”、“致谢”两个词中间应该空两个全角空格,而出现在正文标题中中间空一个全角空格比较合适。但是原来的调整通过\quad并不精准。

【修改方式】cfg文件第80、81、86、87行直接修改为全角空格(可能网站会吞空格,大家自行输入吧)

1
2
3
4
\newcommand{\@abstracttoc}{摘  要}
\newcommand{\@abstracttitle}{摘 要}
\newcommand{\@acktoc}{致  谢}
\newcommand{\@acktitle}{致 谢}

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
2
3
4
5
6
7
8
9
10
11
12
13
% \renewcommand{\algorithmicif}{\textbf{如果}}         % 替换 \IF
% \renewcommand{\algorithmicthen}{\textbf{则}} % 替换 \THEN
% \renewcommand{\algorithmicelse}{\textbf{否则}} % 替换 \ELSE
% \renewcommand{\algorithmicelsif}{\textbf{否则如果}} % 替换 \ELSIF
% \renewcommand{\algorithmicendif}{\textbf{结束如果}} % 替换 \ENDIF
% \renewcommand{\algorithmicfor}{\textbf{对于}} % 替换 \FOR
% \renewcommand{\algorithmicforall}{\textbf{对于所有}} % 替换 \FORALL
% \renewcommand{\algorithmicdo}{\textbf{执行}} % 替换 \DO
% \renewcommand{\algorithmicendfor}{\textbf{结束对于}} % 替换 \ENDFOR
% \renewcommand{\algorithmicwhile}{\textbf{当}} % 替换 \WHILE
% \renewcommand{\algorithmicendwhile}{\textbf{结束当}} % 替换 \ENDWHILE
% \renewcommand{\algorithmicrepeat}{\textbf{重复}} % 替换 \REPEAT
% \renewcommand{\algorithmicuntil}{\textbf{直到}} % 替换 \UNTIL

图名、表名、子图引用的相关问题

【问题1】图名、表名中,编号和名称之间间隙过小,仅为一个普通空格

【修改方式】cls文件搜索captionsetup,将两个的间隔“space”改为“quad”

1
2
\captionsetup[table]{labelsep=quad}
\captionsetup[figure]{labelsep=quad}

【问题2】子图引用不显示(),只显示为1a、1b,而非1(a),1(b)

【修改方式】cls文件搜索subfig,修改相应条目

1
2
\RequirePackage[labelformat=simple,justification=centering]{subfig}
\renewcommand\thesubfigure{(\alph{subfigure})}

浮动体相关设置

【问题】原始并未对浮动体设置限制

【修改方式】cls文件加入下面这段——根据自己需求进行调整

1
2
3
4
5
6
7
\renewcommand{\topfraction}{0.9}       % 页面顶部浮动体允许的最大比例
\renewcommand{\bottomfraction}{0.8} % 页面底部浮动体允许的最大比例
\renewcommand{\textfraction}{0.1} % 非浮动体内容的最小比例
\renewcommand{\floatpagefraction}{0.9} % 完全被浮动体占据的页面最小比例
\setcounter{topnumber}{5} % 单页顶部浮动体最大数量
\setcounter{bottomnumber}{3} % 单页底部浮动体最大数量
\setcounter{totalnumber}{6} % 单页浮动体总的最大数量

正文引用的相关说明

【问题】引用了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
2
\usepackage{pifont}  % 引入 pifont 宏包
\renewcommand{\thefootnote}{\ding{\numexpr171+\value{footnote}}}

itemize间距

【问题】itemize段前、段后间距较大,不同条目之间间距也比较大

【修改方式】main.tex引言区引用enumitem宏包,

1
\usepackage{enumitem}

正文使用itemize时,调整一下,例如

1
2
3
4
5
\begin{itemize}[topsep=5pt, itemsep=2pt, parsep=0pt, partopsep=0pt]
\item AXXXXX
\item BXXXXX
\item CXXXXX
\end{itemize}

其他杂项

参考文献的排列

【问题】页面内引用的多篇参考文献排列按照输入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
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
\clearpage
\thispagestyle{empty}
\begin{center}
\xiaoerhao\songti\bfseries 毕业/学位论文答辩委员会名单
\end{center}
% Please add the following required packages to your document preamble:
% \usepackage{multirow}
\begin{table}[h]
\renewcommand\arraystretch{1.3}
\centering
\begin{tabular}{|cc|ccc|}
\hline
\multicolumn{2}{|c|}{\textbf{毕业/学位论文题目}} & \multicolumn{3}{l|}{东南大学 LATEX 论文模板使用手册} \\ \hline
\multicolumn{2}{|c|}{\textbf{作  者}} & \multicolumn{3}{l|}{XXX} \\ \hline
\multicolumn{2}{|c|}{\textbf{专  业}} & \multicolumn{3}{l|}{通信工程(含宽带网络、移动通信)等} \\ \hline
\multicolumn{2}{|c|}{\textbf{研究方向}} & \multicolumn{3}{l|}{通信与信息系统}\\ \hline
\multicolumn{2}{|c|}{\textbf{导  师}} & \multicolumn{3}{l|}{XXX} \\ \hline
\multicolumn{1}{|c|}{\multirow{7}{*}{\bfseries \parbox[t]{1em}{答辩委员会组成}}} & \textbf{姓 名} & \multicolumn{1}{c|}{\textbf{职 称}} & \multicolumn{1}{c|}{\textbf{学科专业}} & \textbf{工作单位} \\ \cline{2-5}
\multicolumn{1}{|c|}{} & \multicolumn{1}{c|}{\renewcommand\arraystretch{1}\begin{tabular}[c]{@{}c@{}}XXX\\ (主席)\end{tabular}} & \multicolumn{1}{c|}{研究员} & \multicolumn{1}{c|}{ 信息与通信工程 } & XX大学\\ \cline{2-5}
\multicolumn{1}{|c|}{} & XXX & \multicolumn{1}{c|}{\renewcommand\arraystretch{1}\begin{tabular}[c]{@{}c@{}}研究员级\\ 高级工程师\end{tabular}} & \multicolumn{1}{c|}{信息与通信工程} &   XXX实验室   \\ \cline{2-5}
\multicolumn{1}{|c|}{} & \multicolumn{1}{c|}{\renewcommand\arraystretch{1}\begin{tabular}[c]{@{}c@{}} XXX\\ XXX\end{tabular}} & \multicolumn{1}{c|}{副教授} & \multicolumn{1}{c|}{信息与通信工程} & \multicolumn{1}{c|}{\renewcommand\arraystretch{1}\begin{tabular}[c]{@{}c@{}}University of XXX\\ XXX\end{tabular}} \\ \cline{2-5}
\multicolumn{1}{|c|}{} & XXX & \multicolumn{1}{c|}{副研究员} & \multicolumn{1}{c|}{信息与通信工程} & XX大学\\ \cline{2-5}
% \multicolumn{1}{|c|}{} & & \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{} & \\ \cline{2-5}
\multicolumn{1}{|c|}{} & \multicolumn{1}{c|}{\renewcommand\arraystretch{1}\begin{tabular}[c]{@{}c@{}}XXX\\ (秘书)\end{tabular}} & \multicolumn{1}{c|}{副教授} & \multicolumn{1}{c|}{信息与通信工程} & XX大学\\ \hline
\end{tabular}
\end{table}


备注:

1、本表格适用于所有研究生。

2、本表格排版在终版毕业/学位论文中,附在毕业/学位论文的最后。

本文标题:LaTeX札记(七):硕士学位论文相关

文章作者:Levitate_

发布时间:2024年12月28日 - 13:49:22

原始链接:https://levitate-qian.github.io/2024/12/28/latex-note-07/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。