模板修改记录
完成硕士学位论文的时候使用了大佬的 电子科技大学 latex 模板,节省了很多时间;但该模板的确存在一点点和研究生院模板不同的地方。
不想去github实名提issue, 就总结在这里吧~
原始模板
https://github.com/x-magus/ThesisUESTC/tree/e64c9c5fe6a175f44f912200ba4e66d185095df6
修改记录
-
针对已发表成果需要列出所有作者而参考文献仅列出3个作者的矛盾
- 新增thesis-uestc-accomplish.bst
- 将thesis-uestc.cls相应部分改为:
\newcommand{\thesisloadaccomplish}[1]{ \nociteaccomplish{*} \renewcommand{\bibname}{\thesisaccomplishtitle} \renewcommand{\bstlabelmark}{lo} \thispagestyle{fancy} \begin{spacing}{1.667} \bibliographystyleaccomplish{thesis-uestc-accomplish} \bibliographyaccomplish{#1} \end{spacing} \renewcommand{\bibname}{\thesisbibname} }
-
针对新的格式规范中Student ID在Author上面,而模板中在Author下面的问题
- 将thesis-uestc.cls相应部分改为:
\cline{2-2} & \\ \cline{2-2} Student ID: & \thestudentnumber \\ \cline{2-2} Author: & \en@theauthor \\ \cline{2-2} Supervisor: & \en@theadvisor \\
-
针对新的格式规范中姓名姓在前名在后的改动
- 修改thesis-uestc.bst和thesis-uestc-accomplish.bst
FUNCTION {format.names} { 'bibinfo := duplicate$ empty$ 'skip$ { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr % "{f.~}{vv~}{ll}{, jj}" "{vv~}{ll}{ f{~}}"
-
图片表格caption两端对齐
- 去掉cls中
\captionsetup{format=hang}
即可
- 去掉cls中
-
中文文献多个作者的支持
- bib中一定要加上
language = {zh},
- .bst中
FUNCTION {format.chinese.names}
中deng之前几行修改为:
namesleft #1 > { ", " * t * } { s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ % "others" t = % 'skip$ % { "," * } "," * % if$ t "others" = { " " * bbl.deng * } { " " * t * } if$ }
- bib中一定要加上
-
根据最新版本加粗章节序号
- 修改thesis-uestc.cls
\titleformat{\section}[block] {\fontsize{14pt}{14pt}\selectfont\strong} {\bf{\thesection}}{7pt}{} \titleformat{\subsection}[block] {\fontsize{14pt}{14pt}\selectfont\strong} {\bf{\thesubsection}}{7pt}{}
-
摘要、目录、致谢页眉需空格
- 分别添加```\hspace{0.5em}‘’’
\markboth{致\hspace{0.5em} 谢}{致谢} \fancyhead[C]{\fontsize{10.5pt}{12.6pt}\selectfont 摘\hspace{0.5em} 要} \fancyhead[C]{\fontsize{10.5pt}{12.6pt}\selectfont 目\hspace{0.5em} 录} '''
-
(可选) 符号表支持
8.1 修改thesis-uestc.cls
\newcommand{\thesissymbollist}{ \newpage \fancyhf{} \ifchinesebook{ \fancyhead[C]{\fontsize{10.5pt}{12.6pt}\selectfont 符号表} \fancyfoot[CE,CO]{\fontsize{9pt}{10.8pt}\selectfont\Roman{pseudopage}} \pdfbookmark{符号表}{glossary} \printglossary[style=uestc-chinese-symbol, title={\protect\centering 符号表}, nogroupskip] }{ \fancyhead[C]{\fontsize{10.5pt}{12.6pt}\selectfont Glossary} \fancyfoot[CE,CO]{\fontsize{9pt}{10.8pt}\selectfont\Roman{pseudopage}} \pdfbookmark{Glossary}{glossary} \printglossary[style=uestc-english, title={\protect\centering Glossary}, nogroupskip] } \newpage } % 符号表 \newglossarystyle{uestc-chinese-symbol}{ % \setlength{\glsdescwidth}{.3\textwidth} % \setlength{\glspagelistwidth}{.3\textwidth} \renewenvironment{theglossary}% {\begin{longtable}{lp{\glsdescwidth}p{\glspagelistwidth}}}% {\end{longtable}}% %设置说明列宽度: \setlength{\glsdescwidth}{85mm} %设置页码列宽度: \setlength{\glspagelistwidth}{7em} % 说明列+页码列=96 %设置没有表头, 以及内容 \renewcommand*{\glossaryheader}{% \heiti 符号 &\heiti 说明 & \heiti 页码 \tabularnewline\endhead}% %设置分组间没有表头: \renewcommand*{\glsgroupheading}[1]{}% %主条目第一列名称,第二列说明,第三列页码: \renewcommand{\glossentry}[2]{ \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1} & ##2\tabularnewline } %子条目第一列空置,第二列说明,第三列页码: \renewcommand*{\subglossentry}[3]{ & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2} & ##3\tabularnewline }% %定义分组间空白: \renewcommand*{\glsgroupskip}{% \ifglsnogroupskip\else & &\tabularnewline\fi}% %定义表头:新模板中已定义,故可删掉 % \renewcommand*{\glossaryheader}{% % \bfseries\entryname&\bfseries\descriptionname& % \bfseries\pagelistname\tabularnewline\endhead}% }
8.2 main.tex中加入
% require all the usepackages here % \usepackage{algorithm2e} \makeglossaries \begin{document} \makecover ... ... % symbol list \input{chapter/Symbol} % \glsaddall % \thesisglossarylist % 试图修改模板,但缩略词表始终失败,遂放弃 \thesissymbollist % 符号表大体成功,但对应的页码没有超链接
-
(仅限专硕) 在目录页添加专业学位领域
- 需要在cls中添加如下代码:
- (该代码并不完善,例如直接指定了专业名称、没有根据学硕/专硕进行逻辑判断等,使用者可自行修改)
学科专业 & \zh@themajor \\ \cline{2-2} \cline{4-4} \end{tabular} \\ \begin{tabular}{>{\fontsize{12pt}{12pt}\selectfont}l >{\centering\arraybackslash\fontsize{14pt}{14pt}\heiti\selectfont} p{4.5in}} 专业学位领域 & 电子与通信工程 \\ \cline{2-2} \end{tabular} \\ \begin{tabular}{>{\fontsize{12pt}{12pt}\selectfont}l >{\centering\arraybackslash\fontsize{14pt}{14pt}\bfseries\selectfont} p{1.59in} >{\fontsize{12pt}{12pt}\selectfont}l >{\centering\arraybackslash\fontsize{14pt}{14pt}\bfseries\selectfont} p{1.59in}} 提交论文日期 & \thedatesubmit &
-
(慎选) 消除过多的空白页
- 空白页太多,试图消除
- 简单的方法:直接使用Adobe Acrobat删除空白页即可
- 复杂的方法:修改.cls中的\blankpage命令
```latex
\newcommand\blankpage{%
% \newpage
\null
\thispagestyle{empty}%
\addtocounter{pseudopage}{-1}%
\newpage
}
'''
-
(慎选) 100条以上参考文献的处理 (仅当参考文献达到100条时修改)
- 修改thesis-uestc.bst
FUNCTION {bib.begin} { "\begin{thebibliography}{loo}" write$ newline$
-
(慎选) 将mathbf恢复为原本的含义
- 注释thesis-uestc.cls中的
% \DeclareMathAlphabet{\mathbf}{\eu@enc}{\eu@mathrm}{\bfdefault}{it} % \DeclareMathAlphabet{\mathbd}{\eu@enc}{\eu@mathrm}{\bfdefault}{n} % \newcommand{\bm}{\mathbf}