当前位置: 首页 > 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监控服务。它…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...