一文熟悉Latex论文排版

2023-09-22 15:31:00

相信计算机专业或者写过专业论文的同学都知道,使用Office或者WPS来控制论文的格式有多么复杂和繁琐,甚至有时候花在改论文格式上的时间甚至超过了写论文的时间,因此我们急需要使用一种更加专业实用的排版工具来满足我们的论文排版需求,因此,Latex应运而生!

1.LaTex概述

LaTex是一个专业的排版工具,LaTex在世界各地用于科学文件、书籍以及许多其他形式的出版。人们使用LaTex的重要原因之一就是它可以将论文的内容和样式分开,这一点对于长期写程序的程序员来说是比较友好的,这可以允许程序员只需要关注论文的内容,而计算机则负责格式化处理。其次,LaTex在数学和科学文档编写中非常强大。它提供了广泛的数学符号、公式、方程式和符号的输入和排版功能,使得LaTex对于有关数学、算法论文中公式的编写运用广泛。同时,LaTex配合BibTex可以方便地管理和引用参考文献,它允许生成格式一致的参考文献列表,并自动处理引用的编号和引用关系,能够极大提高文献引用的准确性和可靠性。
既然它有这么多的优点,对于初学者,可能就会有人担心它配置编译环境比较难受,不适应所见非所得的模式,写完之后遇到的各种花式报错信息更是难受。
首先,针对配置编译环境的问题,我们可以避重就轻,直接使用LaTex的在线编辑器Overleaf,从此告别错综复杂的本地环境。其次,当我们完整的使用LaTex写出一篇文章后。基本上就对它的特性有所掌握,逐步也就熟悉使用LaTex写作了。

2.LaTex结构

当你在overleaf中注册登录以后,你便可以清晰看到LaTex的初始结构内容,可以分为导言区和正文区。导言区(preamble)位于\documentclass和\begin{document}之间。

2.1导言区

在导言区,你可以进行以下操作:
1.引入宏包:使用\usepackage{宏包名称}命令引入各种宏包,以扩大LaTex的功能。这里类似于引入Java中的成熟库。
2.设置文档属性:如设置页面大小、页面距、字体、行距等。
3.定义命令:通过\newcommand或\renewcommand定义自定义命令,以简化重复使用的文本和格式。

2.2正文区

正文区(document body)位于\begin{document}和\end{document}之间。在正文区,你可以编写文档的实际内容,包括标题,段落、章节、公式、图表等。可以使用各种LaTex命令和环境排版和组织文档内容。
在这里插入图片描述

3.设置中文编辑器

这里需要注意,overleaf初始状态是不支持中文编码的,因此需要做一些操作使其支持中文,具体操作如下所示:
1.修改默认编辑器为LuaLaTex,因此它支持中文编码;
2.引入宏包\usepackage[fontset=ubuntu]{ctex};

4.LaTex编码基础

4.1添加标题、作者、日期

要将标题、作者、日期添加到文档中,只需要在导言区添加三行代码即可,具体如下所示:

\title{LaTexExample} %定义文档标题
\author{author} %定义文档作者
\date{February 2014} %定义文档日期

这里需要注意,在\date{}命令中,除了直接填充日期外,还可以使用\today命令填充,以便于实时显示最新日期。现在,你已经为文档指明了标题、作者和日期,之后,你还需要在正文区使用\maketitle命令在文档上显示此信息,具体如下图所示:
在这里插入图片描述

4.2 实现粗体、斜体以及下划线

  • 粗体:LaTex中的粗体文本使用 \textbf{内容} 命令编写。
  • 斜体:LaTex中的斜体文本使用 \textit{内容} 命令编写。
  • 下划线:LaTex中带下划线的文本使用 \underline{内容} 编写。

具体实现的LaTex代码并展示的效果如下所示:
在这里插入图片描述
这里多说一句:如果想要在文档中换行,直接在LaTex正文区空一行就可以简单实现,不需要复杂的命令和操作!

4.3添加数学公式

添加数学公式的方式主要可以分为行内公式与行间公式!行内公式用于编写作为文本一部分的公式,行间公式就是需要将公式放在单独的一行上的公式。
要想在LaTex中实现行内公式,需要使用$$或者(…);要想在LaTex实现行间公式,可以使用\begin{equation}…\end{equation}。具体示例如下所示:
在这里插入图片描述
看到这里你可能会问,这里的许多命令公式你都不知道或者不熟悉,不用急,我们只需要知道怎么用,怎么写公式,至于每个公式对应哪一个命令,在用到的时候直接查命令资料就行,具体可以查看LaTex数学公式

4.4创建列表

列表这里可以分为有序列表和无序列表,相信学过html都知道ul标签实现的是无序列表,而ol标签实现的是有序列表!具体实现列表的LaTex命令如下所示:简而言之,itemize对应的是无序列表,enumerate则对应的是有序列表,而每一项\item对应的一个列表项

\begin{itemize}
    \item 无序列表1
    \item 无序列表2
    \item 无序列表3
    %这是定义的无序列表
\end{itemize}

\begin{enumerate}
    \item 这是有序列表1
    \item 这是有序列表2
    \item 这是有序列表3
\end{enumerate}

具体实现的效果如下所示:
在这里插入图片描述

4.5 实现摘要与多节章节

写过论文或者参加过比赛的人都知道,摘要是对一篇文章的简要总结概述,在LaTex引入摘要十分简单,只需要将摘要的内容包裹在\begin{abstract}…\end{abstract}即可,具体如下所示:
在这里插入图片描述
与此同时,在论文中每一章都会有多级标题,在LaTex可以使用\section、\subsection(\section的子章节)、\subsubsection(\subsection的子标题)实现,每多一个sub就是更深一级的子章节,具体实现的效果如下所示:
在这里插入图片描述

4.6 换页和生成目录

在LaTex中可以通过命令强制换页,即\clearpage,通过该命令将会在读到该命令的位置上强制换页。
于此同时,之前我们通过\section设置章节以及它的子章节后便可以直接使用\tableofcontents 命令自动生成目录,具体实现效果如下所示:
在这里插入图片描述

4.7 图片与图表的插入

如果你要插入图片到文档中,由于我们使用的是overleaf在线编辑器,而在线编辑器是无法直接 阅读我们的本地图片资源的,因此我们首先需要上传图片资源到网站,这里直接点击左上角上传图标操作即可,具体如下所示:
在这里插入图片描述
上传图片完成后,我们直接使用命令\includegraphics即可完成图片的上传。但是你这样上传后显示会出现问题,因为图片的显示会按照图片的本来大小展示,因此这样看起来就会特别的别扭,难受,所以我们需要设置图片的宽度和高度,具体如下所示:

\documentclass{article}
\usepackage{graphicx}

\begin{document}

\includegraphics[width=0.5\textwidth]{example-image} % 设置图片宽度为文本宽度的一半

\includegraphics[height=5cm]{example-image} % 设置图片高度为5cm

\includegraphics[width=3cm, height=2cm]{example-image} % 同时设置图片的宽度和高度

\end{document}

仅仅使用\includegraphics插入图片也还是不能满足我们论文对于图片的需求,因为论文中的图片需要有标题,具体的实现可以将
\includegraphics[width=0.5\textwidth]{example-image}包裹在\begin{figure}…\end{figure},在里面添加一些额外的命令添加图片标题和引用等,具体如下所示:
在这里插入图片描述
完成图片的插入后,还需要了解表的插入,我们以一个简单的示例为例,具体如下所示:
在这里插入图片描述
tabular(表格)环境是LaTex创建表格的默认方法。你必须为此环境指定一个参数,在这种情况下为{|c|c|c|},这是告诉LaTex这里有三列,同时每列之间都有|分隔符,并且每一列中的文本需要居中。你可以使用r实现右对齐,l实现左对齐。符号&用于指定表格条目中国的分隔符,符号&必须少于列数。要转到下一行,我们使用换行命令\即可。
当然,仅仅依靠这一点简单的语法只能实现简单的表格,一旦遇到跨行跨列的表格就会出现困难,因此,我们可以使用在线网站制定满足自己需求的表格,然后自动生成LaTex代码即可,具体的网站链接为:表格生成网站
在这里插入图片描述

更多推荐

美联储如期暂停加息,非连续性加息或成常态?

KlipC报道:9月21日凌晨,美联储如期暂停加息。KlipC的合伙人AndiD表示:“”美联储在结束货币政策会议后宣布。维持当前5.25%至5.50%的联邦基金利率目标区间不变,保持在22年来最高点,这也是美联储本轮加息周期第二次按下“暂停键”。上一次是今年6月的货币政策会议。D先生指出9月议息会议联储并未继续加息,

Leetcode | 303.区域和检索-数组不可变

303.区域和检索-数组不可变欢迎关注公众号“三戒纪元”题目给定一个整数数组nums,处理以下类型的多个查询:计算索引left和right(包含left和right)之间的nums元素的和,其中left<=right实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRa

C++【个人笔记1】

1.C++的初识1.1简单入门#include<iostream>usingnamespacestd;intmain(){cout<<"helloworld"<<endl;return0;}#include<iostream>;预编译指令,引入头文件iostream.usingnamespacestd;使用标准命名空间

聊聊自动化测试路上会遇到的挑战~

一、测试范围无论是功能测试,还是自动化或者性能测试,第一步要做的,是明确测试范围和需求指标。对于自动化测试来说,特别是UI自动化,并不是所有的功能点都适合做UI自动化。根据具体的业务情况和项目稳定程度,选择UI自动化+API自动化结合,选择合适的业务点来进行针对性的自动化测试方案设计,才是最佳方案。①、使用频次较高,异

Logstash8.3.3 parse 包含a(AM PM)时间报错_dateparsefailure

遇到个奇奇怪怪的错误,我log中的时间是2023/08/2412:01:39AM,我写的格式化时间和转成东八区时间,但是就是一直报错_dateparsefailure,我反复检查了format没有问题,[xxxx][timestamp]这个字段从grok读出来也是正确的,百思不得其解。如果是这种的format的话,在g

Arduino程序设计(十三)触摸按键实验(TTP223)

触摸按键实验前言一、TTP223触摸按键模块二、触摸按键控制LED二、触摸按键状态检测前言本文介绍触摸按键控制LED的原理及实验,主要内容有:1、介绍TTP223触摸按键模块;2、触摸按键控制LED;3、触摸按键状态检测。一、TTP223触摸按键模块1、模块介绍:该模块是一个基于触摸检测IC(TTP223B)的电容式点

小样本目标检测:ECEA: Extensible Co-Existing Attention for Few-Shot Object Detection

论文作者:ZhimengXin,TianxuWu,ShimingChen,YixiongZou,LingShao,XingeYou作者单位:HuazhongUniversityofScienceandTechnology;UCAS-TerminusAILab论文链接:http://arxiv.org/abs/2309.

快速搭建接口自动化测试框架

1接口测试接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。接口自动化相对于UI自动化来说,属于更底层的测试,这样带来的好处就是测试收益更大,且维护成本相对来说较低,是我们进行自动化测试的首选2框架选型目前接口自动化的框架比较多,比如jmeter,就可以集接口自动

企业数字化转型如何成功落地

企业数字化转型是当前趋势,是企业在面对日益变化的商业环境时必须采取的关键策略之一。然而,要实现数字化转型的成功落地并不容易,需要企业有明确的目标和正确的方法。数聚将探讨一些关键的步骤和策略,帮助企业实现数字化转型的顺利落地,并在竞争激烈的市场中取得优势。第一步是明确转型目标。企业在进行数字化转型时,必须清楚地知道自己的

【springMVC】高级部分

拦截器1拦截器(Interceptor)是一种动态拦截方法调用的机制#作用:1.在指定的方法调用前后执行预先设定后的的代码2.阻止原始方法的执行#核心原理:AOP思想#拦截器链:多个拦截器按照一定的顺序,对原始被调用功能进行增强2拦截器使用步骤1实现HandlerInterceptor接口/***三个方法的运行顺序为p

UI自动化测试用例管理平台搭建

用到的工具:python3+django2+mysql+RabbitMQ+celery+seleniumpython3和selenium这个网上很多教程,我不在这一一说明;平台功能介绍:项目管理:用于管理项目。每个项目可以设置多个环境,例如开发环境,测试环境,预发布环境,生产环境等。页面管理:主要用来方便对元素进行管理

热文推荐