国科大论文latex模板中可能的注意事项
背景
国科大2022年9月发布了毕业论文的LaTeX模板,它是在ucasthesis上修改而来的,但近日使用国科大发布版本时发现有几点不同以及需要注意的地方。本人只会简单使用latex,但并不熟悉latex样式编辑,因此以下介绍与方法仅供参考。仅在overleaf上测试可行,不保证其它环境,注意备份!
一 不同与注意事项
- 默认行距不同,根据需求在"Style/artratex.sty"文件内修改。参考ucasthesis 知识小站-行距设置
\linespread{1.25}
- 默认引用格式不同,ucasthesis默认是用括号显示作者信息,国科大修改的是右上标数字。参考ucasthesis 知识小站-文献样式
%修改第一个参数,super 为上标顺序引用
\usepackage[super,list,table,math]{Style/artratex}
- 图表目录的样式不同。ucasthesis中是分开单独成章节的“图形列表”和“表格列表”,国科大修改的版本是图表合做一个章节"图表目录”连续显示,但里面有”图目录“和“表目录”。国科大修改的版本当内容增多时会出现第一个奇数页不显示为“图表目录”的问题,后续页面显示正常


- 图表、公式的序号格式不同。ucasthesis是“图1.1",中间是点号,国科大版本中间是横杠。这是因为国科大的图表文件”figuretable.tex"中添加了下面三行语句,更新了相关命令,中间设置的横杠。
\renewcommand{\thefigure}{\thechapter-\arabic{figure}}
\renewcommand{\thetable}{\thechapter-\arabic{table}}
\renewcommand{\theequation}{\thechapter-\arabic{equation}}
- 附录与参考文献的顺序不同。ucasthesis是附录在前,国科大修改版本相反。在国科大修改版本的"Appendix.tex"中添加小节section,会出现序号错误,没有章节序号。然后附录的页眉信息可能显示的是章节标题。

- 添加代码。可以使用listings包,在artracom.sty文件添加包
\RequirePackage{listings}
- 图表标题太长不居中,参考ucasthesis 知识小站-图表标题太长不居中
- 编译器要选择XeLaTex
二 国科大版本修改方法
针对图表目录与附录的问题可以按照下面方法修改
2.1 附录修改
Thesis文件中关于附录的设置如下,可以看到在参考文献之后。
%-
%-> Backmatter: bibliography, glossary, index
%-
\backmatter% initialize the environment
\intotoc*{\cleardoublepage}{\bibname}% add link to toc
\artxifstreq{\artxbib}{bibtex}{% enable bibtex\bibliography{Biblio/ref}% bibliography
}{%\printbibliography% bibliography
}
\cleardoublepage%
\appendix% initialize the environment
\input{Tex/Appendix}% appendix content
\fancypagestyle{appendixheader}{\fancyhf{}\fancyhead[C]{\footnotesize 附录}%此处填写中文标题\fancyfoot[C]{\footnotesize \thepage}% page number\renewcommand{\headrulewidth}{0.8pt}% header rule\renewcommand{\footrulewidth}{0pt}% footer rule
}
\thispagestyle{appendixheader}
如果想在附录中添加代码并分小节展示,可以看到页眉是正常的,但多加些内容就显示成标题。


可以在\chapter 设置下面用\chaptermark 设置页眉的显示。这时候appendixheader的样式应该没用了。
\chapter{附录 \quad 代码}
\chaptermark{附\quad 录}

没有章节序号应该和appendix环境有关,如果将\appendix注释,就变成从第3.4节开始,前面3章都是模板说明与格式要求。


这应该是和\chapter设置有关,那直接设置chapter计数器从1开始就行了,相应的section计数器从0开始,然后就正常了。
\setcounter{chapter}{1}
\chapter{附录 \quad 代码}
\chaptermark{附\quad 录}
\setcounter{section}{0}

这个时候附录已经调整好了,就可以使用\appendix环境了,ucasthesis.cls设置了序号的格式,里面是用大写字母表示章节,可以按照需求更改设置。
%- appendix
\ctexset {appendix = {numbering = false,number = \rmfamily\Alph{chapter},}
}

2.2 图表目录修改
当只有一页图表目录时,显示正常。但是图表多了后第一页的页眉就变成图目录了。


图表目录的设置在Thesis文件以下位置,fancypagestyle定义了一个页眉的样式想让页眉显示为“图表目录”,然后在导入图表文件figuretable后由\thispagestyle引用该样式。问题在于第一页没有用上这个样式,所以在input之前先设置一下。
\fancypagestyle{figureheader}{\fancyhf{}\fancyhead[C]{\footnotesize 图表目录}%此处填写中文标题\fancyfoot[C]{\footnotesize \thepage}% page number\renewcommand{\headrulewidth}{0.8pt}% header rule\renewcommand{\footrulewidth}{0pt}% footer rule
}
{% content list region 这里是设置目录,\intobmk命令是加入到目录项中,于图表设置无关
\linespread{1.2}% local line space
\intobmk*{\cleardoublepage}{\contentsname}% add link to bookmark
\tableofcontents% content catalog%\pagestyle设置页眉,添加以下两行
\cleardoublepage
\pagestyle{figureheader}\input{Tex/figuretable}
\thispagestyle{figureheader}
}
另外还要再设置下使得偶数页面显示文章标题,figureheader的样式是一直显示“图表目录”,不分奇偶。所以只有一页时显示正常,多页时就可能与模板设置的奇偶页眉样式冲突,需要修改样式,将页眉设置\fancyhead[C]修改如下,\gettitle是我增加的获取文章标题的命令。
%\ifnumodd是个判断,如果第一个参数为奇数
\fancyhead[C]{\footnotesize \ifnumodd{\value{page}}{图表目录}{\gettitle}}%如果是奇数页显示图表目录,如果是偶数页显示为标题
在ucasthesis.cls文件中中文项设置那增加以下定义,这样图表目录也就修改好了。
%\@title是文章标题值,使用\gettitle就会直接用文章标题值替代。
\newcommand\gettitle{\@title}



2.3 设置盲审格式
将包含个人信息的封面页Frontinfo.tex与作者成果页Backmatter.tex复制一份review版本,里面相应信息隐去,然后再新建一个主文件Thesis的review版本,在Thesis_review中将要导入的封面页与作者页换成相应的review版本,编译时选择主文件为Thesis_review。另外,原创声明页需要注释掉,在Frontmatter中,
%Frontmatter文件中注释该行
%\makedeclaration% 生成声明页%Thesis_review 文件中替换要导入的文件
%\input{Tex/Frontinfo}%
\input{Tex/Frontinfo_review}%%\input{Tex/Backmatter}
\input{Tex/Backmatter_review}% other information
如果不想每次手动注释原创声明页,可以增加一个文档参数review,然后根据该参数修改\makedeclaration命令。首先在新建的Thesis_review文档设置增加参数,原Thesis不用增加,使用默认的设置生成声明页。
%Thesis_review文档参数
\usepackage[super,list,table,math,review]{Style/artratex}%review
在artratex.sty文件中设置if命令和变量,
% 设置review 判断,默认为true
\newif\ifartx@review \artx@reviewtrue
\DeclareOption{review}{\artx@reviewfalse%如果有review选项,则设置为false
}
然后在ucasthesis.cls中修改\makedeclaration命令如下,就是增加了一个if命令,根据review 的状态增加原创声明页。
\newcommand{\makedeclaration}{%\cleardoublepage\thispagestyle{empty}\ifartx@review % 这里增加if判断,因为Thesis_review中设置了review选项,所以review被设置成了false,if下面的语句就不执行了{\linespread{1.6}%这里面是生成声明页的语句,不用动\zihao{-4}....}\fi% 必需有if 结束标志,下面的也是原语句,不用动\clearpage\if@twoside\thispagestyle{empty}\cleardoublepage[empty]\fi
}
以上修改后编译不同的主文件就可以生成不同版本,而tex文件就不用修改了。
相关文章:
国科大论文latex模板中可能的注意事项
背景 国科大2022年9月发布了毕业论文的LaTeX模板,它是在ucasthesis上修改而来的,但近日使用国科大发布版本时发现有几点不同以及需要注意的地方。本人只会简单使用latex,但并不熟悉latex样式编辑,因此以下介绍与方法仅供参考。仅…...
ABAP 怎样将XML和JSON格式转换为HTML格式显示
ABAP 怎样将XML和JSON格式转换为HTML格式显示 一、将JSON格式转换为HTML格式 BAP接口程序开发中时常会用到JSON格式来传输数据,在监控传输的JSON串内容时,把JSON转换为HTML格式来显示会很便利。下面提供一个简单例子来实现JSON转化为HTML并显示的功能。…...
基础课DP
DP 背包问题01背包问题完全背包问题多重背包问题多重背包问题II分组背包问题线性DP数字三角形最长上升子序列最长上升子序列II最长公共子序列编组距离区间DP石子合并计数类DP整数划分数位统计DP计数问题状态压缩DP蒙德里安的梦想最短Ha路径树形DP没有上司的舞会...
基于支持向量机SVM的风电场NWP数据预测,SVM的详细原理
目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的风电场NWP预测 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定…...
webRtc概念
webRtc概念 以下的文档整理来自此链接 文档整理了一系列实现web通用接口的ECMAScript APIs ,这些接口是为了支持浏览器或者一些其他实现了实时交换协议的设备进行媒体信息和程序数据交换。 1、实现点对点通信的规范: NAT穿透实现与远端节点链接比如&a…...
数据结构与算法基础(王卓)(16):KMP算法详解(代码实现)
实现代码的过程中 具体细节、问题: (1):关于写Get_next函数的标题: 现象: PPT上写的是: void get_next(SString T, int &next[]) 然而并不能运行,而当我们去掉了引用符号&…...
九龙证券|盘前直接腰斩,银行巨头紧急“拔网线”!美股银行股又崩了?
见证历史了,又有一家银行巨子倒下? 美股银行股团体暴降 上一交易日暴降超60%的硅谷银行持续面对腥风血雨。盘前,硅谷银行跌幅超50%,随后,公司宣布盘前暂停交易,等待刊发消息。 而最新消息显现,…...
接口优化常用思路
空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招–以空间换时间 合理使用缓存就是一个很好的例子,针对一些频繁使用且不频繁变更的数据&#…...
【SpringCloud】SpringCloud面试题整理
文章目录1、什么是Spring Cloud?2、Spring Cloud和Dubbo的区别3、REST和RPC的区别4、SpringCloud如何实现服务的注册和发现5、什么是服务熔断和服务降级?6、项目中zuul常用的功能7、服务网关的作用8、ribbon和feign区别9、ribbon的负载均衡策略10、简述什…...
一些数据库知识点总结
DB2数据库:从数据库表中第I条记录开始检索J条记录SELECT * FROM (SELECT A.*, ROW_NUMBER() OVER() AS NFROM (SELECT * FROM table_name) AS A)WHERE N > I AND N < J;Oracle数据库:从数据库表中第M条记录开始检索N条记录SELECT * FROM (SELECT R…...
Python unittest 模块
一、Unittest 的几个基本概念 TestCase :要写的具体的测试用例TestSuite: 多个测试用例集合(或测试套件/测试集)TestLoader:用来加载 TestCase 到 TestSuite中的(更通俗一点,就是用来把符合我们…...
Spring - Spring IoC 容器相关面试题总结
文章目录01. Spring IoC 和依赖注入是什么?02. Spring IoC 的优点和缺点分别是什么?03. Spring IoC 有什么作用和功能?04. Spring 依赖注入的方式?05. Spring 构造器注入和 setter 方法注入的区别?06. Spring 依赖注入…...
顺序表来喏!!!
前言:还记得前面的文章:《通讯录的实现》吗?通讯录的完成就借助了顺序表这种数据结构!!!那么今天我们就来介绍我们的顺序表介绍顺序表前,我们来了解一下线性表的概念线性表:线性表&a…...
【H2实践】之 SpringBoot 与 H2 数据交互
一、目标 本文是【H2实践】之认识 H2,【H2实践】之 SpringBoot 整合的后续。前文分别介绍了 H2 及其简单使用,并完成了 H2 与 SpringBoot 的整合。本文将紧接 【H2实践】之 SpringBoot 整合 探索实用 SpringBoot 结合 JPA 通过 web 接口操作 H2 数据库的…...
LeetCode 424. Longest Repeating Character Replacement
LeetCode 424. Longest Repeating Character Replacement https://leetcode.com/problems/longest-repeating-character-replacement/ 题目描述 You are given a string s and an integer k. You can choose any character of the string and change it to any other upperc…...
建立自己的博客(记录-不推荐)
环境安装: w10系统安装 第一步:安装git Git 官网: https://git-scm.com/ 第二步:安装Node.js Node.js官网:https://nodejs.org/zh-cn/ 使用cmd检测: node -v 第三步:安装Hexo Hexo官网:htt…...
hashmap存储方式 hash碰撞及其解决方式
1.Map的存储特点 在Map这个结构中,数据是以键值对(key-value)的形式进行存储的,每一个存储进map的数据都是一一对应的。 创建一个Map结构可以使用new HashMap()以及new TreeMap()两种方式,两者之间的区别是:…...
Amazon GuardDuty 的新增功能 – Amazon EBS 卷的恶意软件检测
亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏…...
YOLOv7 pytorch
yolov7主干部分结构图:yolov7主干 yolov7数据集处理代码:yolov7数据集处理代码 yolov7训练参数解释:yolov7训练参数【与本文代码有区别】 yolov7训练代码详解:yolov7训练代码详解 目录 训练自己的训练集 训练自己的训练集 此…...
JDK自带JVM分析工具
一、JDK自带工具盘点: jstat:性能分析-查看gc情况; jmap:内存分析-堆信息; jstack:线程分析-栈信息; jinfo:参数查看及配置; jstatd:启动jvm监控服务。它…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
