当前位置: 首页 > news >正文

国科大论文latex模板中可能的注意事项

背景

国科大2022年9月发布了毕业论文的LaTeX模板,它是在ucasthesis上修改而来的,但近日使用国科大发布版本时发现有几点不同以及需要注意的地方。本人只会简单使用latex,但并不熟悉latex样式编辑,因此以下介绍与方法仅供参考。仅在overleaf上测试可行,不保证其它环境,注意备份!

一 不同与注意事项

  1. 默认行距不同,根据需求在"Style/artratex.sty"文件内修改。参考ucasthesis 知识小站-行距设置
\linespread{1.25}
  1. 默认引用格式不同,ucasthesis默认是用括号显示作者信息,国科大修改的是右上标数字。参考ucasthesis 知识小站-文献样式
%修改第一个参数,super 为上标顺序引用
\usepackage[super,list,table,math]{Style/artratex}
  1. 图表目录的样式不同。ucasthesis中是分开单独成章节的“图形列表”和“表格列表”,国科大修改的版本是图表合做一个章节"图表目录”连续显示,但里面有”图目录“和“表目录”。国科大修改的版本当内容增多时会出现第一个奇数页不显示为“图表目录”的问题,后续页面显示正常
    在这里插入图片描述
    在这里插入图片描述
  2. 图表、公式的序号格式不同。ucasthesis是“图1.1",中间是点号,国科大版本中间是横杠。这是因为国科大的图表文件”figuretable.tex"中添加了下面三行语句,更新了相关命令,中间设置的横杠。
\renewcommand{\thefigure}{\thechapter-\arabic{figure}}
\renewcommand{\thetable}{\thechapter-\arabic{table}}
\renewcommand{\theequation}{\thechapter-\arabic{equation}}
  1. 附录与参考文献的顺序不同。ucasthesis是附录在前,国科大修改版本相反。在国科大修改版本的"Appendix.tex"中添加小节section,会出现序号错误,没有章节序号。然后附录的页眉信息可能显示的是章节标题。
    在这里插入图片描述
  2. 添加代码。可以使用listings包,在artracom.sty文件添加包
\RequirePackage{listings}
  1. 图表标题太长不居中,参考ucasthesis 知识小站-图表标题太长不居中
  2. 编译器要选择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%,随后,公司宣布盘前暂停交易,等待刊发消息。 而最新消息显现&#xff0c…...

接口优化常用思路

空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第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数据库&#xff1a;从数据库表中第I条记录开始检索J条记录SELECT * FROM (SELECT A.*, ROW_NUMBER() OVER() AS NFROM (SELECT * FROM table_name) AS A)WHERE N > I AND N < J;Oracle数据库&#xff1a;从数据库表中第M条记录开始检索N条记录SELECT * FROM (SELECT R…...

Python unittest 模块

一、Unittest 的几个基本概念 TestCase &#xff1a;要写的具体的测试用例TestSuite&#xff1a; 多个测试用例集合&#xff08;或测试套件/测试集&#xff09;TestLoader&#xff1a;用来加载 TestCase 到 TestSuite中的&#xff08;更通俗一点&#xff0c;就是用来把符合我们…...

Spring - Spring IoC 容器相关面试题总结

文章目录01. Spring IoC 和依赖注入是什么&#xff1f;02. Spring IoC 的优点和缺点分别是什么&#xff1f;03. Spring IoC 有什么作用和功能&#xff1f;04. Spring 依赖注入的方式&#xff1f;05. Spring 构造器注入和 setter 方法注入的区别&#xff1f;06. Spring 依赖注入…...

顺序表来喏!!!

前言&#xff1a;还记得前面的文章&#xff1a;《通讯录的实现》吗&#xff1f;通讯录的完成就借助了顺序表这种数据结构&#xff01;&#xff01;&#xff01;那么今天我们就来介绍我们的顺序表介绍顺序表前&#xff0c;我们来了解一下线性表的概念线性表&#xff1a;线性表&a…...

【H2实践】之 SpringBoot 与 H2 数据交互

一、目标 本文是【H2实践】之认识 H2&#xff0c;【H2实践】之 SpringBoot 整合的后续。前文分别介绍了 H2 及其简单使用&#xff0c;并完成了 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…...

建立自己的博客(记录-不推荐)

环境安装&#xff1a; w10系统安装 第一步&#xff1a;安装git Git 官网: https://git-scm.com/ 第二步&#xff1a;安装Node.js Node.js官网&#xff1a;https://nodejs.org/zh-cn/ 使用cmd检测&#xff1a; node -v 第三步&#xff1a;安装Hexo Hexo官网&#xff1a;htt…...

hashmap存储方式 hash碰撞及其解决方式

1.Map的存储特点 在Map这个结构中&#xff0c;数据是以键值对&#xff08;key-value&#xff09;的形式进行存储的&#xff0c;每一个存储进map的数据都是一一对应的。 创建一个Map结构可以使用new HashMap()以及new TreeMap()两种方式&#xff0c;两者之间的区别是&#xff1a…...

Amazon GuardDuty 的新增功能 – Amazon EBS 卷的恶意软件检测

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术&#xff0c;观点&#xff0c;和项目&#xff0c;并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏…...

YOLOv7 pytorch

yolov7主干部分结构图&#xff1a;yolov7主干 yolov7数据集处理代码&#xff1a;yolov7数据集处理代码 yolov7训练参数解释&#xff1a;yolov7训练参数【与本文代码有区别】 yolov7训练代码详解&#xff1a;yolov7训练代码详解 目录 训练自己的训练集 训练自己的训练集 此…...

JDK自带JVM分析工具

一、JDK自带工具盘点&#xff1a; jstat&#xff1a;性能分析-查看gc情况&#xff1b; jmap&#xff1a;内存分析-堆信息&#xff1b; jstack&#xff1a;线程分析-栈信息&#xff1b; jinfo&#xff1a;参数查看及配置&#xff1b; jstatd&#xff1a;启动jvm监控服务。它…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...