Latex + Overleaf 论文写作新手笔记

news2024/9/28 7:18:30

    • .tex 文件
    • main.tex 文件
  • Latex 的文档层次结构
    • 不同文档类型的层次结构
    • report 6 层结构实例
    • article 5 层结构实例
  • Latex 语法
    • 图表插入与引用
      • 使用 figure 环境来插入图片
      • 使用 ref 命令来引用已有的图
      • 表格的插入与引用
    • 代码块
    • 列表
      • 无序列表 itemize
      • 有序列表 enumerate
  • 学位论文项目实战

Overleaf 的项目是由一个或多个 .tex 文件和其他相关的文件组成的

Overleaf 官方教程

.tex 文件

.tex 文章组成:

  • 导言区 preamble
    \documentclass{article}\begin{document}
  • 正文区 document body
    \begin{document}\end{document}

.tex 文章的组成可以分为两个部分:导言区和正文区。

  • 导言区 是文档的开头部分,用于定义文档的类型、调用宏包、设置格式等。
  • 正文区是文档的主要内容部分,用于编写文档的结构、文字、图表等。
  • 导言区和正文区之间用 \begin{document}\end{document} 命令来分隔。

main.tex 文件

main.tex项目的主文件,也就是 LaTeX 首先编译的文件

  • 它包含了文档的 类型、标题、作者、日期等信息,以及 文档的正文内容
  • 它也可以调用其他的文件,例如类文件、宏包文件、章节文件等,来实现文档的功能和格式。

main.tex 文件的一般结构如下:

\documentclass[选项]{文档类型} % 定义文档的类型和选项,例如 article, report, book 等 
\usepackage[选项]{宏包名} % 调用需要的宏包,例如 graphicx, amsmath, subfiles 等 
% 其他的导言区设置,例如定义命令、设置页面、设置字体等 

\begin{document} % 文档的开始 
\title{标题} % 定义文档的标题 
\author{作者} % 定义文档的作者 
\date{日期} % 定义文档的日期 
\maketitle % 生成标题页 
\tableofcontents % 生成目录 
% 文档的正文内容,可以使用 \section, \subsection, \subsubsection 等命令来创建层次结构 
% 可以使用 \include, \input, \subfile 等命令来调用其他的文件,例如章节文件、图形文件等 
\end{document} % 文档的结束

Latex 的文档层次结构

Latex 的文档层次结构是指 文档中的不同部分,如 章节、小节、段落 等,以及它们之间的关系和编号。

LaTeX可以组织、编号和索引文档的章节和部分。根据文档类定义部分多达 7 个级别:

在这里插入图片描述

不同文档类型的层次结构

Latex 的文档层次结构取决于文档的类型,例如 article, report, book 等。不同的文档类型有不同的层次结构,如下表所示:

文档类型层次结构
articlepart, section, subsection, subsubsection, paragraph, subparagraph
reportpart, chapter, section, subsection, subsubsection, paragraph, subparagraph
bookpart, chapter, section, subsection, subsubsection, paragraph, subparagraph

在 Latex 中,可以使用以下命令来创建文档的层次结构:

  • \part{标题}:部分,用于书籍。
  • \chapter{标题}:章节,用于 report 和 book。
  • \section{标题}小节,是 最常用的层次结构命令
  • \subsection{标题}:子小节,用于细分 section 的内容。
  • \subsubsection{标题}:子子小节,继续细分。
  • \paragraph{标题}:段落,是内容。
  • \subparagraph{标题}:子段落,细分 paragraph 的内容。

这些命令会 自动为文档的层次结构进行编号,也可以通过在命令后加上 * 号来 取消编号,例如 \section*{标题}

将未编号的部分添加到目录中,使用 \addcontentsline 命令:\addcontentsline{toc}{section}{Title of the section},如下所示:

\addcontentsline{toc}{section}{Unnumbered Section}
\section*{Unnumbered Section}
An unnumbered section

report 6 层结构实例

\documentclass{report} 的顶级命令是创建章节 \chapter{title},以这 6 层举例:

chaptersectionsubsectionsubsubsectionparagraphsubparagraph

  • 代码展示:
\documentclass{report}
\title{Sections and Chapters}
\author{Overleaf}
\date{\today}

\begin{document}
\maketitle
\tableofcontents
\chapter{An Introduction to Lua\TeX}

\section{What is it—and what makes it so different?}
Lua\TeX{} is a \textit{toolkit}—it contains sophisticated software tools and components with which you can construct (typeset) a wide range of documents. The sub-title of this article also poses two questions about Lua\TeX: What is it—and what makes it so different? The answer to “What is it?” may seem obvious: “It’s a \TeX{} typesetting engine!” Indeed it is, but a broader view, and one to which this author subscribes, is that Lua\TeX{} is an extremely versatile \TeX-based document construction and engineering system.

\subsection{Explaining Lua\TeX: Where to start?}
The goal of this first article on Lua\TeX{} is to offer a context for understanding what this TeX engine provides and why/how its design enables users to build/design/create a wide range of solutions to complex typesetting and design problems—perhaps also offering some degree of “future proofing” 

\chapter{Lua\TeX: Background and history}
\section{Introduction}
Lua\TeX{} is, in \TeX{} terms, “the new kid on the block” despite having been in active development for over 10 years.

\subsection{Lua\TeX: Opening up \TeX’s “black box”}
Knuth’s original \TeX{} program is the common ancestor of all modern \TeX{} engines in use today and Lua\TeX{} is, in effect, the latest evolutionary step: derived from the pdf\TeX{} program but with the addition of some powerful software components which bring a great deal of extra functionality.
\end{document}
  • 编译效果展示:
    在这里插入图片描述

article 5 层结构实例

\section\documentclass{article} 文档中的顶级文档命令,以这 5 层举例:

sectionsubsectionsubsubsectionparagraphsubparagraph

  • 代码展示:
\documentclass{article}
   \title{USTC}                   %———总标题
   \author{USTCer}
\begin{document}
   \maketitle                                  % —— 显示标题
\tableofcontents                               %—— 制作目录(目录是根据标题自动生成的)
   \section{China}                             %——一号子标题  China is in East Asia.
     \subsection{Anhui}                      %——二号子标题  Beijing is the capital of China.
       \subsubsection{Hefei}                    %——三号子标题
         \paragraph{USTC}is a famous university.  %{}中的内容加粗显示
           \subparagraph{Mathematics and physics} is the best institute of USTC.
       \subsection{State Key Laboratory of ISN }
         \paragraph{USTC} is the best university in quantum information. 
\end{document}
  • 编译效果展示:
    在这里插入图片描述
  • 项目展示
    在这里插入图片描述

Latex 语法

图表插入与引用

使用 figure 环境来插入图片

\begin{figure}[h]
  \centering
  \includegraphics[width=0.7\textwidth]{前向过程和后向过程.png} %---.png是图片文件的相对路径
  \caption{扩散模型的前向过程和后向过程} %caption是图片的标题
  \label{fig:forward_backward} %此处的label相当于一个图片的专属标志,目的是方便上下文的引用
\end{figure}
  • h 表示图片应该放置在当前位置,而不是浮动到页面的顶部或底部。
  • \centering 命令将图片居中。
  • \includegraphics 命令用于插入图片。
  • width 选项指定图片的宽度,0.5\textwidth 表示图片的宽度为文本宽度的一半。
  • \caption 命令用于添加图片标题,
  • \label 命令用于添加标签,以便在文本中引用图片。

使用 ref 命令来引用已有的图

要引用一张图片,需要在插入图片时使用 \label 命令为其添加一个标签,然后在需要引用该图片的地方使用 \ref 命令并提供该标签的名称。

\begin{figure}[h]
  \centering
  \includegraphics[width=0.7\textwidth]{前向过程和后向过程.png}
  \caption{扩散模型的前向过程和后向过程}
  \label{fig:forward_backward}
\end{figure}

如图 \ref{fig:forward_backward} 所示,这是扩散模型的前向过程和后向过程。

\label 命令用于为图片添加标签,\ref 命令用于引用该标签。

在引用图片时,可以使用 \ref 命令并提供标签名称,如 \ref{fig:my_label}。这将在文本中生成一个链接,指向该图片的位置。

效果如图所示,

在这里插入图片描述

表格的插入与引用

\section{三线表}

三线表是《撰写手册》推荐使用的格式,如表\ref{tab:exampletable}\begin{table}[h]
  \centering
  \caption{表号和表题在表的正上方}
  \label{tab:exampletable}
  \begin{tabular}{cl}
    \toprule
    类型   & 描述                                       \\
    \midrule
    挂线表 & 挂线表也称系统表、组织表,用于表现系统结构 \\
    无线表 & 无线表一般用于设备配置单、技术参数列表等   \\
    卡线表 & 卡线表有完全表,不完全表和三线表三种       \\
    \bottomrule
  \end{tabular}
  \note{注:表注分两种,第一种是对全表的注释,用不加阿拉伯数字排在表的下边,
    前面加“注:”;第二种是和表内的某处文字或数字相呼应的注,
    在表里面用带圈的阿拉伯数字在右上角标出,然后在表下面用同样的圈码注出来}
\end{table}

在这里插入图片描述

代码块

在 LaTeX 中,可以使用 listings 宏包来放置代码块。下面是一个简单的示例:

\usepackage{listings}

\begin{lstlisting}[language=Python]
# 这是一段 Python 代码
def hello_world():
    print("Hello, World!")
\end{lstlisting}

使用了 listings 宏包来放置一段 Python 代码。

  • 可以使用 language 参数来指定代码块的语言。
  • 如果不指定语言,listings 宏包将默认使用 TeX 语言。

列表

无序列表 itemize

无序列表是指不需要特定顺序的列表,通常用符号(如圆点)来标记每一项。

在 LaTeX 中,创建无序列表的方法是使用 itemize 环境,其中每一项都以 \item 命令开始,例如:

\begin{itemize}
	\item 第一项
	\item 第二项
	\item 第三项
\end{itemize}

这样就会生成如下的输出:

  • 第一项
  • 第二项
  • 第三项

如果想改变符号的样式,可以在 \item 命令后面加上自定义的符号,需要在 \item 后面加上 $ 符号,才能使用数学符号作为标记,例如:

\begin{itemize}
	\item[$-$] 破折号
	\item[$\ast$] 星号
	\item[$\heartsuit$] 爱心
\end{itemize}

这样就会生成如下的输出:

爱心

有序列表 enumerate

\begin{enumerate}
    \item 作者考虑的三个类中的每一个都包含超过一百万张图像。
    \item 数据集创建者发现,当由训练有素的专家测量时,整个 LSUN 数据集的标签准确率约为90%。
    \item 图片是从互联网上抓取的,尤其是 LSUN 猫的图片往往遵循“迷因”格式。
    \item 这些照片中偶尔会出现人类,包括面孔,尤其是在猫类中。
\end{enumerate}

在这里插入图片描述

学位论文项目实战

导入一个模板,没啥好说的,自己捣鼓捣鼓就会了。

在这里插入图片描述
无PDF,“此编译未生成PDF。。。。”

遇到这个报错,可能是由 PDF 文件的版本过高,导致 PdfLaTex 无法正确处理它。PdfLaTex 默认使用的是 PDF 1.5 的格式,而 XeLaTex 可以支持更高的 PDF 版本,例如 PDF 1.7。将默认的 PdfLaTex 编译器改为 XeLaTex,重新编译

在这里插入图片描述

项目里文件太多,可以创建不同文件夹,

  • bib 文件夹:存放 参考文献 的信息,通常是 .bib 格式的文件。可以使用 \cite 命令在文档中引用这些文献,然后使用 \bibliography 命令生成参考文献列表。
  • chapters 文件夹:存放 文档的各个章节,通常是 .tex 格式的文件。可以使用 \include 命令在主文件中插入这些章节,让项目更加清晰和有序。
  • figures 文件夹:存放 文档中使用的图形,通常是 .png.jpg.pdf 等格式的文件。可以使用 \includegraphics 命令在文档中插入这些图形,然后使用 \caption\label 命令给它们添加标题和标签。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1363894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用Type类来获得字段名称(Unity C#中的反射)

使用Type类以前需要引用反射的命名空间: using System.Reflection; 以下是完整代码: public class ReflectionDemo : MonoBehaviour {void Start(){A a new A();B b new B();A[] abArraynew A[] { a, b };foreach(A v in abArray){Type t v.GetTyp…

【CSS】文字描边的三种实现方式

目录 1. 可行的几种方式1.1. text-shadow 描边代码优缺点 1.2. text-stroke 描边实现优缺点 1.3. svg 描边实现优缺点 总结 1. 可行的几种方式 text-shadow–webkit-text-strokesvg 1.1. text-shadow 描边 MDN text-shadow 代码 <div class"text stroke">…

OpenMMlab导出CenterNet模型并用onnxruntime和tensorrt推理

导出onnx文件 直接使用脚本 import torch import torch.nn.functional as F from mmdet.apis import init_detectorconfig_file ./configs/centernet/centernet_r18_8xb16-crop512-140e_coco.py checkpoint_file ../checkpoints/centernet_resnet18_140e_coco_20210705_093…

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使用…

DNS安全与访问控制

一、DNS安全 1、DNSSEC原理 DNSSEC依靠数字签名保证DNS应答报文的真实性和完整性。权威域名服务器用自己的私有密钥对资源记录&#xff08;Resource Record, RR&#xff09;进行签名&#xff0c;解析服务器用权威服务器的公开密钥对收到的应答信息进行验证。如果验证失败&…

5年经验之谈 —— 探索自动化测试用例设计粒度!

自动化测试用例的粒度指的是测试用例的细致程度&#xff0c;即每个测试用例检查的功能点的数量和范围。 通常&#xff0c;根据测试用例的粒度&#xff0c;可以被分为3种不同的层次&#xff0c;从更低层次的细粒度到更高层次的粗粒度。 第一种&#xff1a;单元测试 - 细粒度 单…

【IC设计】移位寄存器

目录 理论讲解背景介绍什么是移位寄存器按工作模式分类verilog语法注意事项 设计实例循环移位寄存器算术双向移位寄存器5位线性反馈移位寄存器伪随机码发生器3位线性反馈移位寄存器32位线性反馈移位寄存器串行移位寄存器&#xff08;打4拍&#xff09;双向移位寄存器&#xff1…

设置输入法默认为英文

1、进入语言首选项 2、添加首选的语言&#xff0c;选英文 3、 选择始终默认使用的输入法 4、选择默认语言 5、输入语言热键

LeetCode刷题:面试题 02.01. 移除重复节点

题目&#xff1a; 是否独立完成&#xff1a;算是&#xff0c;但是使用自己的办法时间复杂度会超标 解题思路&#xff1a; 1.双循环嵌套&#xff0c;定义快慢节点&#xff0c;双层嵌套循环&#xff0c;如果值一样则剔除&#xff0c;但是时间复杂度为O&#xff08;n&#xff09;…

数据交互系列:认识 cookie

cookie的原理 http本身是一个无状态的请求&#xff0c;cookie最初的原始目的是为了维持状态而产生的。在首次访问网站时&#xff0c;浏览发送请求中并未携带cookie&#xff0c;即发送无状态请求服务器接受请求之后会在请求上的respond header上加入cookie相关信息并返回给浏览…

【计算机组成原理】通过带符号整数的减法运算中加法器的溢出标志 OF 和符号标志 SF 对两个带符号整数的大小进行比较

对于带符号整数的减法运算&#xff0c;能否直接根据 CF 的值对两个带符号整数的大小进行比较&#xff1f; 对于带符号整数的减法运算&#xff0c;不能直接根据CF&#xff08;进/借位标志&#xff09;的值对两个带符号整数的大小进行比较。 CF标志位在带符号整数运算中主要用于…

使用Python+selenium3.0实现第一个自动化测试脚本

这篇文章主要介绍了使用Pythonselenium实现第一个自动化测试脚本&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧 最近在学web自动化&#xff0c;记录一下学习过程。…

冬天夺去的清爽,可爱,春天都会还给你

这款外套上身可太时尚好看了 春天日常穿着或者出行游玩 应对早晚温差&#xff0c;兼具时尚和温度两不误 干净率性闲适的洒脱范整件衣服干净不失细节 下摆有橡筋收紧更加保暖了工艺方面也毫不逊色&#xff0c;防水拉链 四合扣、猪鼻扣一应俱全简直就是一件实用与时尚并存的…

Spring Boot实现数据加密脱敏:注解 + 反射 + AOP

文章目录 1. 引言2. 数据加密和脱敏的需求3. Spring Boot项目初始化4. 敏感数据加密注解设计5. 实现加密和脱敏的工具类6. 实体类和加密脱敏注解的使用7. 利用AOP实现加密和脱敏8. 完善AOP切面9. 测试10. 拓展功能与未来展望10.1 加密算法的选择10.2 动态注解配置 11. 总结 &am…

ReentrantLock底层原理学习一

J.U.C 简介 Java.util.concurrent 是在并发编程中比较常用的工具类&#xff0c;里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。并发包的作者是大名鼎鼎的 Doug Lea。我们在接下来的课程中&#xff0c;回去剖析一些经典的比较…

【Docker基础三】Docker安装Redis

下载镜像 根据自己需要下载指定版本镜像&#xff0c;所有版本看这&#xff1a;Index of /releases/ (redis.io) 或 https://hub.docker.com/_/redis # 下载指定版本redis镜像 docker pull redis:7.2.0 # 查看镜像是否下载成功 docker images 创建挂载目录 # 宿主机上创建挂…

AQS 抽象队列同步器

AQS AQS &#xff08;抽象队列同步器&#xff09;&#xff1a; AbstractQueuedSynchronizer 是什么 来自jdk1.5&#xff0c;是用来实现锁或者其他同步器组件的公共基础部分的抽象实现&#xff0c;是重量级基础框架以及JUC的基石&#xff0c;主要用于解决锁分配给谁的问题整体…

vue2中vuex详细使用

1.安装 说明&#xff1a;也就是版本号&#xff0c;一般vue2安装vuex3。 npm i vuex3.6.2 2.搭建架子 执行流程如下&#xff1a; 初始化状态&#xff1a;在state对象中定义了一个名为message的属性&#xff0c;并将其初始值设置为"启动"。 定义变更函数&#xff08…

【算法专题】FloodFill 算法

FloodFill 算法 1. 图像渲染 题目链接 -> Leetcode -773.图像渲染 Leetcode -773.图像渲染 题目&#xff1a;有一幅以 m x n 的二维整数数组表示的图画 image &#xff0c;其中 image[i][j] 表示该图画的像素值大小。 你也被给予三个整数 sr, sc 和 newColor 。你应该从…

jumpServer-02-安装与配置

jumpServer-02-安装与配置 文章目录 jumpServer-02-安装与配置一、什么是jumpServer&#xff1f;二、jumpServer安装配置①&#xff1a;初始化配置01&#xff1a;Linux服务器准备02&#xff1a;环境准备&#xff0c;关闭防火墙03: 配置yum源04&#xff1a;安装系统初始化所需的…